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++.



/*
 * 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

 De asemnea, mai exista si tipul de date bool de 1octet care poate lua valoarea ,,true" sau ,,false".

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.





Comentarii

Trimiteți un comentariu

Postări populare de pe acest blog

Lectia #5: Ardumoto

Lectia #2: Analiza Codului - Part 2

Lectia #1: Blinking Led