arduino #3

25
Workshop #3 1)Analog Read 2)Pull up & Pull Down 3)Temperature Sensor 4)Temperature meter

Upload: rudi-nikollari

Post on 09-Aug-2015

79 views

Category:

Education


0 download

TRANSCRIPT

  1. 1. 1) Analog Read 2) Pull up & Pull Down 3) Temperature Sensor 4)Temperature meter
  2. 2. Si te lexojme te dhenat qe na vijne nga sensore te ndryshem? Te dhenat qe mund ti marrim nga ambjenti qe na rrethon mund te jene : 1- Analoge Qe ndryshojne vlere gjate kohes. Merr vlera te ndryshme 2- Dixhitale 0 dhe 1 (binare) 0V ose 5V
  3. 3. Perse nevojitet keto te dhena? Ne projektet e ndryshme qe ne mund te ndertojme na nevojitet qe te marrim te dhena nga sensoret e ndryshem te cilet punojne me sinjal analog. Disa nga keto sensore jane : Temperature, Lageshtie, PH, Pulsi,
  4. 4. Analog Read Me Analog Read kuptojme leximin e vlerave nga pinet A0 - A5 Vlerat mund te ndryshojne nga 0 1023 ose 0 V 5 V 5 volts / 1024 ose 0.0049 volts (4.9 mV) Arduinos I nevojitet 100 S (0.0001 S) qe te procesoj leximin e vlerave analoge ose 10000 here ne nje second.
  5. 5. Komunikimi Serial Komunikimi serial na mundeson qe ne te komunikojme me Arduinon edhe vice versa. Sintaksa e komunikimit serial eshte si me poshte: Int value =0; Void setup();{ Serial.begin(9600); //hap porten e komunikimit serial me shpejtesi 9600 bps } Void loop(){ Serial.println(value); }
  6. 6. Analog Read Potenciometer Cfare do te na duhet: -Arduino -Breadboard -Percjellesa -Potenciometer 10k
  7. 7. Qarku
  8. 8. Nuk I shpetojme dot programimit! int analogPin = A0; // Deklarojme variablin qe merr te dhena nga pini I mesit I potenciometrit int val = 0; // Deklarojme nje varibel tjeter qe te ruajme te dhenat qe ti afishojme ne Serial Monitor void setup() { Serial.begin(9600); // Incicializojme komunikimin me porten seriale } void loop() { val = analogRead(analogPin); // Do te lexojme vlera nga potenciometri dhe do ti ruajme ne variablin VAL Serial.println(val); // Te dhenat qe ruhen ne kete variable do afishohen ne serial monitor }
  9. 9. Pull Up & Pull Down Resistor
  10. 10. Qarku Final
  11. 11. Programi int Switch = A0; int Led = 7; int SwitchState = 0; void setup(){ pinMode(Switch, INPUT); pinMode(Led, OUTPUT); }
  12. 12. void loop(){ SwitchState = digitalRead(Switch); if (SwitchState == HIGH){ digitalWrite( Led, HIGH); { else{ digitalWrite(Led, LOW); } }
  13. 13. Sensore Temperature
  14. 14. Cfare jane? Sensore LM35 jane qarke te integruar te preciozionit te lart per te matjen e temperatures. Jane te thjesht per tu perdorur. Kosumojne pak energji. Masin temperatura na -55C deri ne +150C.
  15. 15. Si punojne? Sensori nxier nje tension ne varesi te temperatures se ambientit. Figura me poshte eshte mare nga te dhenat e sensorit qe mund te gjenden online. Mund te shohim se sensori nxier 10.mV per 1 grad celsius. Veme re se sa me shum te ritet temperatua aq me shume ritet tensioni.
  16. 16. Te eksperimentojme me LM35
  17. 17. Programimi int val; //Deklarohet nje variabel ku do te ruajme temperaturat e ndryshme int tempPin = A0; //Deklarojme pinin qe do te marrim informacionin nga sensori void setup() { Serial.begin(9600); //hap porten e komunikimit serial me shpejtesi 9600 bps }
  18. 18. void loop() { val = analogRead(tempPin); //Lexon te dhena nga sensori dhe I ruan ne variablin val float mv = ( val/1024.0)*5000; //Tensionin nga 0-5 V qe e marrim nga temperaturat e ndryshme te cilat shkojne deri 1v e shumezojme me 5000 qe te marrim nje llogaritje me te sakte float cel = mv/10; //Per te llogaritur temperaturen Serial.print("TEMPRATURE = "); // Ne serial monitor do te shfaqet mesazhi Serial.println(cel); //Do te afishohet dhe temperature qe matet nga sensori Serial.println("*C"); Serial.println(); delay(1000); //Vonesa qe do shfaqet temperature e re }
  19. 19. Po sikur te bejme nje termometer me Dioda LED ? Cfare do te na duhet: -Arduino -Breadboard -Percjellesa -LM35 -3 Led(Jeshile, Verdhe, Kuqe)
  20. 20. Qarku
  21. 21. Programimi int val; int tempPin = A0; int LedJeshil =9; int LedPortokalli =10; int LedKuq =11; void setup() { pinMode(LedPortokalli, OUTPUT); pinMode(LedJeshile,OUTPUT); pinMode(LedKuq, OUTPUT); pinMode(tempPin, INPUT); Serial.begin(9600); }
  22. 22. void loop() { val = analogRead(tempPin); float mv = ( val/1024.0)*5000; float cel = mv/10; Serial.print("TEMPRATURE = "); Serial.print(cel); Serial.print("*C"); Serial.println(); delay(1000); if(val21.00 && val=28.00) { digitalWrite(LedPortokalli,LOW); digitalWrite(LedKuq,HIGH); digitalWrite(LedJeshil,LOW); } }