Lectia #2: Analiza Codului - Part 2

Operatorii relationali


Programele de Arduino pot accepta operatorii relationali. In urmatorul tabel avem lista cu operatorii relationali pentru Arduino.

Operatorul
Semnficatie
> 
Mai mare
< 
Mai mic
>=
Mai mare sau egal
<=
Mai mic sau egal
==
Egal
!=
Diferit

 Lista prioritatilor operatorilor relationali.
Prioritate
Operatorul
Maxima
>; >=; <; <=
Minima
==; !=


Instructiunea IF/ELSE
exemplu: if (valoarea booleana)
{
               instructiune;
}
              else
{
               instructiune;
}
Ansamblul celor 4 linii se numeste instructiune if/else. Prima linie consta din cuvantul cheie if urmat de o expresie relationala, care se evavalueaza la o valoarea booleana, precum "true" sau "false". Linia urmatoarea se numeste instructiune conditionala. In caz ca expresie relationala este falsa se ajunge la a 3-a linie "else" cu o valoare booleana falsa, aceasta fiind o ,,optiune alternativa a codului".

Acum vom incepe sa punem in practica ce v-am invatat pana acum.

Lucruri necesare

1.     Platforma Arduino
Senzor lumina brick
2.     Soft-ul Arduino
3.     USB A-B
4.     Un senzor de lumina brick. Am ales un senzor brick de lumina fiindca mi se pare mai ieftin in comparatie cu ceilalti senzori:D.
5.     Un LED. (de la conexelectronic)
Acum trebuie sa conectati sursa de alimentare a senzorului la platforma Arduino. Pin-ul GND la GND, pin-ul VCC la 5V, iar pin-ul DATA la pin-ul ,,Analog 0".
Dupa ce efectuati aceasta sarcina, conectati LED-ul la pin-ul 13 si GND-ul de langa el asa cum v-am spus in Lectia #1.
Accesati placa Arduino la PC prin USB si porniti soft-ul Arduino.

Exemplu de cod:


int sensor = A0; //declararea senzorului
int led = 13; //declararea led-ului
int val = 0;//varaibila pentru stocarea informatiilor

void setup()
{
  pinMode(sensor, INPUT);//setarea pin-ului pentru sensor ca INPUT
  pinMode(led, OUTPUT);//setarea pin-ului pentru LED ca OUTPUT
}

void loop()
{
  val = analogRead(sensor); //atribuirea valorii senzorului variabilei ,,val"
  if(val >= 512) //conditia if (true)
  {
    digitalWrite(led,HIGH); //instructiune
  }
  else //conditia else (false)
  {
    digitalWrite(led,LOW); //instructiune
  }
}

Acest cod va citeste senzorul de lumina, iar daca el ,,observa" ca valorile senzorului depasesc sau sunt egale cu 512 led-ul se va aprinde sau invers, va sta pe modul OFF.
De retinut ca valorile de input pe placa Arduino pot varia intre 0 si 1024. Din motive pe care eu nu le cunosc inca este ca valorile input pot varia intre 0 si 1023.

Comentarii

Trimiteți un comentariu

Postări populare de pe acest blog

Lectia #5: Ardumoto

Lectia #1: Blinking Led