Tafuta Msimbo

Somo la 20/31: Kuonyesha umbali wa Ultrasonic kwenye LCD1602

Somo la 20/31: Kuonyesha umbali wa Ultrasonic kwenye LCD1602

Mradi huu unaonyesha jinsi ya kuchanganya kihisi cha umbali cha ultrasonic HC-SR04 na onyesho la LCD1602 lenye I2C ili kuunda mfumo wa kupima umbali wa wakati halisi. Kufikia mwisho wa mwongozo huu, utakuwa na kifaa kinachofanya kazi ambacho hupima na kuonyesha umbali wa kitu kwa sentimita kila wakati. Hii ni ujuzi wa msingi katika elektroniki za Arduino, kwani inachanganya pembejeo ya kihisi na pato la kuona.

Sunfounder 20-LCD1602-ultrasonic

Mpangilio huu wa vitendo unaweza kutumika katika matumizi mbalimbali ya ulimwengu halisi, ikijumuisha:

  • Kuunda msaidizi wa maegesho wenye akili unaokusaidia kupima umbali wa ukuta au gari lingine.
  • Kujenga kifuatiliaji rahisi cha kiwango cha kioevu kwa tanki kwa kupima umbali kutoka juu hadi uso.
  • Kuendeleza kisambazaji cha kisafisha mikono cha kiotomatiki au pipa la takataka lisiloguswa linalofunguka kitu kinapokuwa karibu.
  • Kujenga kengele ya usalama ya msingi inayoanzishwa mtu anapoingia katika eneo maalum.

Vifaa na Vipengele

Ili kujenga mradi huu, utahitaji vipengele vifuatavyo:

  • Bodi ya Arduino (k.m., Uno)
  • Onyesho la LCD1602 lenye moduli ya kiolesura cha I2C
  • Kihisi cha Umbali cha Ultrasonic HC-SR04
  • Waya za kurukia
  • Breadboard (hiari, kwa urahisi wa miunganisho)

Kuelewa LCD1602 na I2C

LCD1602 ni onyesho maarufu linaloweza kuonyesha herufi 16 kwa kila mstari kwenye mistari miwili. Moduli ya "I2C" iliyo nyuma yake ni faida kubwa kwa sababu inapunguza idadi ya pini zinazohitajika kudhibiti onyesho kutoka 6 au zaidi hadi 2 tu kwa mawasiliano (SDA na SCL) na 2 kwa nguvu (VCC na GND). Urahisishaji huu hufanya wiring kuwa safi zaidi na hukomboa pini muhimu za dijiti kwenye Arduino yako kwa vihisi vingine, kama vile kile cha ultrasonic kinachotumiwa katika mradi huu. (katika video saa 01:30)

Moduli ya I2C pia ina potentiometer ndogo ya kurekebisha utofauti wa onyesho. Ukiiwezesha onyesho na usione chochote, jaribu kugeuza skrubu hii hadi maandishi yaonekane. (katika video saa 02:47)

Mwongozo wa Wiring

LCD1602_wiring_ultrasonic_bb

Kuunganisha vipengele ni rahisi. Moduli ya I2C ya LCD ina pini nne zinazohitaji kuunganishwa kwenye Arduino. Kwa kihisi cha ultrasonic, kina pini nne pia.

Hapa kuna maelezo ya miunganisho:

Moduli ya I2C ya LCD1602 kwa Arduino:

  • GND kwa Arduino GND
  • VCC kwa Arduino 5V
  • SDA kwa Arduino A4
  • SCL kwa Arduino A5

Kihisi cha Ultrasonic HC-SR04 kwa Arduino:

  • VCC kwa Arduino 5V
  • Trig kwa pini ya dijiti ya Arduino 12
  • Echo kwa pini ya dijiti ya Arduino 11
  • GND kwa Arduino GND

Mchoro wa wiring wa mradi huu unarejelewa kwenye video.

Kusakinisha Maktaba Zinazohitajika

Mradi huu unategemea maktaba mbili muhimu. Ya kwanza, LiquidCrystal_I2C, inahitajika kudhibiti LCD na haijumuishwi na Arduino IDE kwa chaguo-msingi. Unaweza kuipakua kutoka kiungo kilichotolewa katika maelezo ya video au kutoka tovuti ya Robojax. (katika video saa 06:16)

Maktaba ya pili, NewPing, inatumiwa kuungana na kihisi cha ultrasonic. Inarahisisha mchakato wa kutuma ping na kusoma muda wa echo. Maktaba zote mbili zinaweza kusakinishwa kupitia Kidhibiti cha Maktaba cha Arduino IDE kwa kwenda kwenye Sketch -> Include Library -> Manage Libraries na kutafuta majina yao.

Maelezo ya Msimbo

