Arduino

Bibliografie

  1. Robofun, Arduino pentru incepatori1), 2013
  2. Massimo Banzi, Getting Started with Arduino, O'Reilly Media, 2008
  3. Arduino, Getting Started, http://arduino.cc/en/Guide/HomePage

Programe

Arduino este un set de placi de dezvoltare concepute special pentru incepatori.

Elemente componente

Arduino este cpompus din:

  • Microcontroller ATMega2)
  • Sursa de tensiune cu stabilizare
  • Legatura USB pentru calculator peste care este simulata o conexiune seriala
  • Un led ce este aprins daca placa functioneaza
  • Un led pentru utilizare

Structura programului

Cand scriem programe pentru Arduino nu trebuie sa scriem functia main(). Aceasta este deja scrisa si arata in felul urmator:

int main()
{
	setup();
	for(;;)
	{
		loop();	
	}
}

Initial se apeleaza functia setup() unde vor avea loc initializarile. Apoi urmeaza o bucla infinita in care se apeleaza functia loop(). De observat ca functia main() nu returneaza niciodata o valoarea. Acest lucru se intampla deoarece programul nostru este singurul care ruleaza pe Arduino, nu mai exista un altul. Daca programul nostru se termina, microcontrollerul va executa alte instructiuni la intamplare care pot dauna.

Concluzia: singurele functii pe care trebuie sa le scriem sunt setup() si loop(). Scheletul unui program pentru Arduino arata asa:

void setup()
{
 
}
 
void loop()
{
 
}

Functii importante

1. pinMode(numarul_pinului, INPUT / OUTPUT)

  • Functia primeste doi parametrii: numarul unui pin si o constanta INPUT sau OUTPUT. Aceasta initializeaza un pin si precizeaza daca acesta este de intrare sau iesire.

Este foarte important sa definim corect INPUT/OUTPUT deoarece in momentul declarari se produc modificari hardware: o intrare trebuie sa aiba rezistena foarte mare, iar o iesire trebuie sa aiba rezistenta foarte mica.

2. digitalWrite(pin,value)

  • Functia primeste doi parametrii: numarul pinului si valoarea pe care dorim sa o dam pinului: HIGH sau LOW.
  • HIGH inseamna ca tensiunea va fi 5V, iar LOW inseamna ca tensiunea va fi 0V.
  • In general, pe Arduino pinii digitali sunt numerotati intre 0 si 13.

3. digitalRead(pin)

  • Functia citeste valoarea digitala de pe un pin declarat ca INPUT.
  • Aceasta functie returneaza HIGH sau LOW.
  • HIGH = tensiunea de aproximativ 5V pe pin si LOW = tensiunea aproximativ egala cu 0V.

4. delay(time)

  • Functia realizeaza o pauza de „time“ milisecunde.
  • Controllerul nu va executa nici o instructiune in acel interval.

5. analogWrite(pin,value)

  • scrie o valoare analogica pe un pin declara ca OUTPUT
  • se poate folosi doar pe PINI de PWM.
  • value poate lua valori intre 0 si 255. 0 inseamna 0V, 255 inseamna 5V, iar 127 este aproape 2.5V.

PWM (Pulse-Width Modulation) ne ajuta sa simulam un output analogic pe un pin digital. In functie de lungimea de unda a impulsului tensiunea de iesire difera.

Sursa: www.arduino.cc

6. analogRead(pin)

  • Returneaza o valoarea intre 0 si 1023 in functie de tensiunea care exista pe un pin analogic.

Referinte

sisteme_integrate/cursuri/curs2.txt · Ultima modificare: 2013/08/06 00:45 de către bogdan.vlad
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0