Ẹkọ 20/31: Ṣíṣàfihàn ijinna Ultrasonic lórí LCD1602
Ise agbé iṣẹ́ yìí ṣàfihàn bí a ṣe le darapọ̀ sensori ìwọ̀n ọ̀nà ultrasonic HC-SR04 pẹ̀lú àfihàn LCD1602 tí ó ní I2C láti ṣẹ̀dá ètò ìwọ̀n ọ̀nà ní àkókò gidi. Ní ìparí ìtọ́sọ́nà yìí, ìwọ yóò ní ẹ̀rọ tí ó ń ṣiṣẹ́ tí ó ń wọ̀n àti ṣàfihàn ọ̀nà sí ohun kan ní sẹ̀ǹtímítà. Èyí jẹ́ ọ̀nà ìpìlẹ̀ pàtàkì nínú ẹ̀rọ Arduino, níwọ̀n bí ó ti ń darapọ̀ ìmúwọ́lẹ̀ sensori pẹ̀lú ìṣàfihàn ojú.
Ètò tí ó wúlò yìí ni a lè lò nínú ọ̀pọ̀lọpọ̀ àwọn ohun tí ó ń ṣẹlẹ̀ nínú ayé gidi, pẹ̀lú:
- Ṣíṣe olùrànwọ́ ìdúró ọkọ̀ tí ó gbọ́n tí ó ń ran ọ lọ́wọ́ láti mọ ọ̀nà sí ògiri tàbí ọkọ̀ mìíràn.
- Kíkọ́ ẹ̀rọ ìṣàkóso ìpele omi tí ó rọrùn fún ojò nípa wíwọ̀n ọ̀nà láti orí sí ojú omi.
- Dídàgbàsókè ẹ̀rọ tí ń fúnni ní ọtí ìfọwọ́ tí ó jẹ́ aládàáṣe tàbí àkọ̀tàn tí kò ní ìfọwọ́kan tí ó ń ṣí nígbà tí ohun kan bá súnmọ́.
- Kíkọ́ ìtànjíjà ààbò tí ó rọrùn tí ó ń mú kí ẹ̀rọ ṣiṣẹ́ nígbà tí ẹnìkan bá wọ àgbègbè kan pàtó.
Àwọn Ohun Èlò àti Àwọn Ẹ̀yà
Láti kọ́ iṣẹ́ yìí, ìwọ yóò nílò àwọn ẹ̀yà wọ̀nyí:
- Bọ́ọ̀dù Arduino (bíi Uno)
- Àfihàn LCD1602 pẹ̀lú mọ́díọ̀lù I2C
- Sensori Ìwọ̀n Ọ̀nà Ultrasonic HC-SR04
- Àwọn okun oníjìnnà
- Breadboard (kì í ṣe dandan, fún ìsopọ̀ tí ó rọrùn)
Lílóye LCD1602 àti I2C
LCD1602 jẹ́ àfihàn tí ó gbajúmọ̀ tí ó lè ṣàfihàn àwọn ohun kíkọ 16 ní ìlà kan ní àárín àwọn ìlà méjì. Mọ́díọ̀lù "I2C" tí ó wà ní ẹ̀yìn rẹ̀ jẹ́ àǹfààní pàtàkì nítorí pé ó dín àwọn pin tí a nílò láti ṣàkóso àfihàn náà kù láti 6 tàbí jù bẹ́ẹ̀ lọ sí 2 péré fún ìbánisọ̀rọ̀ (SDA àti SCL) àti 2 fún agbára (VCC àti GND). Ìrọ̀rùn yìí mú kí ìsopọ̀ okun di mímọ́ tó àti pé ó tú àwọn pin oní nọ́ńbà tí ó ṣe pàtàkì sílẹ̀ lórí Arduino rẹ fún àwọn sensori mìíràn, bíi èyí ultrasonic tí a lò nínú iṣẹ́ yìí. (nínú fídíò ní 01:30)
Mọ́díọ̀lù I2C náà tún ní potentiometer kékeré kan láti ṣàtúnṣe ìyàtọ̀ àwọ̀ àfihàn náà. Bí o bá fi agbára mú àfihàn náà tí o kò rí nkankan, gbìyànjú láti yí skúù yìí kí ó di pé àwọn ọ̀rọ̀ náà hàn. (nínú fídíò ní 02:47)
Ìtọ́sọ́nà Ìsopọ̀ Okun
Ìsopọ̀ àwọn ẹ̀yà náà rọrùn. Mọ́díọ̀lù I2C ti LCD ní àwọn pin mẹ́rin tí a nílò láti sopọ̀ sí Arduino. Fún sensori ultrasonic, ó ní àwọn pin mẹ́rin pẹ̀lú.
Èyí ni ìpínlẹ̀ àwọn ìsopọ̀ náà:
Mọ́díọ̀lù I2C LCD1602 sí Arduino:
- GND sí Arduino GND
- VCC sí Arduino 5V
- SDA sí Arduino A4
- SCL sí Arduino A5
Sensori Ultrasonic HC-SR04 sí Arduino:
- VCC sí Arduino 5V
- Trig sí pin oní nọ́ńbà 12 ti Arduino
- Echo sí pin oní nọ́ńbà 11 ti Arduino
- GND sí Arduino GND
A tọ́ka sí àwòrán ìsopọ̀ okun fún iṣẹ́ yìí nínú fídíò náà.
Fífi Àwọn Ilé-ìkàwé Tí A Nílò Sórí
Iṣẹ́ yìí gbára lé àwọn ilé-ìkàwé pàtàkì méjì. Èkínní, LiquidCrystal_I2C, ni a nílò láti ṣàkóso LCD náà àti pé kò sí nínú Arduino IDE ní àtìpó. O lè gbà á láti ọ̀nà tí a pèsè nínú àpèjúwe fídíò náà tàbí láti ojú òpó wẹ́ẹ̀bù Robojax. (nínú fídíò ní 06:16)
Ilé-ìkàwé kejì, NewPing, ni a lò láti bá sensori ultrasonic ṣiṣẹ́. Ó rọrùn láti fi ránṣẹ́ ping àti láti ka àkókò echo. A lè fi àwọn ilé-ìkàwé méjèèjì sórí nípasẹ̀ Olùṣàkóso Ilé-ìkàwé ti Arduino IDE nípa lílọ sí Sketch -> Include Library -> Manage Libraries àti wíwá àwọn orúkọ wọn.
Àlàyé Kóòdù
Sketch yìí darapọ̀ iṣẹ́ LCD àti sensori ultrasonic. A ṣètò kóòdù náà láti rọrùn láti ṣàtúnṣe fún ètò pàtó rẹ.
Ní ìbẹ̀rẹ̀ kóòdù náà, ìwọ yóò rí àwọn àṣàyàn pàtàkì tí o lè nílò láti ṣàtúnṣe:
// Ṣètò àdírẹ́sì LCD sí 0x27 fún àfihàn 16 ohun kíkọ àti 2 ìlà
LiquidCrystal_I2C lcd(0x27, displayChars, displayRows);
#define TRIGGER_PIN 12 // Pin Arduino tí ó sopọ̀ sí pin trigger lórí sensori ultrasonic.
#define ECHO_PIN 11 // Pin Arduino tí ó sopọ̀ sí pin echo lórí sensori ultrasonic.
#define MAX_DISTANCE 190 // Ìwọ̀n ọ̀nà tí ó pọ̀ jù tí a fẹ́ láti ping (nínú sẹ̀ǹtímítà).
- Àdírẹ́sì LCD (0x27): Èyí ni àdírẹ́sì I2C ti mọ́díọ̀lù LCD rẹ. Ọ̀pọ̀lọpọ̀ mọ́díọ̀lù máa ń lo
0x27, ṣùgbọ́n àwọn kan lè lo0x3F. Bí àfihàn rẹ bá kò fi nkankan hàn, o lè nílò láti ṣiṣẹ́ sketch ìwọ̀n I2C kan láti rí àdírẹ́sì tí ó tọ̀nà àti láti ṣàtúnṣe iye yìí. (nínú fídíò ní 08:11) - TRIGGER_PIN àti ECHO_PIN: Àwọn wọ̀nyí ń ṣàlàyé àwọn pin oní nọ́ńbà ti Arduino tí ó sopọ̀ sí àwọn pin Trig àti Echo ti sensori ultrasonic. Bí o bá lo àwọn pin mìíràn, yí àwọn ìtumọ̀ wọ̀nyí padà.
- MAX_DISTANCE: Èyí ń ṣètò ìwọ̀n ọ̀nà tí ó pọ̀ jù ní sẹ̀ǹtímítà tí sensori yóò wọ̀n. HC-SR04 lè wọ̀n títí dé 400-500cm, ṣùgbọ́n ṣíṣètò iye tí ó kéré sí i lè mú kí àwọn ìwọ̀n náà túbọ̀ péye àti pé ó gbẹ́kẹ̀lé, pàápàá fún àwọn ọ̀nà kúkúrú.
Nínú iṣẹ́ loop(), kóòdù náà ń ṣe àwọn ìgbésẹ̀ wọ̀nyí:
- O nlo
sonar.ping_cm()iṣẹ lati wọn ijinna ki o si fi pamọ sinudistanceoniyipada. - O nu LCD naa kuro ki o si tẹ ọrọ "Robojax.com" sita lori laini akọkọ.
- Lẹhinna o ṣeto kọsọ si laini keji ki o si tẹ "Distance: " sita.
- Nikẹhin, o gbe kọsọ si ipo 10 lori laini keji lati tẹ iye
distanceti a wọn jade ti o tẹle pẹlu "cm".
delay(200) ni opin lupu naa n ṣakoso igbohunsafẹfẹ ti sensọ naa ṣe igbasilẹ tuntun ati imudojuiwọn ifihan naa.
Ifihan Koodu
Ni kete ti a ti gbe koodu naa soke si Arduino rẹ, LCD naa yoo tan imọlẹ ki o si bẹrẹ si ṣafihan ijinna naa. O le ṣe idanwo eto naa nipa gbigbe ọwọ rẹ tabi ohun kan sunmọ ati jinna si sensọ ultrasonic naa. Nọmba lori iboju naa yẹ ki o ṣe imudojuiwọn ni akoko gidi, ti o nfihan ijinna ni centimeters. (ninu fidio ni 38:07)
Awọn iṣẹ akanṣe ti o ni ibatan lati fidio yii
- Ẹkọ 20/31: Lilo LCD1602 pẹlu Arduino lati ṣafihan ọrọ | Robojax
- Ẹkọ 20/31: Ṣafihan Iwọn otutu ati ọrinrin lati DHT11 lori iboju LCD
- Ẹkọ 20/31: Ṣafihan foliteji lori LCD1602
Awọn ipin
- [00:00] Ifihan si LCD1602 ati Akopọ Ise agbese
- [01:30] Alaye Hardware LCD1602 ati Module I2C
- [03:14] LCD Pinout ati Iṣeto Adirẹsi I2C
- [05:28] Awoṣe Asopọ fun LCD1602
- [06:16] Fifi sori ẹrọ Ile-ikawe LCD ti o nilo
- [07:24] Koodu ipilẹ lati tẹ ọrọ sita lori LCD
- [08:11] Wiwa Adirẹsi I2C ti LCD rẹ
- [11:10] Awọn apẹẹrẹ LCD: Kọsọ Didan ati Awọn ohun kikọ Aṣa
- [18:51] Apẹẹrẹ LCD: Ifihan Serial ati Ọrọ Yiyi
- [24:36] Ṣafihan Iwọn otutu ati ọrinrin DHT11 lori LCD
- [33:00] Ṣafihan Foliteji lati Potentiometer lori LCD
- [35:56] Apapọ Koodu Sensọ Ultrasonic pẹlu LCD
- [38:07] Ifihan ti Ifihan Ijinna Ultrasonic
/*
This sketch reads the distance using the ultrasonic sensor and displays on LCD1602
Download and resource page https://robojax.com/RJT878
watch video https://www.youtube.com/watch?v=NXAswOc_2zg
*/
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
const int displayChars =16;
const int displayRows =2;
// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, displayChars, displayRows);
int shomar =0;
#include <NewPing.h>
#define TRIGGER_PIN 12 // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define ECHO_PIN 11 // Arduino pin tied to echo pin on the ultrasonic sensor.
#define MAX_DISTANCE 190 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.
int distance;
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance.
void setup() {
Serial.begin(9600); // Open serial monitor at 9600 baud to see ping results.
// Robojax code for LCD with I2C
// initialize the LCD,
lcd.begin();
// Turn on the blacklight and print a message.
lcd.backlight();
}
void loop() {
distance = sonar.ping_cm();//get the distance in cm
lcd.clear();
lcd.print("Robojax.com");
lcd.setCursor (0,1);//set cursor to char 0 line 2
lcd.print("Distance: ");
lcd.setCursor (10,1);
lcd.print(distance);
lcd.print("cm");
delay(200);
}
Ohun ti o le nilo
-
AmazonSunFounder Arduino Learning Kit on AliExpresss.click.aliexpress.com
-
Amazon
-
Amazon
-
Amazon
-
Amazon
Orisun & itọkasi
-
Iwe-ẹriDocumentation for SunFounder 3 in 1 IoT/Smart Car/Learning Kitdocs.sunfounder.com
-
Ita gbangbaPurchase SunFounder's 3-in-1 Smart car learning kitsunfounder.com
Fáìlìs📁
Awọn ile-ikawe Arduino (zip)
-
koodu orisun akojọpọ ẹkọ 3-in-1 Smart Car ti SunFounder
3in1-kit-main-v2.zip12.80 MB
Iwe Itọsọna Olumulo
-
SunFounder 3-in-1 Arduino Smart Car iwe afọwọkọIwe yii ṣe afihan igbese-igbese apejọ ti SunFounder 3-in-1 Arduino Smart Car
SunFounder_car_assembly_manual.pdf1.20 MB