Somo la 20/31: Kutumia LCD1602 na Arduino kuonyesha maandishi | Robojax
Utangulizi
LCD1602 ni mojawapo ya vioo maarufu vya herufi na namba kwa miradi ya Arduino, na inapounganishwa na I2C backpack, inakuwa rahisi sana kutumia. Katika mafunzo haya, utajifunza jinsi ya kuonyesha maandishi, namba, na herufi maalum, pamoja na jinsi ya kusogeza maandishi kwenye skrini. Pia tutakuonyesha jinsi ya kuchanganya LCD na sensor nyingine kuunda zana za ufuatiliaji za vitendo. Mwongozo huu ni sehemu ya kozi pana ya Arduino na umeundwa kukusaidia kujenga vifaa muhimu kwa nyumba yako, shule, au warsha yako.
Hapa kuna mawazo machache ya vitendo kuhusu kile unachoweza kujenga kwa ujuzi huu:
- Kifuatiliaji cha joto na unyevu kwa chafu au eneo la wanyama watambaao.
- Voltmita rahisi ya kuangalia viwango vya betri katika miradi yako.
- Sensor ya umbali kwa msaidizi wa maegesho au pipa la takataka la smart linaloonyesha kiwango cha kujaa.
Muhtasari wa Vifaa
LCD1602 ni kioo cha herufi 16 kwa mistari 2. Moduli iliyo nyuma ni adapta ya I2C (au I²C), ambayo inapunguza idadi ya nyaya zinazohitajika kutoka kwa muunganisho wa sambamba wa kawaida hadi nne tu: Ground, VCC, SDA, na SCL. Hii inafanya wiring kuwa rahisi zaidi na inafungua pini nyingi za dijiti kwenye Arduino yako.
Kioo kina backlight, ambayo inaweza kuwashwa au kuzimwa kupitia programu. Pia kina potentiometer ndogo kwenye moduli ya I2C ili kurekebisha contrast. Ukianza kioo na usione chochote, zungusha tu screw hii hadi maandishi yaonekane (katika video saa 02:47).
Kuna matoleo tofauti ya kioo hiki, kama LCD2004 ambayo ina herufi 20 na mistari 4. Anwani ya I2C pia inaweza kubadilishwa kwa kuuza jumpers za A0, A1, na A2 kwenye moduli (katika video saa 03:51). Anwani ya kawaida mara nyingi ni 0x27, lakini inaweza kutofautiana, kwa hivyo ni vyema kuendesha scanner ya I2C kupata anwani sahihi kwa moduli yako maalum.
Vifaa vya Hardware
Ili kufuata maonyesho makuu katika video hii, utahitaji vifaa vifuatavyo:
- Arduino Uno (au bodi yoyote inayooana)
- LCD1602 na moduli ya I2C
- Breadboard na nyaya za jumper
Kwa sehemu za baadaye, utahitaji pia sensor ya DHT11, potentiometer, au sensor ya ultrasonic, kulingana na mradi unayotaka kujenga.
Mwongozo wa Wiring
Kuunganisha LCD ni rahisi. Mchoro wa wiring unaonyesha miunganisho kwa uwazi.
Unganisha pini kwenye moduli ya I2C kwa Arduino yako kama ifuatavyo:
- GND kwa Arduino GND
- VCC kwa Arduino 5V
- SDA kwa Arduino A4
- SCL kwa Arduino A5
Ikiwa bodi yako ya Arduino ina pini maalum za SDA na SCL, unaweza kuunganisha kwa hizo pia (katika video saa 05:47).
Kusakinisha Maktaba
Moduli hii inahitaji maktaba ya "Arduino Liquid Crystal I2C". Unaweza kuipakua kutoka kiungo kilichotolewa katika maelezo ya video au kutoka tovuti ya Robojax. Mara baada ya kupakua, isakinishe kwenye Arduino IDE yako kwa kwenda Sketch > Include Library > Add .ZIP Library na kuchagua faili iliyopakuliwa (katika video saa 06:41).
Maelezo ya Msimbo
Kwa kuwa hakuna sehemu za msimbo zilizotolewa, tutaelezea muundo wa jumla wa msimbo uliotumika katika video.
Msimbo huanza kwa kujumuisha maktaba muhimu: Wire.h kwa mawasiliano ya I2C na maktaba ya LiquidCrystal_I2C.h kwa kioo. Sehemu muhimu ni kuunda kitu kwa LCD. Utahitaji kuweka anwani sahihi ya I2C na vipimo vya kioo chako:
// Weka anwani ya LCD kuwa 0x27 kwa kioo cha herufi 16 na mistari 2
LiquidCrystal_I2C lcd(0x27, 16, 2);
Ikiwa kioo chako hakionyeshi chochote, huenda ukahitaji kubadilisha 0x27 kuwa 0x3F au anwani nyingine iliyopatikana na scanner yako ya I2C. 16 na 2 zinawakilisha idadi ya safu na safu mlalo kwenye kioo chako.
Katika kazi ya setup(), unaanzisha LCD na kuwasha backlight:
void setup() {
lcd.init();
lcd.backlight();
}
Ili kuchapisha maandishi, unatumia kazi ya lcd.setCursor(column, row) kuweka mshale, ikifuatiwa na lcd.print() kuonyesha data yako. Kwa mfano, kuchapisha kwenye mstari wa pili, ungetumia lcd.setCursor(0, 1). Video pia inaelezea jinsi ya kuchapisha herufi maalum kama alama ya digrii kwa kutumia lcd.write(223) (katika video saa 31:42).
Maonyesho
Video inaonyesha vipengele kadhaa muhimu vya LCD. Kwanza, inaonyesha uchapishaji wa msingi wa "Hello World" na jinsi ya kutumia kazi ya lcd.scrollDisplayLeft() kusogeza maandishi kwenye skrini. Baadaye, inachanganya LCD na sensor ya DHT11 kuonyesha joto na unyevu, na potentiometer kuonyesha voltage, na sensor ya ultrasonic kuonyesha umbali.
Kwa onyesho la joto, msimbo unasoma sensor na kuchapisha thamani. Ili kuonyesha namba nzima bila desimali, unaweza kubadilisha thamani ya float kuwa integer, kama inavyoonyeshwa kwenye video (katika video saa 32:21).
Kwa mita ya voltage, msimbo unasoma thamani ya analog kutoka kwenye potentiometer, unaipima hadi kiwango cha voltage cha 0-5V, na kuionyesha kwenye skrini (katika video saa 34:31).
Maonyesho ya mwisho yanachanganya LCD na sensor ya ultrasonic kuonyesha umbali uliopimwa kwa sentimita (katika video saa 37:55).
Miradi inayohusiana kutoka kwenye video hii
Video hii pia ina mafunzo mengine ya miradi. Unaweza kuyapata hapa:
- Somo la 20/31: Kuonyesha Joto na unyevu kutoka DHT11 kwenye skrini ya LCD
- Somo la 20/31: Kuonyesha voltage kwenye LCD1602
Sura
- [00:00] Utangulizi wa LCD1602 na muhtasari wa kozi
- [01:30] Muhtasari wa vifaa vya LCD1602 na moduli ya I2C
- [02:47] Kurekebisha utofauti wa maonyesho na mwanga wa nyuma
- [03:14] Uunganisho wa pini na uteuzi wa anwani ya I2C
- [05:28] Mchoro wa wiring kwa LCD
- [06:16] Kusakinisha maktaba inayohitajika
- [07:24] Msimbo wa msingi wa kuchapisha maandishi
- [11:10] Mfano wa mshale unaomulika
- [13:46] Herufi maalum na kuchapisha alama maalum
- [18:51] Mfano wa maonyesho ya mfululizo
- [23:16] Kusogeza maandishi kwenye LCD
- [36:51] Kuchanganya LCD na sensor ya ultrasonic
/*
Lesson 20/31: Displaying text on LCD screen
Get this code and watch video Download and resource page https://robojax.com/RJT603
YouTube video https://www.youtube.com/watch?v=NXAswOc_2zg
*/
/*
This is code for LCD1602 Display with I2C module
* watch the video for this code https://youtu.be/q9YC_GVHy5A
* Permission granted to share this code given that this
* note is kept with the code.
* Disclaimer: this code is "AS IS" and for educational purpose only.
* This library is based on work done by DFROBOT (www.dfrobot.com).
*/
/*
* This code has been modefied from the Arduino library
* Updated by Ahmad Nejrabi on Jan 20, 2018 at 11:09
* in Ajax, Ontario, Canada
* for Robojax.com
*
* This is code for LCD1602 Display with I2C module
* which can display text on the screen.
*/
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup()
{
// Robojax code for LCD with I2C
// initialize the LCD,
lcd.begin();
// Turn on the blacklight and print a message.
//lcd.backlight();
// Robojax code for LCD with I2C
}
void loop()
{
lcd.clear();
lcd.setCursor (0,0);
lcd.print("SunFounder ");
lcd.setCursor (0,1);
lcd.write(244);
delay(500);
//end of loopcode Robojax code for LCD with I2C
}
Common Course Links
Common Course Files
Tänker att du kanske behöver
-
AmazonBuy LCD1602-I2C from Amazonamzn.to
-
AmazonSunFounder Arduino Learning Kit on AliExpresss.click.aliexpress.com
-
Amazon
-
Amazon
-
Amazon
-
Amazon
-
eBayPurchase LCD1602-I2C from eBayebay.us
-
AliExpressPurchase 10pcs LCD1602-I2C from AliExpresss.click.aliexpress.com
Resurser och referenser
-
DokumentationDocumentation for SunFounder 3 in 1 IoT/Smart Car/Learning Kitdocs.sunfounder.com
-
Extern.LCD library from RoboJax (ZIP)robojax.com
-
Extern.Purchase SunFounder's 3-in-1 Smart car learning kitsunfounder.com
Filer📁
Arduino-bibliotek (zip)
-
SunFounder's 3-in-1 Smart Car learning kit source code
3in1-kit-main-v2.zip12.80 MB