Sketch hii inachanganya utendaji wa LCD na kihisi cha ultrasonic. Msimbo umeundwa kuwa rahisi kusanidi kwa mpangilio wako maalum.

Juu ya msimbo, utapata vigezo muhimu ambavyo unaweza kuhitaji kurekebisha:

// Weka anwani ya LCD kuwa 0x27 kwa onyesho la herufi 16 na mistari 2
LiquidCrystal_I2C lcd(0x27, displayChars, displayRows);

#define TRIGGER_PIN  12  // Pini ya Arduino iliyounganishwa na pini ya trigger kwenye kihisi cha ultrasonic.
#define ECHO_PIN     11  // Pini ya Arduino iliyounganishwa na pini ya echo kwenye kihisi cha ultrasonic.
#define MAX_DISTANCE 190 // Umbali wa juu tunaotaka kupima (kwa sentimita).
  • Anwani ya LCD (0x27): Hii ni anwani ya I2C ya moduli yako ya LCD. Moduli nyingi hutumia 0x27, lakini zingine zinaweza kutumia 0x3F. Ikiwa onyesho lako halionyeshi chochote, unaweza kuhitaji kuendesha sketch ya skana ya I2C kupata anwani sahihi na kusasisha thamani hii. (katika video saa 08:11)
  • TRIGGER_PIN na ECHO_PIN: Hizi hufafanua pini za dijiti za Arduino zilizounganishwa na pini za Trig na Echo za kihisi cha ultrasonic. Ikiwa unatumia pini tofauti, badilisha ufafanuzi huu.
  • MAX_DISTANCE: Hii inaweka umbali wa juu kwa sentimita ambao kihisi kitapima. HC-SR04 inaweza kupima hadi 400-500cm, lakini kuweka thamani ya chini kunaweza kuboresha usahihi na kutegemewa kwa usomaji, haswa kwa umbali mfupi.

Katika kazi ya loop(), msimbo hufanya hatua zifuatazo:

  1. Inatumia kazi ya sonar.ping_cm() kupima umbali na kuuhifadhi katika kigezo cha distance.
  2. Inafuta LCD na kuchapisha maandishi "Robojax.com" kwenye mstari wa kwanza.
  3. Kisha inaweka mshale kwenye mstari wa pili na kuchapisha "Distance: ".
  4. Hatimaye, inahamisha mshale hadi nafasi ya 10 kwenye mstari wa pili ili kuchapisha thamani ya distance iliyopimwa ikifuatiwa na "cm".

delay(200) mwishoni mwa kitanzi hudhibiti mara ngapi sensa inachukua usomaji mpya na kusasisha onyesho.

Maonyesho ya Msimbo

Mara tu msimbo unapopakiwa kwenye Arduino yako, LCD itawaka na kuanza kuonyesha umbali. Unaweza kujaribu mpangilio kwa kusogeza mkono wako au kitu karibu na mbali na sensa ya ultrasonic. Nambari kwenye skrini inapaswa kusasishwa kwa wakati halisi, ikionyesha umbali kwa sentimita. (katika video saa 38:07)

Miradi inayohusiana kutoka kwenye video hii

Sura

  • [00:00] Utangulizi wa LCD1602 na Muhtasari wa Mradi
  • [01:30] Maelezo ya Vifaa vya LCD1602 na Moduli ya I2C
  • [03:14] Mpangilio wa Pini za LCD na Usanidi wa Anwani ya I2C
  • [05:28] Mchoro wa Uunganisho wa LCD1602
  • [06:16] Kusakinisha Maktaba ya LCD Inayohitajika
  • [07:24] Msimbo wa Msingi wa Kuchapisha Maandishi kwenye LCD
  • [08:11] Kutafuta Anwani ya I2C ya LCD Yako
  • [11:10] Mifano ya LCD: Mshale wa Kupepesa na Herufi Maalum
  • [18:51] Mfano wa LCD: Onyesho la Msururu na Maandishi Yanayotembea
  • [24:36] Kuonyesha Joto na Unyevu wa DHT11 kwenye LCD
  • [33:00] Kuonyesha Voltage kutoka Potentiometer kwenye LCD
  • [35:56] Kuchanganya Msimbo wa Sensa ya Ultrasonic na LCD
  • [38:07] Maonyesho ya Onyesho la Umbali wa Ultrasonic

Bilder

Sunfounder car assembled
Sunfounder car assembled
Sunfounder 20-LCD1602-ultrasonic
Sunfounder 20-LCD1602-ultrasonic
LCD1602_wiring_ultrasonic_bb
LCD1602_wiring_ultrasonic_bb
921-Lesson 20/31: Displaying distance from ultrasonic sensor on LCD1602
Språk: C++
This code has not been parsed yet. Please return to the admin panel to parse it.

Resurser och referenser

Filer📁

Arduino-bibliotek (zip)

Användarhandbok