Astabil cu led-uri folosind microcontroller PIC16F876 si ARDUINO

 

Una din schemele folosite pentru intelegerea electronicii este astabilul cu 2 led-uri. Schema initiala este formata din: 2 led-uri, 2 tranzistori, 2 condensatori, 4 rezistori si binenteles sursa de alimentare de 9-12V sau o baterie de 9-12V.
Acest montaj se folosea la automobilul DACIA 1300, 1310 pentru a indica starea bateriei.
In figura urmatoare este prezentata schema initiala ( originala ):

schema-tranzistori

 

Vom lua aceasta schema si o realizam folosind un microcontroller PIC16F876 si apoi folosind placa de dezvoltare ARDUINO MEGA 2560.

 

Schemele sunt realizate in PROTEUS v8.0 iar fisierele cu codul sursa sunt realizate in MikroC Pro for PIC respective ARDUINO. Toate schemele sunt simulate folosind PROTEUS v8.0

 

SCHEMA ASTABIL CU 2 LED-URI FOLOSIND PIC16F876

schema-micro-pic

 

Codul sursa:
void main()
 {
  PORTB=0;
  TRISB = 0;                                          // definim portul B ca fiind de iesire
    while(1)
    {
     PORTB=0b00000010;                // aprindem ledul de la RB1
     Delay_ms(1000);                         // il tinem aprins 1 secunda
     PORTB=0b00000000;               // stingem ledul de la RB1
     PORTB=0b00100000;                // aprindem ledul de la RB5
     Delay_ms(1000);                         // il tinem aprins 1 secunda
     PORTB=0b00000000;                // stingem ledul de la RB5
     }
}
SCHEMA ASTABIL CU 2 LED-URI FOLOSIND ARDUINO MEGA 2560

schema-micro-arduino

 

Codul sursa:
 
void setup()
{
  pinMode(51,OUTPUT);               //configuram pinul 51 ca fiind de iesire
  pinMode(52,OUTPUT);             //configuram pinul 52 ca fiind de iesire
}
void loop()
{
  digitalWrite(51, HIGH);                //aprindem led-ul de la pinul 51
  delay(1000);                                 //il tinem aprins 1 secunda
  digitalWrite(51, LOW);              //oprim led-ul de la pinul 51
  digitalWrite(52, HIGH);               //aprindem ledul de la pinul 52
  delay(1000);                                //il tinem aprins 1 secunda
  digitalWrite(52, LOW);              //oprim ledul de la pinul 52
}


 

 

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *