8. Arduino – Relejs

Elektronika – Arduino – Relejs

Arduino 8. nodarbība

Šajā nodarbībā iemācīsimies kā darbojas relejs un ar to automatizēti ieslēgsim mājas elektroierīces, izmantojot Arduino programmu, gan lietojot dažādus sensorus.

Nepieciešamie komponenti

  1. Arduino kontrolieris (piem. Uno, Nano) ar USB kabeli
  2. Bredbords 400 punktu Half+
  3. Savienošanas vadi 10cm male-male 3 gab
  4. Relejs 5V relay module SRD-05VDC-SL-C
  5. “Nevajadzīgs” elektrības pagarinātājs (vai vads ar kontaktdakšu), kuru var sabojāt.

Skaidrojums

Ar releju var saslēgt vai atslēgt ķēdes, kurās plūst daudz lielāka strāva, nekā tā, ar ko relejs tiek kontrolēts – mūsu gadījumā 5V ar pavisam mazu jaudu ieslēgs un izslēgs 230V mājas ierīci līdz 10A, t.i. 2.3 kW jaudu (vai līdzstrāvas ierīces līdz 30V, 10A).

Slēgums

S Arduino Pin10 | + 5V | – GND
NC neizmanto | Common ieeja | NO izeja

Releja modulim SRD-05VDC-SL-C (KY-019) var izmantot TTL kontroles signāla spriegumu 5V – 12V DC (līdzstrāvu). Ierīcei, kuru ieslēdz, maksimālā pieļaujamā maiņstrāva (AC) ir līdz 10A 250VAC (2300W pie 230V) vai līdzstrāva (DC) lidz 10A 30VDC.

Ar 3 savienošanas vadiem releja kontaktu S savienojam ar Arduino Pin 10, + ar 5V un – ar GND.

“Nevajadzīgā” pagarinātāja kabelim vienā vietā noņemam izolāciju un pārgriežam vienu vadu (brūno vai zilo), jaunos vada galus notīram un pieskrūvējam releja kontaktiem “Common” un “NO”. Atceramies, ka 230V mājas elektrotīkla strāva ir bīstama dzīvībai, tāpēc neatstājam nenoizolētus vai slikti pievienotus vadus un neaiztiekam kontaktus, kamēr nav atslēgta strāva!

 

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.

/*
 Relay - Relejs
 */
int RelayPin = 10; // releja kontroles pina nr. 

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

void loop() {

 Serial.println("IESLEGTS!"); // drukā paziņojumu
 digitalWrite(RelayPin, HIGH); // ieslēdz
 delay(5000); // gaida norādītās milisekundes
 Serial.println("IZSLEGTS!"); // drukā paziņojumu
 digitalWrite(RelayPin, LOW); // izslēdz
 delay(5000); // gaida norādītās milisekundes
}

ln pie Serial.println norāda, ka pēc drukāšanas, pāriet uz nākamo rindu.

Rīki – Seriālā porta monitors.
Tāpat varam vērot izmaiņas arī ar Seriālo ploteri: Rīki – Serial plotter.

Papildus uzdevums

Tumsas sensors ieslēdz releju.
Izmantojam paraugu no 6.nodarbības – Tumsas sensors ar fotorezistoru
LED vietā pieslēdzam releju (bez LED rezistora).

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 uzdevums

Izgatavosim Tumsas sensoru, neizmantojot Arduino mikrokontrolieri. To var lietot tikai kā 5V strāvas avotu vai arī tā vietā pievienot 4.5V – 9V bateriju kā strāvas avotu.

Variants 1
Izveidojam slēgumu atbilstoši paraugam. LED iedegsies, palielinot gaismu!

Varisnts 2
Izņemam oranžo vadu un pie LED tā vietā iespraužam dzelteno.
LED iedegsies, samazinot gaismu – tumsā!