Translate

marți, 8 noiembrie 2011

Semafor controlat de Arduino

Ca o scurta aplicatie a ceea ce am prezentat deja, vom incerca sa facem inca un mic proiectel; un semafor. Materiale necesare:
Materiale necesare: breadboard, fire, Arduino Board, LED Brick
  • Arduino board
  • Led-uri (verde, rosu, galben)
  • Rezistente (de 220 Ohm ar trebui sa fie suficiente)
  • Fire
Vom realiza un fel de tabel de adevar; acesta va prezenta algoritmul semaforului in pasi:
  1. Rosu
  2. Rosu + Galben
  3. Verde
  4. Galben
Acestia sunt pasii pe care ii va parcurge in timpul executarii functiei loop. Inainte de proiect trebuie sa stabilim intervalele de timp pentru fiecare pas; asadar rosu va dura 20 secunde, rosu+galben 1 secunda, verde 20 secunde, galben o secunda. Valorile le puteti schimba; pentru ca ar trebui sa stiti deja cum. Schema acestui circuit:


Conexiunile care trebuie facute:
led rosu-D10 (digital 10)
    led galben-D9
    led verde-D8 (se observa in schema ca exista acele rezistente).
La sfarsit, circuitul va arata cam asa:
Circuitul final

Pasul urmator: programul care trebuie rulat. Acesta arata cam asa:

int redLed=10;
int yelLed=9;
int grnLed=8;

void setup(){
pinMode(redLed,OUTPUT);
pinMode(yelLed,OUTPUT);
pinMode(grnLed,OUTPUT);}

void loop(){
digitalWrite(grnLed,LOW);
digitalWrite(yelLed,LOW);
digitalWrite(redLed,HIGH);
delay(20000);
digitalWrite(yelLed,HIGH);
delay(1800);
digitalWrite(redLed,LOW);
digitalWrite(yelLed,LOW);
digitalWrite(grnLed,HIGH);
delay(20000);
digitalWrite(grnLed,LOW);
digitalWrite(yelLed,HIGH);
delay(1800);}

Acest proiect nu ar trebui sa puna niciun fel de probleme; trebuie doar atentie si rabdare. Eu am folosit niste elemente numite brick. Acestea fac parte din primul meu kit Arduino (pe care l-am primit de la colegii mei de facultate si carora vreau sa le multumesc pe aceasta cale). Ele sunt, de fapt niste componente foarte scumpe care se pot conecta aproape (pentru ca toate GND se conecteaza in acelasi punct) direct la Arduino. LED brick-ul de fapt este un PCB care contine un LED si o rezistenta. Costurile unui brick se ridica la 5 lei sau chiar 8; componentele esentiale nu costa nici macar 1 leu. Eu le-am folosit pentru ca le aveam si ca era mai comod.

2 comentarii:

  1. am si eu o intrebare cand dau upload imi apare eroarea avrdude: ser_send(): write error: sorry no info avail . Din ce cauza???? am facut conexiunile perfect

    RăspundețiȘtergere
    Răspunsuri
    1. Salut,

      O scurta cautare pe google m-a trimis pe acest site
      http://www.ladyada.net/learn/arduino/help.html

      Se pare ca eroarea pe care o primesti are 2 cauze posibile:
      1.nu ai selectat portul care trebuie din softul Arduino.
      2.nu ai instalat driverele necesare.

      Solutiile pe care el ai la dispozitie:
      1.pt problema 1:
      conectezi placa arduino la calculator, intri in IDE, in Tools>Serial Port. O sa ai acolo COM X... mai multe porturi. Iesi din IDE, deconectezi placa de la calculator, pornesti iar IDE-ul, Tools>Serial Ports si vezi ce COM a disparut din lista. Portul care a disparut este portul la care este conectat Arduino. Reconectezi Arduino la calculator si selectezi portul corect si ar trebui sa fie OK.

      2.pt problema 2:
      Driverul pentru arduino el gasesti in folderul DRIVERS. Face parte din arhiva pe care o descarci de pe arduino.cc

      Ștergere