Search Code

ESP32 ትምህርት 11/55 - LCD1602 LCD2004 ከESP32 ጋር መጠቀም -SunFounder የESP32 IoT መማሪያ ኪት

ESP32 ትምህርት 11/55 - LCD1602 LCD2004 ከESP32 ጋር መጠቀም -SunFounder የESP32 IoT መማሪያ ኪት

በዚህ ትምህርት ውስጥ፣ LCD1602 እና LCD2004 ከESP32 ማይክሮኮንትሮለር ጋር እንዴት መጠቀም እንደምንችል እንመረምራለን። እነዚህ የኤልሲዲ ስክሪኖች ጽሑፍን እና ሌሎች መረጃዎችን በብቃት እንድናሳይ ያስችሉናል፣ ይህም ፕሮጀክቶቻችንን በእይታ ግብረመልስ ያሻሽላል። እንዲሁም ተነባቢነትን ለማረጋገጥ ንፅፅሩን እንዴት ማስተካከል እንደምንችል እንሸፍናለን።

ESP32፣ የSunFounder ESP32 IoT መማሪያ ኪት አካል፣ አብሮ የተሰራ Wi-Fi እና ብሉቱዝ አቅም አለው፣ ይህም ለተለያዩ IoT አፕሊኬሽኖች ኃይለኛ መሣሪያ ያደርገዋል። ኤልሲዲውን ከESP32 ጋር በማገናኘት፣ ከኮዳችን የሚመጡ መልዕክቶችን ወይም የውሂብ ውጤቶችን በቀላሉ ማሳየት እንችላለን፣ ይህም ፕሮጀክቶቻችንን የበለጠ መስተጋብራዊ እና ለተጠቃሚ ምቹ ያደርጋቸዋል (በቪዲዮ 00:30 ላይ)።

ሃርድዌር ተብራርቷል

የምንጠቀምባቸው ዋና ዋና ክፍሎች ESP32 ማይክሮኮንትሮለር እና LCD1602 ወይም LCD2004 ማሳያ ሞጁል ያካትታሉ። ESP32 የፕሮጀክታችን አንጎል ሆኖ ያገለግላል፣ ግብዓቶችን በማስኬድ እና ውጤቶችን በመቆጣጠር፣ የኤልሲዲ ማሳያውን ጨምሮ።

የኤልሲዲ ሞጁሉ በI2C ይግባባል፣ ይህም ለግንኙነት ሁለት የውሂብ ፒኖችን (SDA እና SCL) ብቻ በመጠቀም ሽቦውን ያቃልላል፣ ከኃይል እና ከመሬት ግንኙነቶች ጋር። ይህ ዝግጅት ብዙ ፒኖችን የማገናኘትን ውስብስብነት በእጅጉ ይቀንሳል፣ ይህም ንጹህ እና የበለጠ ምቹ የሆነ ዑደት እንዲኖር ያስችላል።

የዳታሼት ዝርዝሮች

አምራች SunFounder
የክፍል ቁጥር LCD1602
የሎጂክ/IO ቮልቴጅ 5 ቪ
የአቅርቦት ቮልቴጅ 5 ቪ
የማሳያ መጠን 16 x 2 ቁምፊዎች
የጀርባ መብራት አዎ
በይነገጽ I2C
ልኬቶች 80 x 36 ሚሜ
ማስታወሻዎች / ልዩነቶች በተለምዶ ከI2C አድራሻ 0x27 ጋር ጥቅም ላይ ይውላል

 

  • ጉዳትን ለመከላከል ትክክለኛ የቮልቴጅ አቅርቦት (5 ቪ) ያረጋግጡ።
  • በI2C መስመሮች ላይ ጣልቃ ገብነትን ለመቀነስ አጫጭር ሽቦዎችን ይጠቀሙ።
  • ለተመቻቸ ንፅፅር ታይነት ፖቴንሽዮሜትሩን ያስተካክሉ።
  • ማሳያው ካልጀመረ የI2C አድራሻውን ያረጋግጡ (የተለመዱ አድራሻዎች፡ 0x27፣ 0x3F)።
  • መደራረብን ለማስቀረት መልዕክቶችን ከማዘመን በፊት ማሳያውን ያጽዱ።

