આ ટ્યુટોરિયલમાં, આપણે ESP32 માઇક્રોકંટ્રોલર સાથે LCD1602 અને LCD2004 નો ઉપયોગ કેવી રીતે કરવો તે શોધીશું. આ LCD સ્ક્રીનો આપણને ટેક્સ્ટ અને અન્ય માહિતી અસરકારક રીતે પ્રદર્શિત કરવાની મંજૂરી આપે છે, જે આપણા પ્રોજેક્ટ્સને વિઝ્યુઅલ પ્રતિસાદ સાથે વધારે છે. આપણે કોન્ટ્રાસ્ટને સમાયોજિત કરવાનું પણ આવરી લઈશું જેથી વાંચનક્ષમતા સુનિશ્ચિત થાય.
ESP32, જે SunFounder ESP32 IoT લર્નિંગ કિટનો ભાગ છે, તેમાં બિલ્ટ-ઇન Wi-Fi અને બ્લૂટૂથ ક્ષમતાઓ છે, જે તેને વિવિધ IoT એપ્લિકેશનો માટે એક શક્તિશાળી સાધન બનાવે છે. LCD ને ESP32 સાથે જોડીને, આપણે આપણા કોડમાંથી સંદેશાઓ અથવા ડેટા આઉટપુટ સરળતાથી પ્રદર્શિત કરી શકીએ છીએ, જે આપણા પ્રોજેક્ટ્સને વધુ ઇન્ટરેક્ટિવ અને વપરાશકર્તા-મૈત્રીપૂર્ણ બનાવે છે (વિડિયોમાં 00:30 પર).
હાર્ડવેર સમજાવ્યું
આપણે ઉપયોગ કરીશું તે મુખ્ય ઘટકોમાં ESP32 માઇક્રોકંટ્રોલર અને LCD1602 અથવા LCD2004 ડિસ્પ્લે મોડ્યુલનો સમાવેશ થાય છે. ESP32 આપણા પ્રોજેક્ટના મગજ તરીકે સેવા આપશે, ઇનપુટ્સ પ્રોસેસ કરશે અને આઉટપુટ્સને નિયંત્રિત કરશે, જેમાં LCD ડિસ્પ્લેનો સમાવેશ થાય છે.
LCD મોડ્યુલ I2C દ્વારા સંચાર કરે છે, જે સંચાર માટે માત્ર બે ડેટા પિન (SDA અને SCL) નો ઉપયોગ કરીને વાયરિંગને સરળ બનાવે છે, સાથે પાવર અને ગ્રાઉન્ડ કનેક્શન્સ પણ. આ સેટઅપ બહુવિધ પિન જોડવાની જટિલતાને નોંધપાત્ર રીતે ઘટાડે છે, જે વધુ સ્વચ્છ અને વ્યવસ્થિત સર્કિટ માટે પરવાનગી આપે છે.
ડેટાશીટ વિગતો
ઉત્પાદક
SunFounder
ભાગ નંબર
LCD1602
લોજિક/IO વોલ્ટેજ
5 V
સપ્લાય વોલ્ટેજ
5 V
ડિસ્પ્લે કદ
16 x 2 અક્ષરો
બેકલાઇટ
હા
ઇન્ટરફેસ
I2C
પરિમાણો
80 x 36 mm
નોંધો / વેરિઅન્ટ્સ
સામાન્ય રીતે I2C સરનામું 0x27 સાથે ઉપયોગ થાય છે
નુકસાન અટકાવવા માટે યોગ્ય વોલ્ટેજ સપ્લાય (5 V) સુનિશ્ચિત કરો.
I2C લાઇનો પર દખલ ઘટાડવા માટે ટૂંકા વાયરનો ઉપયોગ કરો.
શ્રેષ્ઠ કોન્ટ્રાસ્ટ દૃશ્યતા માટે પોટેન્શિયોમીટરને સમાયોજિત કરો.
જો ડિસ્પ્લે શરૂ ન થાય તો I2C સરનામું તપાસો (સામાન્ય સરનામાં: 0x27, 0x3F).
ઓવરલેપ ટાળવા માટે સંદેશાઓ અપડેટ કરતા પહેલા ડિસ્પ્લે સાફ કરો.
વાયરિંગ સૂચનાઓ
ESP32-11_LCD-વાયરિંગ-સ્કીમેટિક
ESP32-11_LCD-wiring
LCD1602 ને ESP32 સાથે વાયર કરવા માટે, પહેલા LCD ના ગ્રાઉન્ડ પિનને ESP32 પરના ગ્રાઉન્ડ પિન સાથે જોડો. પછી, LCD ના VCC પિનને ESP32 ના 5V આઉટપુટ સાથે જોડો. I2C સંચાર માટે, LCD ના SDA પિનને ESP32 પર પિન 21 સાથે જોડો, અને LCD ના SCL પિનને ESP32 પર પિન 22 સાથે જોડો. ખાતરી કરો કે કોઈપણ સંચાર સમસ્યાઓ ટાળવા માટે કનેક્શન્સ સુરક્ષિત છે.
એ નોંધવું મહત્વપૂર્ણ છે કે ESP32 3.3V લોજિક સ્તરે કાર્ય કરે છે, જ્યારે LCD1602 ને યોગ્ય કામગીરી માટે 5V ની જરૂર છે. તેથી, ખાતરી કરો કે તમે LCD ને નુકસાન ન થાય તે માટે યોગ્ય વોલ્ટેજ સપ્લાયનો ઉપયોગ કરી રહ્યા છો. જો તમે અલગ LCD કદનો ઉપયોગ કરી રહ્યા છો, તો I2C સરનામું અને સ્પષ્ટીકરણોના આધારે વાયરિંગને તે મુજબ સમાયોજિત કરો.
કોડ ઉદાહરણો અને વોકથ્રુ
કોડમાં, આપણે I2C સંચાર અને LCD માટે જરૂરી લાઇબ્રેરીઓ શામેલ કરીને શરૂ કરીએ છીએ. આપણે I2C સરનામું 0x27 નો ઉપયોગ કરીને LCD નું ઉદાહરણ બનાવીએ છીએ અને સ્પષ્ટ કરીએ છીએ કે તેમાં 16 કૉલમ અને 2 પંક્તિઓ છે.
#include
#include
LiquidCrystal_I2C lcd(0x27,16,2); // 16 અક્ષરો અને 2 લાઇન ડિસ્પ્લે માટે LCD સરનામું 0x27 પર સેટ કરો
આ સેટઅપ આપણને LCD ને સરળતાથી નિયંત્રિત કરવાની મંજૂરી આપે છે. setup() ફંક્શનમાં, આપણે LCD ને શરૂ કરીએ છીએ અને બેકલાઇટ ચાલુ કરીએ છીએ, ત્યારબાદ સ્વાગત સંદેશ છાપીએ છીએ.
void setup()
{
lcd.init(); // LCD ને શરૂ કરો
lcd.backlight(); // LCD બેકલાઇટ ચાલુ કરે છે.
lcd.print("Hello, world!"); // LCD પર એક સંદેશ છાપો.
delay(3000);
}
loop() ફંક્શનમાં, આપણે ડિસ્પ્લે સાફ કરીને, કર્સર સ્થિતિ સેટ કરીને અને વર્તમાન ગણતરી મૂલ્ય છાપીને સતત અપડેટ કરીએ છીએ. આ દર્શાવે છે કે LCD ગતિશીલ રીતે બદલાતી માહિતી કેવી રીતે બતાવી શકે છે.
void loop()
{
lcd.clear();
lcd.setCursor(0, 0); // કર્સર સ્થિતિ પ્રથમ પંક્તિ અને પ્રથમ કૉલમ (0, 0) પર સેટ કરે છે.
lcd.print("COUNT: ");
lcd.print(count); // ગણતરી ચલનું વર્તમાન મૂલ્ય છાપે છે.
delay(1000);
count++; // કાઉન્ટરને 1 થી વધારે છે.
}
સંપૂર્ણ કોડ લેખની નીચે લોડ થશે, જ્યાં તમે સંપૂર્ણ અમલીકરણ અને તમારા પ્રોજેક્ટ માટે ઉમેરવામાં આવેલી કોઈપણ વધારાની કાર્યક્ષમતા જોઈ શકો છો.
પ્રદર્શન / શું અપેક્ષા રાખવી
એકવાર બધું જોડાયેલું હોય અને કોડ અપલોડ થઈ જાય, LCD એ કાઉન્ટર શરૂ કરતા પહેલા 3 સેકંડ માટે "Hello, world!" પ્રદર્શિત કરવું જોઈએ જે દર સેકંડે વધે છે. તમે પોટેન્શિયોમીટરનો ઉપયોગ કરીને કોન્ટ્રાસ્ટને સમાયોજિત કરી શકો છો જેથી ખાતરી થાય કે ટેક્સ્ટ સરળતાથી વાંચી શકાય (વિડિયોમાં 08:45 પર).
જો તમને કોઈ સમસ્યા આવે, તો વાયરિંગ કનેક્શન્સ તપાસો અને ખાતરી કરો કે યોગ્ય I2C સરનામું ઉપયોગમાં લેવાઈ રહ્યું છે. એક સામાન્ય ભૂલ એ છે કે LCD ના I2C સરનામાને કોડમાં સેટ કરેલા સાથે મેળ ખાતું નથી, જે ડિસ્પ્લેને યોગ્ય રીતે કાર્ય કરતા અટકાવી શકે છે.
વિડિયો ટાઇમસ્ટેમ્પ્સ
00:00 શરૂઆત
1:47 LCD નો પરિચય
3:26 દસ્તાવેજીકરણ પૃષ્ઠ
5:06 ESP32 સાથે LCD કેવી રીતે વાયર કરવું
9:07 Arduino પર ESP32 બોર્ડ અને COMP પોર્ટ પસંદ કરવું
810-ESP32 Tutorial 11/55- Arduino code for LCD using ESP32
Language: 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.
}
Disclosure: As an Amazon Associate, we earn from qualifying purchases. This means we may receive a small commission if you click a link and make a purchase at no extra cost to you.