Lectia #2: Analiza Codului - Part 1
Introducere
Ok. Am facut primul pas spre a-ti da seama cum Arduino functioneaza.
Acum este timpul pentru a-ti crea propriul cod. Vom incepe modificand ceva ce deja avem si functioneaza.
La inceput analizam fiecare instructiune din cod dupa care ne vom aventura in ,,hacking-ul" codului.
Blinking Led
Porniti soft-ul Arduino de pe calculator si deschideti codul ,,Blink Led", asa cum am facut in Lectia #1.
Toate codurile de calculator, inclusiv cele de Arduino sunt scrise ca un document...doar scris.
Atunci cand da-ti Compile/Verify din meniu, soft-ul Arduino verifica fiecare sintaxa/instructiune din cod si transforma codul text pe care l-ati scris in cod masina, adica in cod binar. Este posibil sa existe momente cand soft-ul Arduino va va da o eroare de compilare. In momentul acela va trebui sa revizuiti partea eronata si reparata.
Dupa cum v-am mai spus si inainte codurile de Arduino sunt scrise in limajele de programare C#/C++.
Commenturile
Dupa cum se poate observa ceea ce am postat mai sus este un comment.
Scopul unui comment este de a ajuta oamenii sa inteleaga codul mai usor prin postarea informatiilor ajutatoare.
Deschiderea unui comment se face cu atributul ,,/*", continuarea unui comment pe rand nou se face cu atributul ,,*", iar inchiderea acestuia cu ,,*/".
De asemenea se pot face commentarii si in lateralul instructiuniilor. Singurul atribut ce poate fi dat este ,,//" si este pozitionat inaintea commentului.
Variabilele
Haideti sa ne uitam la urmatoarea linie...
,,ledPin" este numele variabilei caruia ii se atribuie valoarea 13, iar ,,int" indica valoarea variabilei.
Variabilele au intotdeauna o adresa alocata, si sunt stocate in memoria RAM.
De asemenea, in C#/C++ trebuie sa tineti cont ca semnul "=" nu inseamna egal, ci inseamna ca se atribuie o valoare unei variabile. Semnul egal arata in modul urmator: "==".
Dar despre operatorii logici vom vorbi la momentul potrivit.
Acesta este un tabel cu variabilele ce pot fi folosite in soft-ul Arduino.
De asemnea, mai exista si tipul de date bool de 1octet care poate lua valoarea ,,true" sau ,,false".
Ok. Am facut primul pas spre a-ti da seama cum Arduino functioneaza.
Acum este timpul pentru a-ti crea propriul cod. Vom incepe modificand ceva ce deja avem si functioneaza.
La inceput analizam fiecare instructiune din cod dupa care ne vom aventura in ,,hacking-ul" codului.
Blinking Led
Porniti soft-ul Arduino de pe calculator si deschideti codul ,,Blink Led", asa cum am facut in Lectia #1.
Toate codurile de calculator, inclusiv cele de Arduino sunt scrise ca un document...doar scris.
Atunci cand da-ti Compile/Verify din meniu, soft-ul Arduino verifica fiecare sintaxa/instructiune din cod si transforma codul text pe care l-ati scris in cod masina, adica in cod binar. Este posibil sa existe momente cand soft-ul Arduino va va da o eroare de compilare. In momentul acela va trebui sa revizuiti partea eronata si reparata.
Dupa cum v-am mai spus si inainte codurile de Arduino sunt scrise in limajele de programare C#/C++.
/*
* Blink
*
* The basic Arduino example. Turns on an LED on for one second,
* then off for one second, and so on... We use pin 13 because,
* depending on your Arduino board, it has either a built-in LED
* or a built-in resistor so that you need only an LED.
*
* http://www.arduino.cc/en/Tutorial/Blink
*/
int ledPin = 13; // declararea variabilei pentru pin-ul 13
void setup() // ruleaza o singura odata, la pornirea placii
{
pinMode(ledPin, OUTPUT); // setarea pinului 13 ca OUTPUT
}
void loop() // functia principala ce ruleaza la nesfarsit
{
digitalWrite(ledPin, HIGH); // LED ON
delay(1000); // delay de 1000ms
digitalWrite(ledPin, LOW); // LED OFF
delay(1000); // delay de 1000ms
}
Commenturile
/*
* Blink
*
* The basic Arduino example. Turns on an LED on for one second,
* then off for one second, and so on... We use pin 13 because,
* depending on your Arduino board, it has either a built-in LED
* or a built-in resistor so that you need only an LED.
*
* http://www.arduino.cc/en/Tutorial/Blink
*/
Dupa cum se poate observa ceea ce am postat mai sus este un comment.
Scopul unui comment este de a ajuta oamenii sa inteleaga codul mai usor prin postarea informatiilor ajutatoare.
Deschiderea unui comment se face cu atributul ,,/*", continuarea unui comment pe rand nou se face cu atributul ,,*", iar inchiderea acestuia cu ,,*/".
De asemenea se pot face commentarii si in lateralul instructiuniilor. Singurul atribut ce poate fi dat este ,,//" si este pozitionat inaintea commentului.
Variabilele
Haideti sa ne uitam la urmatoarea linie...
int ledPin = 13; // LED connected to digital pin 13
Aceasta este prima linie a codului. Acest tip de linie ce defineste o variabila se numeste declaratie.,,ledPin" este numele variabilei caruia ii se atribuie valoarea 13, iar ,,int" indica valoarea variabilei.
Variabilele au intotdeauna o adresa alocata, si sunt stocate in memoria RAM.
De asemenea, in C#/C++ trebuie sa tineti cont ca semnul "=" nu inseamna egal, ci inseamna ca se atribuie o valoare unei variabile. Semnul egal arata in modul urmator: "==".
Dar despre operatorii logici vom vorbi la momentul potrivit.
Acesta este un tabel cu variabilele ce pot fi folosite in soft-ul Arduino.
Tip de date
|
Dimensiune (in octeti)
|
Interval
|
short
|
2
|
Intre -32.768 si 32.767
|
unsigned short
|
2
|
Intre 0 si 65.365
|
int
|
4
|
Intre -2.147.483.648 si 2.147.483.647
|
unsigned int
|
4
|
Intre 0 si 4.294.987.295
|
long
|
4
|
Intre -2.147.483.648 si 2.147.483.647
|
unsigned long
|
4
|
Intre 0 si 4.294.987.648
|
float
|
4
|
Intre +-3,4E-38 si +-3,4E38
|
double
|
8
|
Intre +-1,7E-308 si +-1,7E308
|
long double
|
10
|
Intre +-3,4E-4932 si +-3,4E4932
|
Proceduri speciale: void setup()
Haideti sa trecem la urmatoarea sectiune.
void setup() // declararea variabilei pentru pin-ul 13 { pinMode(ledPin, OUTPUT); // setarea pinului ca OUTPUT }
void setup() este functia care ruleaza o singura data si initiaza toate conexiunile pe platforma Arduino.
In limbajul de programare C#/C++ functia ,,void" inseamna ,,nimic". Parantezele () pot sa transmita mai departe argumente prin valoare.
Proceduri speciale: void loop()
Functia void loop() in Arduino se va repeta la nesfarsit. Aceasta este functia principala a platformei Arduino unde totul este dezvoltat.
Acum ca sa modificati putin condul puteti umbla la delay, spre exemplul primul delay pune-ti-l la 300ms iar al doilea la 1200ms.
Continuare in Part 2 unde vom discuta despre conditiile if/if else si aplicatiile lor.
Cool, explicat in detaliu, mi-a placut.
RăspundețiȘtergereAtunci ne vedem joi la club sa discutam despre comisioane de afiliere:)
RăspundețiȘtergere