لومړی ۲۰/۳۱: د LCD1602 کارول د Arduino سره د متن ښودل | Robojax
پیژندنه
LCD1602 د Arduino پروژو لپاره یو له خورا مشهورو الفانومیریک ښودونکو څخه دی، او کله چې د I2C بیک پیک سره یوځای شي، کارول یې خورا اسانه کیږي. په دې ټیوټوریل کې، تاسو به زده کړئ چې څنګه متن، شمیرې، او دودیز کرکټرونه ښکاره کړئ، او همدارنګه څنګه متن د سکرین په اوږدو کې سکرول کړئ. موږ به تاسو ته دا هم وښیو چې څنګه LCD د نورو سینسرونو سره یوځای کړئ ترڅو عملي څارنې وسیلې جوړې کړئ. دا لارښود د پراخ Arduino کورس برخه ده او ډیزاین شوی ترڅو تاسو سره ستاسو د کور، ښوونځي، یا ورکشاپ لپاره ګټورې وسیلې جوړولو کې مرسته وکړي.
دلته ځینې عملي نظرونه دي چې تاسو یې د دې پوهې سره جوړولی شئ:
- د تودوخې او رطوبت څارونکی د شنو خونو یا ژویو د احاطې لپاره.
- یو ساده ولټ میټر ستاسو په پروژو کې د بیټرۍ کچې چک کولو لپاره.
- د فاصلې سینسر د پارکینګ معاون یا د هوښیار کثافاتو کڅوړې لپاره چې ښیي څومره ډک دی.
د هارډویر عمومي کتنه
LCD1602 یو 16-کرکټره او 2-کرښې ښودونکی دی. په شا کې ماډل یو I2C (یا I²C) اډاپټر دی، کوم چې د معیاري موازي اړیکې څخه د تارونو شمیر یوازې څلورو ته کموي: ځمکه، VCC، SDA، او SCL. دا تارونه خورا ساده کوي او ستاسو په Arduino کې ډیری ډیجیټل پنونه خالي کوي.
ښودونکی د شالید رڼا لري، کوم چې د سافټویر له لارې فعال یا غیر فعال کیدی شي. دا د I2C ماډل کې یو کوچنی پوټینټیومیټر هم لري ترڅو برعکس تنظیم کړي. که تاسو ښودونکی فعال کړئ او هیڅ ونه ګورئ، په ساده ډول دا سکرو وګرځوئ ترڅو متن ښکاره شي (په ویډیو کې په 02:47 کې).
د دې ښودونکي مختلف نسخې شتون لري، لکه LCD2004 چې 20 کرکټره او 4 کرښې لري. د I2C پته هم د ماډل په A0، A1، او A2 جمپرونو سولډر کولو سره بدلیدلی شي (په ویډیو کې په 03:51 کې). ډیفالټ پته اکثرا 0x27 ده، مګر دا توپیر کولی شي، نو دا تل ښه نظر دی چې د I2C سکینر پرمخ یوسئ ترڅو ستاسو د ځانګړي ماډل لپاره سمه ومومئ.
د هارډویر اجزاوې
د دې ویډیو اصلي مظاهرې تعقیبولو لپاره، تاسو به لاندې اجزاوو ته اړتیا ولرئ:
- Arduino Uno (یا کوم مطابقت لرونکی بورډ)
- LCD1602 د I2C ماډل سره
- بریډبورډ او جمپر تارونه
د وروستیو برخو لپاره، تاسو به د DHT11 سینسر، پوټینټیومیټر، یا الټراسونیک سینسر ته هم اړتیا ولرئ، پدې پورې اړه لري چې تاسو کومه پروژه جوړول غواړئ.
د تارونو لارښود
د LCD نښلول ساده دي. د تارونو ډیاګرام اړیکې په روښانه توګه ښیي.
د I2C ماډل پنونه خپل Arduino ته لاندې ډول وصل کړئ:
- GND د Arduino GND ته
- VCC د Arduino 5V ته
- SDA د Arduino A4 ته
- SCL د Arduino A5 ته
که ستاسو د Arduino بورډ ځانګړي SDA او SCL پنونه ولري، تاسو کولی شئ هغو ته هم وصل شئ (په ویډیو کې په 05:47 کې).
د کتابتون نصبول
دا ماډل د "Arduino Liquid Crystal I2C" کتابتون ته اړتیا لري. تاسو کولی شئ دا د ویډیو توضیحاتو کې چمتو شوي لینک څخه یا د Robojax ویب پاڼې څخه ډاونلوډ کړئ. یوځل چې ډاونلوډ شي، دا په خپل Arduino IDE کې د Sketch > Include Library > Add .ZIP Library ته تللو او ډاونلوډ شوي فایل غوره کولو سره نصب کړئ (په ویډیو کې په 06:41 کې).
د کوډ تشریح
څرنګه چې هیڅ کوډ سنیپټونه چمتو شوي ندي، موږ به د ویډیو کې کارول شوي کوډ عمومي جوړښت تشریح کړو.
کوډ د اړینو کتابتونونو په شاملولو سره پیل کیږي: Wire.h د I2C اړیکو لپاره او د LiquidCrystal_I2C.h کتابتون د ښودونکي لپاره. کلیدي برخه د LCD لپاره د یو څیز جوړول دي. تاسو به اړتیا ولرئ سمه I2C پته او ستاسو د ښودونکي ابعاد تنظیم کړئ:
// د LCD پته 0x27 ته وټاکئ د 16 کرکټرو او 2 کرښو ښودونکي لپاره
LiquidCrystal_I2C lcd(0x27, 16, 2);
که ستاسو ښودونکی هیڅ ونه ښیي، تاسو ممکن اړتیا ولرئ 0x27 په 0x3F یا ستاسو د I2C سکینر لخوا موندل شوې بله پته بدله کړئ. 16 او 2 ستاسو د ښودونکي کالمونه او کرښې استازیتوب کوي.
په setup() فنکشن کې، تاسو LCD پیل کوئ او شالید رڼا فعالوئ:
void setup() {
lcd.init();
lcd.backlight();
}
د متن چاپولو لپاره، تاسو د lcd.setCursor(column, row) فنکشن کاروئ ترڅو کرسر ځای په ځای کړئ، ورپسې lcd.print() ستاسو ډاټا ښکاره کولو لپاره. د مثال په توګه، په دویمه کرښه کې چاپولو لپاره، تاسو به lcd.setCursor(0, 1) وکاروئ. ویډیو دا هم تشریح کوي چې څنګه ځانګړي کرکټرونه لکه د درجې نښه د lcd.write(223) په کارولو سره چاپ کړئ (په ویډیو کې په 31:42 کې).
مظاهره
ویډیو د LCD ډیری کلیدي ځانګړتیاوې ښیي. لومړی، دا د "Hello World" متن چاپ او د lcd.scrollDisplayLeft() فنکشن کارول ښیي ترڅو متن د سکرین په اوږدو کې حرکت وکړي. وروسته، دا LCD د DHT11 سینسر سره یوځای کوي ترڅو تودوخه او رطوبت ښکاره کړي، د پوټینټیومیټر سره د ولټاژ ښکاره کولو لپاره، او د الټراسونیک سینسر سره د فاصلې ښکاره کولو لپاره.
د تودوخې ښودنې لپاره، کوډ سینسر لوستي او ارزښت چاپوي. د لسیزو پرته بشپړ شمیرې ښودلو لپاره، تاسو کولی شئ د فلوټ ارزښت انټیجر ته واړوئ، لکه څنګه چې په ویډیو کې ښودل شوي (په ویډیو کې په 32:21 کې).
د وولټ متر لپاره، کوډ د پوټینشیو متر څخه انلاګ ارزښت لولي، دا د 0-5V ولټېج حد ته اندازه کوي، او په سکرین یې ښکاره کوي (په ویډیو کې په 34:31).
وروستۍ ننداره LCD د الټراسونیک سینسر سره یوځای کوي ترڅو اندازه شوی واټن په سانتي مترو کې ښکاره کړي (په ویډیو کې په 37:55).
د دې ویډیو اړوند پروژې
دا ویډیو نور د پروژې درسونه هم لري. تاسو یې دلته موندلی شئ:
- درس 20/31: د DHT11 څخه د تودوخې او رطوبت ښکاره کول په LCD سکرین
- درس 20/31: د ولټېج ښکاره کول په LCD1602
فصلونه
- [00:00] د LCD1602 پیژندنه او د کورس کتنه
- [01:30] د LCD1602 او I2C ماډل هارډویر کتنه
- [02:47] د نندارې کنټراسټ او شالید رڼا تنظیمول
- [03:14] د پن اړیکې او د I2C پته انتخاب
- [05:28] د LCD لپاره د تارونو ډیاګرام
- [06:16] د اړین کتابتون نصبول
- [07:24] د متن چاپولو لپاره اساسي کوډ
- [11:10] د رپیدو کرسر بېلګه
- [13:46] دودیز حروف او د ځانګړو نښو چاپول
- [18:51] سیریل نندارې بېلګه
- [23:16] په LCD باندې د متن سکرول کول
- [36:51] د LCD سره د الټراسونیک سینسر یوځای کول
/*
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
هغه شیان چې تاسو ورته اړتیا لرئ
-
امازونBuy LCD1602-I2C from Amazonamzn.to
-
امازونSunFounder Arduino Learning Kit on AliExpresss.click.aliexpress.com
-
امازون
-
امازون
-
امازون
-
امازون
-
ای بیPurchase LCD1602-I2C from eBayebay.us
-
علی ایکسپریسPurchase 10pcs LCD1602-I2C from AliExpresss.click.aliexpress.com
سرچینې او حوالې
-
اسنادDocumentation for SunFounder 3 in 1 IoT/Smart Car/Learning Kitdocs.sunfounder.com
-
بهرنیLCD library from RoboJax (ZIP)robojax.com
-
بهرنیPurchase SunFounder's 3-in-1 Smart car learning kitsunfounder.com
فایلونه📁
Arduino کتابتونونه (zip)
-
SunFounder's 3-in-1 Smart Car learning kit source code
3in1-kit-main-v2.zip12.80 MB