Tafuta Msimbo

Somo la 20/31: Kutumia LCD1602 na Arduino kuonyesha maandishi | Robojax

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.

screenshot-2

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

lcd1602_I2C_wiring_sunfounder

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:

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

Bilder

LCD1602_wiring_DHT11_bb
LCD1602_wiring_DHT11_bb
LCD1602_wiring_DHT11_nopcb_bb
LCD1602_wiring_DHT11_nopcb_bb
LCD1602 displaying voltage and title
LCD1602 displaying voltage and title
screenshot-2
screenshot-2
lcd1602_I2C_wiring_sunfounder
lcd1602_I2C_wiring_sunfounder
910-Lesson 20/31: Displaying simple text on LCD1602
Språk: C++
/*
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
}

Resurser och referenser

Filer📁

Arduino-bibliotek (zip)