Početnik si s Croduinom. Ili s elektronikom? Za oko ti je zapeo određeni modul, ali ne znaš kako ga koristiti? Bez brige, tu je KKM!
Kako Koristiti Module (KKM) je serija blog tutorijala e-radionice na kojoj ćeš pronaći sve što ti treba kako bi započeo rad sa svojim omiljenim modulom. Tutorijali obuhvaćaju: tehničke karakteristike, princip rada, upute kako povezati modul s Croduinom te osnovni kod. Sve ostalo prepuštamo tebi na maštu.
Osnovne karakteristike
HC-SR04 ultrazvučni modul, poput delfina ili šišmiša, koristi ultrazvučne valove kako bi odredio udaljenost od predmeta. Osim svojoj jednostavnošću i cijenom, konkurenciju nadmašuje i svojim tehničkim mogućnostima. Ne zbunjuju ga sunčeva svijetlost ili crni materijali, kao primjerice najpoznatijeg konkurenta Sharp IR-a.
- Domet: 2 - 200 cm
- Preciznost: 3 mm
- Efektivni kut mjerenja: 15°
- Napon: 5V
- Maksimalna mirna struja: 2 mA
- Radna struja: 15 mA
- Ultrazvučna frekvencija: 40 kHz
- Dimenzije: 45 x 20 x 15 mm
Napomena: Službeni datasheet daje nešto impresivnije tehničke karakteristike modula, primjerice kut mjerenja 30 stupnjeva ili domet čak i do 7 metara. Gore navedeni podaci dobiveni su vlastitim testiranjima i radom u projektima, i za njih možemo garantirati.
Princip rada modula
Dva osnovna dijela modula na kojima se temelji princip rada su trig (prekidač) i echo (refleksija). Mikrokontrolerom (Croduinom ili Arduinom) šaljemo 5V na trig pin modula u trajanju, minimalno, 10 mikrosekundi. Na taj način aktiviramo ultrazvučni transduktor koji odašilje 8 impulsa od 40 kHz i čeka njihovu refleksiju. Kada senzor registrira reflektirani impuls šalje podatke natrag mikrokontroleru preko echo pina. Navedeni podaci su zapravo vrijeme trajanja reflektiranog pulsa, od 150 mikro do 25 milisekundi. Ako "jeka" traje duže od 35 milisekundi, senzor registrira da je predmet izvan dosega.
U ovom tutorijalu koristit ćemo:
- Croduino Basic
- Ultrazvučni modul HC-SR04
- Mini eksperimentalna pločica
- M-M kablići
Kako povezati modul s Croduinom
Pinove ultrazvučnog modula s Croduinom (Arduinom) spajamo na sljedeći način:
Vcc - +5V
Trig - digitalni PIN11
Echo - digitalni PIN12
Gnd - gnd
Kod za modul
Na linku dolje možete vidjeti vrlo jednostavan kod koji svakih 50 milisekundi u Serial monitoru ispisuje udaljenost predmeta od senzora, prikazanu u centimentrima.
/////////////////////////////////////////////////////////////////////////////// /* */ /* */ /* (c) e-radionica.com 2014 - http://www.e-radionica.com/licenca */ /* [email protected] */ /* */ /* Mjerenje udaljenosti pomocu HC-SR04 ultrazvucnog modula */ /* */ /////////////////////////////////////////////////////////////////////////////// const int trig = 11; // Trig na PIN11 const int echo = 12; // Echo na PIN12 void setup() { pinMode(trig, OUTPUT); pinMode(echo, INPUT); Serial.begin(9600); // zapocinjem serijsku komunikaciju Serial.println("Mjerenje udaljenost s HC-SR04 senzorom"); Serial.println(""); } void loop() { // buduci da ne koristimo library, dolje je napisan nacin komunikacije s modulom long vrijeme, udaljenost; digitalWrite(trig, HIGH); // Slanje triga delayMicroseconds(10); // Odaslani trig traje 10 μs = 0.1 ms digitalWrite(trig, LOW); vrijeme = pulseIn(echo, HIGH); // Primanje reflektiranog triga udaljenost = (vrijeme/2) / 28; // Racunanje udaljenosti, u centimetrima // konacna udaljenost senzora od predmeta // u cm je varijabla "udaljenost" Serial.print(udaljenost); Serial.println(" cm"); delay(50); // preporucena pauza izmedu ocitanja ne bi trebala biti manja od 50ms }