Cum sa rulezi un program pe placa

Introducere in ARDUINO #2 ( C/C++)

In tutorialul precedent, am vorbit despre Arduino, ce este, de ce se ocupa si ce alte materiale mai avem nevoie pentru a-l folosi. Acum o sa ai o introducere in programarea unei astfel de placi.

Placa de dezvoltare contine un procesor, asemanator aceluia al calculatorului (doar ca la dimensiuni si capabilitati mult mai reduse) dar functioneaza putin diferit. Procesorul sau ruleaza un singur program ce va fi scris de ultilizator intr-un limbaj de programare asemanator C++.

Pentru cei ce nu au mai programat nimic, niciodata, nu trebuie sa va speriati, programarea este o abilitate usor de invatat si va poate invata cum sa ganditi mai limpede si mai usor.


Programarea placii Arduino

Sa trecem la subiect, programul nostru il vom scrie in ARDUINO IDE, (click pentru a descarca) un program ce ne va perimite sa folosim arduino si sa il programam.

Programul are 2 parti, prima parte este partea de initializare: setup(), programul scris aici va rula o singura data dupa ce vom alimenta placa Arduino, iar a doua parte loop()ce vom scrie aici se va rula incontinuu pana se va opri alimentarea placii.


ss_ard

puteti retine urmatoarele chestiuni: (le vom discuta in urmatoarele tutoriale):

  1. void = tipul functiei (functie ce nu returneaza nimic) .
  2. // = comentariu (nu este o linie de cod, nu este rulat de catre procesor.

Mai jos va voi arata un program ce va transmite curent unui pin (5v) pentru a aprinde un led.

ss_BLINKRO

Programul: 

void setup() {
  // initializam pinul DIGITAL LED_BUILTIN ca si pin de iesire.
  pinMode(LED_BUILTIN, OUTPUT);
}

// functia 'loop' ruleaza incontinuu
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // aprinde LED-UL (HIGH = voltajul pinului este maxim)
  delay(1000);                       // asteptam o secunda (1000ms = 1s)
  digitalWrite(LED_BUILTIN, LOW);    // stingem LED-ul, inchizand curentul din pinul respectiv (LOW = voltajul pinului = 0)
  delay(1000);                       // mai asteptam o secunda
}
// programul se va intoarce la inceputul functiei loop si va rula iarasi programul, adica iar aprinde LED-ul, etc...

Din programul afisat ar trebui sa intelegeti cum functioneaza declarariile pinilor si delay-ul.

  1. LED_BUILTIN = ledul deja integrat in arduino (fiecare placa are un led integrat in ea si fiecare led integrat corespunde unui pin, placa ARDUINO UNO are pin-ul 13 corespunzator LED-ului integrat)
  2. OUTPUT = iesire
  3. delay = intarziere ( in milisecunde: 1000ms = 1 s)
  4. digitalWrite = scriere digitala (poate aprinde / stinge un pin)
  5. LOW = tensiune joasa
  6. HIGH = tensiune ridicata

Putem accesa pinul integrat in placa ( PINUL 13) si asa:

digitalWrite(13, HIGH); // deschide pinul 13 (integrat) din placa ARDUINO UNO
digitalWrite(13, LOW); // inchide pinul 13 ...

Daca vrem sa conectam un LED si sa-l controlam este la fel de usor:

ard_LED

Primul lucru ce il vom face este sa alegem un pin al placii. Aam ales pinul 13 ca sa fie mai usor de inteles. Vom conecta catoda led-ul la GND (masa, – ) si la anod-ul LED-ului printr-o rezistenta la pinul 13. (pin ce ii va da 5v) Vom rula programul de mai sus.

Fiindcă LED-ul este conectat la pinul 13, programul va rula si cu initializarea LED_BUITIN altfel ar trebuii sa punem in loc de LED_BUILTIN numarul pinului (1, 2, 3, etc).

Daca ai fost atent acum ar trebui sa poti sa iti programezi placa singur si sa te joci cu LED sau mai multe. Ne vedem in urmatorul tutorial.

Daca ai trecut cu bine peste acest tutorial, poti sa incerci cateva proiecte chiar aici.

Un gând despre &8222;Introducere in ARDUINO #2 ( C/C++)&8221;

Comentariile nu sunt permise.