7. Arduino – Ultraskaņas attāluma sensors

ElektronikaArduinoSensoriAttāluma un šķēršļu sensori

Arduino 7. nodarbība

Šajā nodarbībā iemācīsimies kā Ultraskaņas attāluma sensors HC-SR04 darbojas ar Arduino mikrokontrolieri.

Nepieciešamie komponenti

  1. Arduino kontrolieris (piem. Uno, Nano)
  2. Ultraskaņas sensors HC-SR04
  3. Bredbords 400 punktu Half+
  4. Savienošanas vadi 10cm male-male 4 gab

Savienošana

VCC -> 5V
Trig -> D2 (digital 2) vai jebkurš digitālais pins
Echo -> D3 (digital 3) vai jebkurš digitālais pins
GND -> GND

Programma

Skaņa pārvietojas ar ātrumu 340 metri 1 sekundē. Ultraskaņas sensors izsūta sinālu (Trig) un pēc brīža to saņem atpakaļ (Echo). Šo laiku (duration) mēra mikrosekundēs (μs, miljonā sekundes daļa). Tātad skaņas ātrums ir 0.034 cm 1 μs un distanci cm aprēķinām laiku μs (duration) reizinot ar 0.034 un dalot ar 2 (jo skaņai jāveic arī ceļš atpakaļ no šķēršļa).

/*
* Ultrasonic Sensor HC-SR04 - Arduino
*/
const int trig = 2; // Digital pin for Trig
const int echo = 3; // Digital pin for Echo
long duration; // Variable long integer
int distance; // Variable integer
void setup() {
  pinMode(trig, OUTPUT); // Set Trig pin as Output
  pinMode(echo, INPUT); // Set Echo pin as Input
  Serial.begin(9600); // Start serial communication
}
void loop() {
  digitalWrite(trig, LOW); // Clear Trig pin
  delayMicroseconds(2);
  digitalWrite(trig, HIGH); // Set Trig pin HIGH for 10 micro seconds
  delayMicroseconds(10);
  digitalWrite(trig, LOW);
  duration = pulseIn(echo, HIGH); // Sound travel time in microseconds
  distance= duration*0.034/2; // Calculate distance in cm (sound speed 340m per sec.)
  Serial.print("Distance: "); // Print distance to Serial Monitor
  Serial.print(distance);
  Serial.println(" cm"); // ln - next line
  delay(1000); // Pause 1000 milisec. or 1 sec.
}

Mērījumi

6. Arduino – Tumsas sensors ar fotorezistoru

Elektronika – Arduino – Tumsas sensors ar optisko rezistoru

Arduino 6. nodarbība

Šajā nodarbībā iemācīsimies kā darbojas fotorezistors (optiskais rezistors) un izgatavosim tumsas sensoru, kurš iededz gaismas diodi.

Nepieciešamie komponenti

  1. Arduino kontrolieris (piem. Uno, Nano) ar USB kabeli
  2. Bredbords 400 punktu Half+
  3. Savienošanas vadi 10cm male-male 5 gab
  4. LED gaismas diode 1 gab.
  5. Rezistori 10KΩ 1 gab., 330Ω 1 gab.
  6. Fotorezistors (optiskais rezistors) 1 gab.

Skaidrojums

Fotorezistoram (optiskajam rezistoram) pretestība mainās atkarībā no gaismas daudzuma. Mainīgā pretestība ļauj izmainīt strāvas spriegumu, kuru var nolasīt ar Arduino mikrokontrolieri kā Analogo vērtību. Programmā norādām vērtību, no kuras iedegās gaismas diode.

Slēgums

Fotorezistoram polaritāte (+ un – virziens) nav svarīga. Vienu kāju pievieno pie +, bet otru reizē caur 10KΩ rezistoru pie – un pie Analogā pina A0 (dzeltenais vads).

Var nepievienot LED gaismas diodi (ar 330Ω rezistoru un oranžo vadu), jo digitālais pins D13 ir mikrokontrolierī savienots ar iebūvēto gaismas diodi (LED_BUILTIN).

Programma

Kā pieslēgt Arduino un kā lietot Arduino IDE programmu skatiet 1.nodarbībā

Atveram Arduino IDE programmu.
Fails – Jauns
Iekopējam kodu, tad Fails – Saglabāt. Pārbaudīt, tad Augšupielādēt.

/*
 Darkness sensor - Tumsas sensors
 */
int sensorPin = A0; // analogā pina nr.
int ledPin = 13; // LED pina nr., 13 vai LED_BUILTIN
int sensorValue = 0; 

void setup() {
 pinMode(ledPin, OUTPUT); // uzstāda ledPin nr. kā izejošo
 Serial.begin(9600); // sāk seriālo komunikāciju
}

void loop() {
 sensorValue = analogRead(sensorPin); // nolasa sensora datus

 if (sensorValue < 600) { // ja mazāks par šo vērtību
 Serial.println("TUMSA!"); // drukā paziņojumu
 digitalWrite(ledPin, HIGH); // iededz LED
 }
 else { // citādi
 Serial.println("GAISMA!"); // drukā paziņojumu
 digitalWrite(ledPin, LOW); // izslēdz LED
 }
 
 Serial.print("Analog value: "); // drukā Seriālajā monitorā
 Serial.println(sensorValue); 
 delay(1000); // gaida norādītās milisekundes
}

Analogās vērtības ir no 0 līdz 1023 un proporcionālas spriegumam 0V – 5V.
Serial.println norāda, ka pēc drukāšanas, pāriet uz nākamo rindu.

Tāpat varam vērot gaismas izmaiņas arī ar Seriālo ploteri

Papildus

Izgatavosim Tumsas sensoru, neizmantojot Arduino mikrokontrolieri. To var izmantot kā 5V strāvas avotu, jeb pievienot 4.5V – 9V bateriju.

Izņemam oranžo vadu un pie LED tā vietā iespraužam dzelteno.
1. variantā LED iedegas pie gaismas, bet 2. variantā LED iedegas tumsā.