የሽቦ መገጣጠሚያ መመሪያዎች

ESP32-11_LCD-wiring-schematic
ESP32-11_LCD-wiring

LCD1602ን ከESP32 ጋር ለማገናኘት፣ በመጀመሪያ የኤልሲዲውን የመሬት ፒን በESP32 ላይ ካለው የመሬት ፒን ጋር ያገናኙ። ከዚያም የኤልሲዲውን የVCC ፒን ከESP32 የ5V ውጤት ጋር ያገናኙ። ለI2C ግንኙነት፣ የኤልሲዲውን የSDA ፒን በESP32 ላይ ካለው ፒን 21 ጋር ያገናኙ፣ እና የኤልሲዲውን የSCL ፒን በESP32 ላይ ካለው ፒን 22 ጋር ያገናኙ። የግንኙነት ችግሮችን ለማስቀረት ግንኙነቶቹ ደህንነታቸው የተጠበቀ መሆናቸውን ያረጋግጡ።

ESP32 በ3.3V የሎጂክ ደረጃዎች ሲሰራ፣ LCD1602 ትክክለኛ አሠራር ለማግኘት 5V እንደሚፈልግ ልብ ማለት ያስፈልጋል። ስለዚህ ኤልሲዲውን ላለማበላሸት ትክክለኛውን የቮልቴጅ አቅርቦት እየተጠቀሙ መሆንዎን ያረጋግጡ። የተለየ የኤልሲዲ መጠን እየተጠቀሙ ከሆነ፣ በI2C አድራሻ እና ዝርዝሮች መሠረት ሽቦውን በዚሁ መሠረት ያስተካክሉ።

የኮድ ምሳሌዎች እና ማብራሪያ

በኮዱ ውስጥ፣ ለI2C ግንኙነት እና ለኤልሲዲው አስፈላጊ የሆኑትን ቤተ-መጻሕፍት በማካተት እንጀምራለን። የኤልሲዲውን ምሳሌ የI2C አድራሻ 0x27 በመጠቀም እንፈጥራለን እና 16 አምዶች እና 2 ረድፎች እንዳሉት እንገልጻለን።

#include  
#include 

LiquidCrystal_I2C lcd(0x27,16,2);  // የኤልሲዲ አድራሻውን ለ16 ቁምፊዎች እና 2 መስመር ማሳያ ወደ 0x27 ያዘጋጁ

ይህ ዝግጅት ኤልሲዲውን በቀላሉ እንድንቆጣጠር ያስችለናል። በsetup() ተግባር ውስጥ፣ ኤልሲዲውን እንጀምራለን እና የጀርባ መብራቱን እናበራለን፣ ከዚያም የእንኳን ደህና መጡ መልዕክት እናተምታለን።

void setup()
{
  lcd.init(); // ኤልሲዲውን ያስጀምሩ
  lcd.backlight(); // የኤልሲዲ የጀርባ መብራቱን ያበራል።
  lcd.print("Hello, world!");   // በኤልሲዲው ላይ መልዕክት ያትሙ።
  delay(3000);
}

loop() ተግባር ውስጥ፣ ማሳያውን በማጽዳት፣ የጠቋሚውን ቦታ በማዘጋጀት እና የአሁኑን የመቁጠሪያ ዋጋ በማተም ማሳያውን ያለማቋረጥ እናዘምናለን። ይህ ኤልሲዲው ተለዋዋጭ መረጃን እንዴት ማሳየት እንደሚችል ያሳያል።

