Page 75 - Microcontrolere - Indrumator de laborator
P. 75
int trig = 12;
int echo = 11;
float duration, dist_cm, dist_in;
void setup() {
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
duration = pulseIn(echo, HIGH);
dist_cm= duration*0.0343/2.0;
dist_in= duration*0.0135/2.0;
Serial.print("Distance: ");
Serial.print(dist_cm,1);
Serial.print("cm / ");
Serial.print(dist_in,1);
Serial.println("in");
delay(300);
}
La rularea codului, vom putea observa distanța până la obstacol calculată și
trimisă de la placa Arduino înapoi la calculator pe portul serial (emulat prin USB) și
apoi afișată la consola serială activată prin comanda Ctrl+Shift+M.
În continuare vom folosi un alt exemplu în care se afișează informațiile legate
de distanță, pe un afișaj LCD I2C. Pentru aceasta va trebui să realizăm conexiunea
electrică din Figura 8.5.
Pentru calcularea distanței, se poate folosi o librărie care realizează acest calcul,
librărie care trebuie instalată anterior rulării programului, în cadrul mediului de
dezvoltare Arduino IDE, pe calea Sketch>Include Library>Manage Libraries...
Utilizarea unei librării aduce avantajul diminuării codului necesar pentru
aplicație, având în vedere că o librărie creează câteva funcții care pot fi ușor utilizate
ulterior, la integrarea librăriei și apelarea funcțiilor respective. Însă apare și
dezavantajul utilizării unui spațiu de memorie ridicat.
72