Lekcija 20/31: Prikazivanje ultrazvučne udaljenosti na LCD1602
Ovaj projekat demonstrira kako kombinovati HC-SR04 ultrazvučni senzor udaljenosti sa LCD1602 displejem koji podržava I2C kako bi se kreirao sistem za mjerenje udaljenosti u realnom vremenu. Do kraja ovog vodiča, imat ćete funkcionalan uređaj koji kontinuirano mjeri i prikazuje udaljenost do objekta u centimetrima. Ovo je osnovna vještina u Arduino elektronici, jer kombinuje senzorski ulaz sa vizuelnim izlazom.
Ova praktična postavka može se koristiti u raznim stvarnim aplikacijama, uključujući:
- Kreiranje pametnog asistenta za parkiranje koji vam pomaže da procijenite udaljenost do zida ili drugog vozila.
- Izgradnju jednostavnog monitora nivoa tečnosti za rezervoar mjerenjem udaljenosti od vrha do površine.
- Razvoj automatskog dozatora za dezinfekciju ruku ili kante za smeće bez dodira koja se otvara kada je objekat blizu.
- Konstrukciju osnovnog sigurnosnog alarma koji se aktivira kada neko uđe u određenu zonu.
Hardver i komponente
Za izgradnju ovog projekta trebat će vam sljedeće komponente:
- Arduino ploča (npr. Uno)
- LCD1602 displej sa I2C interfejs modulom
- HC-SR04 ultrazvučni senzor udaljenosti
- Konektorski kablovi (jumper wires)
- Breadboard (opciono, za lakše povezivanje)
Razumijevanje LCD1602 i I2C
LCD1602 je popularan displej sposoban da prikaže 16 karaktera po liniji u dvije linije. "I2C" modul na njegovoj poleđini je značajna prednost jer smanjuje broj pinova potrebnih za kontrolu displeja sa 6 ili više na samo 2 za komunikaciju (SDA i SCL) i 2 za napajanje (VCC i GND). Ovo pojednostavljenje čini ožičenje mnogo urednijim i oslobađa vrijedne digitalne pinove na vašem Arduinu za druge senzore, poput ultrazvučnog koji se koristi u ovom projektu. (u videu na 01:30)
I2C modul također ima mali potenciometar za podešavanje kontrasta displeja. Ako uključite displej i ne vidite ništa, pokušajte okrenuti ovaj vijak dok tekst ne postane vidljiv. (u videu na 02:47)
Vodič za povezivanje
Povezivanje komponenti je jednostavno. LCD-ov I2C modul ima četiri pina koja treba povezati na Arduino. Ultrazvučni senzor također ima četiri pina.
Evo pregleda veza:
LCD1602 I2C modul na Arduino:
- GND na Arduino GND
- VCC na Arduino 5V
- SDA na Arduino A4
- SCL na Arduino A5
HC-SR04 ultrazvučni senzor na Arduino:
- VCC na Arduino 5V
- Trig na Arduino digitalni pin 12
- Echo na Arduino digitalni pin 11
- GND na Arduino GND
Šema povezivanja za ovaj projekat prikazana je u videu.
Instalacija potrebnih biblioteka
Ovaj projekat se oslanja na dvije ključne biblioteke. Prva, LiquidCrystal_I2C, potrebna je za kontrolu LCD-a i nije uključena u Arduino IDE po defaultu. Možete je preuzeti sa linka navedenog u opisu videa ili sa Robojax web stranice. (u videu na 06:16)
Druga biblioteka, NewPing, koristi se za interakciju sa ultrazvučnim senzorom. Pojednostavljuje proces slanja pinga i čitanja vremena eha. Obje biblioteke mogu se instalirati putem Arduino IDE-ovog Library Managera odlaskom na Sketch -> Include Library -> Manage Libraries i pretragom njihovih imena.
Objašnjenje koda
Ovaj sketch kombinuje funkcionalnost LCD-a i ultrazvučnog senzora. Kod je strukturiran tako da se lako može konfigurisati za vašu specifičnu postavku.
Na vrhu koda pronaći ćete ključne varijable koje možda trebate prilagoditi:
// Postavite LCD adresu na 0x27 za displej od 16 karaktera i 2 linije
LiquidCrystal_I2C lcd(0x27, displayChars, displayRows);
#define TRIGGER_PIN 12 // Arduino pin povezan na trigger pin na ultrazvučnom senzoru.
#define ECHO_PIN 11 // Arduino pin povezan na echo pin na ultrazvučnom senzoru.
#define MAX_DISTANCE 190 // Maksimalna udaljenost koju želimo mjeriti (u centimetrima).
- LCD adresa (0x27): Ovo je I2C adresa vašeg LCD modula. Većina modula koristi
0x27, ali neki mogu koristiti0x3F. Ako vaš displej ne pokazuje ništa, možda ćete morati pokrenuti I2C skener sketch kako biste pronašli tačnu adresu i ažurirali ovu vrijednost. (u videu na 08:11) - TRIGGER_PIN i ECHO_PIN: Ovi definišu Arduino digitalne pinove povezane na Trig i Echo pinove ultrazvučnog senzora. Ako koristite druge pinove, promijenite ove definicije.
- MAX_DISTANCE: Ovo postavlja maksimalnu udaljenost u centimetrima koju će senzor mjeriti. HC-SR04 može mjeriti do 400-500cm, ali postavljanje niže vrijednosti može poboljšati tačnost i pouzdanost očitanja, posebno za kraće udaljenosti.
U loop() funkciji, kod izvršava sljedeće korake:
- Koristi funkciju
sonar.ping_cm()za mjerenje udaljenosti i pohranjuje je u varijabludistance. - Čisti LCD i ispisuje tekst "Robojax.com" na prvoj liniji.
- Zatim postavlja kursor na drugu liniju i ispisuje "Distance: ".
- Na kraju, pomiče kursor na poziciju 10 na drugoj liniji kako bi ispisao izmjerenu vrijednost
distancenakon koje slijedi "cm".
delay(200) na kraju petlje kontrolira koliko često senzor uzima novo očitanje i ažurira prikaz.
Demonstracija koda
Nakon što se kod prenese na vaš Arduino, LCD će se upaliti i početi prikazivati udaljenost. Možete testirati postavku pomicanjem ruke ili objekta bliže i dalje od ultrazvučnog senzora. Broj na ekranu trebao bi se ažurirati u stvarnom vremenu, prikazujući udaljenost u centimetrima. (u videu na 38:07)
Povezani projekti iz ovog videa
- Lekcija 20/31: Korištenje LCD1602 s Arduinom za prikaz teksta | Robojax
- Lekcija 20/31: Prikaz temperature i vlažnosti s DHT11 na LCD ekranu
- Lekcija 20/31: Prikaz napona na LCD1602
Poglavlja
- [00:00] Uvod u LCD1602 i pregled projekta
- [01:30] Objašnjenje LCD1602 hardvera i I2C modula
- [03:14] LCD pinout i konfiguracija I2C adrese
- [05:28] Dijagram povezivanja za LCD1602
- [06:16] Instalacija potrebne LCD biblioteke
- [07:24] Osnovni kod za ispis teksta na LCD
- [08:11] Pronalaženje I2C adrese vašeg LCD-a
- [11:10] LCD primjeri: Trepćući kursor i prilagođeni znakovi
- [18:51] LCD primjer: Serijski prikaz i pomični tekst
- [24:36] Prikaz temperature i vlažnosti DHT11 na LCD-u
- [33:00] Prikaz napona s potenciometra na LCD-u
- [35:56] Kombiniranje koda ultrazvučnog senzora s LCD-om
- [38:07] Demonstracija prikaza ultrazvučne udaljenosti
This code has not been parsed yet. Please return to the admin panel to parse it.
Stvari koje bi vam mogle zatrebati
-
AmazonSunFounder Arduino Learning Kit on AliExpresss.click.aliexpress.com
-
Amazon
-
Amazon
-
Amazon
-
Amazon
Resursi i reference
-
DokumentacijaDocumentation for SunFounder 3 in 1 IoT/Smart Car/Learning Kitdocs.sunfounder.com
-
EksternoPurchase SunFounder's 3-in-1 Smart car learning kitsunfounder.com
Datoteke📁
Arduino biblioteke (zip)
-
SunFounder's 3-in-1 Smart Car learning kit source code
3in1-kit-main-v2.zip12.80 MB
Korisnički priručnik
-
SunFounder 3-in-1 Arduino Smart Car assembly manualThis document shows step by step assembly of SunFounder 3-in-1 Arduino Smart Car
SunFounder_car_assembly_manual.pdf1.20 MB