void loop()
{
  lcd.clear(); 
  lcd.setCursor(0, 0); // የጠቋሚውን ቦታ ወደ መጀመሪያው ረድፍ እና የመጀመሪያው አምድ (0, 0) ያዘጋጃል።
  lcd.print("COUNT: ");
  lcd.print(count); // የመቁጠሪያ ተለዋዋጭውን የአሁኑን ዋጋ ያትማል።
  delay(1000);
  count++; // ቆጣሪውን በ1 ይጨምራል።
}

ሙሉ ኮዱ ከጽሑፉ በታች ይጫናል፣ እዚያም የተሟላ ትግበራውን እና ለፕሮጀክትዎ የተጨመሩ ተጨማሪ ተግባራትን ማየት ይችላሉ።

ማሳያ / ምን እንደሚጠበቅ

ሁሉም ነገር ከተገናኘ እና ኮዱ ከተጫነ በኋላ፣ ኤልሲዲው በየሰከንዱ የሚጨምር ቆጣሪ ከመጀመሩ በፊት "Hello, world!" ለ3 ሰከንድ ማሳየት አለበት። ጽሑፉ በቀላሉ እንዲነበብ ለማድረግ ፖቴንሽዮሜትሩን በመጠቀም ንፅፅሩን ማስተካከል ይችላሉ (በቪዲዮ 08:45 ላይ)።

ማንኛውም ችግር ካጋጠምዎ፣ የሽቦ ግንኙነቶችን ያረጋግጡ እና ትክክለኛው የI2C አድራሻ ጥቅም ላይ መዋሉን ያረጋግጡ። የተለመደ ስህተት የኤልሲዲውን የI2C አድራሻ በኮዱ ውስጥ ከተቀመጠው ጋር አለማዛመድ ነው፣ ይህም ማሳያው በትክክል እንዳይሰራ ሊከለክለው ይችላል።

የቪዲዮ የጊዜ ማህተሞች

  • 00:00 መጀመሪያ
  • 1:47 የኤልሲዲ መግቢያ
  • 3:26 የሰነድ ገጽ
  • 5:06 ኤልሲዲውን ከESP32 ጋር እንዴት ማገናኘት እንደሚቻል
  • 9:07 የESP32 ቦርድ እና የCOMP ወደብ በArduino ላይ መምረጥ
  • 8:51 የኤልሲዲ ቤተ-መጻሕፍት መጫን
  • 10:06 ለኤልሲዲው የI2C አድራሻ መፈለግ
  • 14:00 የArduino ኮድ ተብራርቷል
  • 17:50 ማሳያ
  • 20:54 LCD2004ን ከESP32 ጋር መጠቀም
  • 22:58 አረንጓዴ LCD1602 ከሰማያዊው የተሻለ ነው

ምስሎች

ESP32_11-5-l2C.MOV_snapshot_00.02.763
ESP32_11-5-l2C.MOV_snapshot_00.02.763
SunFounder-ESP32-Lesson-11-LCD1602.mp4_snapshot_20.23.926
SunFounder-ESP32-Lesson-11-LCD1602.mp4_snapshot_20.23.926
ESP32-11_LCD-wiring
ESP32-11_LCD-wiring
ESP32-11_LCD-wiring-schematic
ESP32-11_LCD-wiring-schematic
810-ESP32 Tutorial 11/55- Arduino code for LCD using ESP32
ቋንቋ: C++
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

//SDA->21,SCL->22 
LiquidCrystal_I2C lcd(0x27,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display

int count = 0;

void setup()
{
  lcd.init();// initialize the lcd 
  lcd.backlight(); // Turns on the LCD backlight.
  lcd.print("Hello, world!");   // Print a message to the LCD.
  delay(3000);
}

void loop()
{
  lcd.clear(); 
  lcd.setCursor(0, 0); // Sets the cursor position to the first row and first column (0, 0).
  lcd.print("COUNT: ");
  lcd.print(count); // Prints the current value of the count variable.
  delay(1000);
  count++; // Increments the counter by 1. 
}

ምንጮች እና ምንጮች

ፋይሎች📁

አንድ ፋይል የለም።