شیلد نمایشگر ال سی دی کاراکتری آردوینو Arduino Shield 2x16 LCD با کیپد
شیلد نمایشگر 2x16 کاراکتری آردوینو با کیپد
نمایشگرها یکی از مهم ترین اجزای پروژه های الکترونیکی به حساب می آیند. به کمک این ابزار، می توانید داده های مختلف و ورودی های دریافت شده از کاربر را نمایش دهید. شیلد ال سی دی آردوینو به همراه کیپد، یک شیلد بسیار کاربردی در پروژه های مختلف است. این شیلد علاوه بر نمایشگر 2X16، دارای کلیدهایی جهت دریافت ورودی از کاربر است. همانطور که از یک شیلد انتظار داریم، این نمایشگر به سادگی وبدون نیاز به هیچ سیم کشی، بر روی آردوینو قرار می گیرد. راه اندازی و کار با این نمایشگر بسیار ساده است. کافیست شیلد را بر روی آردوینو قرار دهید، سپس داده ها را نمایش داده و یا با کلید های 4 جهته بالا، پایین، چپ و راست، از کاربر ورودی دریافت کنید. علاوه بر کلیدهای جهتی ، یک کلید برای SELECT و کلید دیگری جهتRESET آردوینو نیز بر روی این شیلد تعبیه شده است. به کمک این کلیدها می توانید به سادگی و بدون نیاز به هیچ کلید دیگری، مقادیر را انتخاب، کم و زیاد کنید. شایان ذکر است که این شیلد برای تشخیص فشرده شدن کلیدها، تنها از یک پایه آنالوگ استفاده می کند. از این جهت سایر پایه های آنالوگ آزاد هستند. به کمک این شیلد، شما نمایشگر و کلید برای دریافت ورودی را به صورت یک جا و در کنار هم دارید.
ویژگی های کلی شیلد نمایشگر 2x16 کاراکتری آردوینو
- دارای نمایشگر 2X16 کاراکتری
- استفاده بهینه از پایه های آنالوگ و دیجیتال آردوینو
- دارای 5 کلید برای جهت، انتخاب و ریست کردن آردوینو
- قرارگیری ساده و آسان بر روی بردهای آردوینو UNO و MEGA
- دارای مولتی ترن جهت تنظیم میزان شدت نور پس زمینه نمایشگر
- قابلیت تغذیه از طریق آردوینو و بدون نیاز به هیچ منبع تغذیه اضافی
نکات فنی در راه اندازی شیلد نمایشگر 2x16 کاراکتری آردوینو
1- جهت قرار گیری شیلد بر روی آردوینو، می بایست پایه های A0 الی A5 شیلد، بر روی همین پایه های آردوینو قرار گیرند. با این روش اتصال، باقی پایه ها شیلد بر روی آردوینو قرار می گیرد.
2- با اتصال این شیلد به آردوینو، پایه های ارتباط SPI در آردوینو UNO، یعنی پایه های 10، 11، 12 و 13 و پایه های 0 الی 3، آزاد می مانند.
3- این شیلد به صورت بهینه از پایه های آردوینو استفاده می کند، برای قسمت کلیدها، این شیلد تنها پایه A0 آنالوگ را اشغال کرده و بقیه پایه های آنالوگ، آزاد هستند.
4- زمانیکه این شیلد را راه اندازی می کنید، ممکن است بر روی نمایشگر کاراکتری دیده نشود. در این حالت می بایست با چرخاندن مولتی ترن نمایشگر، نور پس زمینه را کم کنید تا کاراکترها نمایش داده شوند.
بررسی پایه های شیلد ال سی دی آردوینو
برای ارسال دیتا بین آردوینو و شیلد ال سی دی تنها از چند پایه آردوینو استفاده شده است که به معرفی آن ها میپردازیم:
- A0 : پایه A0 برای فراخوانی ۶ کلید قرار گرفته شده بر روی شیلد ال سی دی است و توسط این پایه فرمان ارسال میشود.
- DB4 – DB7 : پایه های D4 تا D7 برای ارسال دیتا بین آردوینو و شیلد ال سی دی استفاده میشود.
- DB8: پایه DB8 یا همان Register برای انتخاب دیتا و سیگنال در نمایشگر استفاده میشود.
- DB9: پایه Enable جهت فعال سازی ال سی دی استفاده میشود.
- DB10: برای کنترل Backlight استفاده میشود.
به همراه شیلد ال سی دی آردوینو چه اقلامی باید خریداری شود؟
- برد آردوینو Arduino UNO R3
- برد آردوینو Arduino UNO SMD
- برد آردوینو Arduino Mega2560
راه اندازی شیلد ال سی دی آردوینو
با اتصال درست ماژول شما، میتوانید کد زیر را تغییر داده و عملکرد مورد نظر را به دست آورید. در مثال زیر، یک تابع تعریف شده است که مقدار دکمهها را خوانده و بر اساس دکمه فشرده شده، عملی را اجرا میکند. برای هر دکمهای که فشرده شده، نام و مقدار دکمه نمایش داده میشود. تمامی توابع مربوط به نمایشگر LCD 16×2 با استفاده از کتابخانه LiquidCrystal.h مدیریت میشوند. این توابع به صورت زیر هستند.
- LiquidCrystal lcd(rs، en، d4، d5، d6، d7) برای تعریف ارتباط 4 بیتی
- lcd.begin(16، 2) برای شروع نمایشگر
- lcd.print() برای نمایش یک رشته کاراکتر ASCII
- lcd.write() برای نمایش دادهها، به صورت یک بایت در هر بار
- lcd.setCursor(x، y) برای قرار دادن مکان نوشتاری (ستون x: 0-16، خط y: 0-2)
- lcd.clear() برای پاک کردن صفحه نمایش
//Libraries
#include <LiquidCrystal.h>//https://arduino.cc/en/Reference/LiquidCrystal
//Parameters
const int btnsPin = A0;
int btnsVal = 0;
//Objects
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);;
//Enums
enum {
BUTTON_NONE,
BUTTON_UP,
BUTTON_DOWN,
BUTTON_LEFT,
BUTTON_RIGHT,
BUTTON_SELECT,
};
void setup() {
//Init Serial USB
Serial.begin(9600);
Serial.println(F("Initialize System"));
//Init LCD16x2 Shield
lcd.begin(16, 2);
lcd.print(F("Hello World "));
delay(2000);
lcd.clear();
lcd.print(F("Button pressed: "));
}
void loop() {
btnListener(getBtnPressed());
}
void btnListener(byte btnStatus) { /* function btnListener */
//// Get button value when pressed
lcd.setCursor(0, 1);
switch (btnStatus) {
case BUTTON_UP:
lcd.print(F("UP "));
lcd.print(btnsVal);
break;
case BUTTON_DOWN:
lcd.print(F("DOWN "));
lcd.print(btnsVal);
lcd.print(" ");
break;
case BUTTON_LEFT:
lcd.print(F("LEFT "));
lcd.print(btnsVal);
lcd.print(" ");
break;
case BUTTON_RIGHT:
lcd.print(F("RIGHT "));
lcd.print(btnsVal);
lcd.print(" ");
break;
case BUTTON_SELECT:
lcd.print(F("SELECT "));
lcd.print(btnsVal);
lcd.print(" ");
break;
default://case BUTTON_NONE:
//lcd.print(F(" "));
break;
}
delay(100);
}
byte getBtnPressed() { /* function getBtnPressed */
//// Get button value when pressed
btnsVal = analogRead(btnsPin);
if (btnsVal < 50)
return BUTTON_RIGHT;
else if (btnsVal < 250)
return BUTTON_UP;
else if (btnsVal < 350)
return BUTTON_DOWN;
else if (btnsVal < 450)
return BUTTON_LEFT;
else if (btnsVal < 650)
return BUTTON_SELECT;
else
return BUTTON_NONE;
}
مشخصات
- کاربری
- استفاده نیمه صنعتی
- نوع ماژول
- شیلد - Shield
- نوع شیلد
- شیلد ال سی دی - LCD Shield
- تعداد قطعات
- 11 عدد
- ابعاد فیبر
- 80 * 58 میلی متر
- تعداد فیبر
- 1 عدد
- سطح تجربه مورد نیاز
- مبتدی
- ابعاد
- 75x57mm
- نوع ال ای دی
- معمولی
- ولتاژ مورد نياز
- 5 ولت DC
- فیبر مدار چاپی
- فایبر گلاس
- چاپ مس
- دارای چاپ مشکی
- رنگ بندی
- LCD zآبی
- اقلام همراه محصول
- ندارد
- ترتیب پایه ها
- مطابق چاپ روی برد
- سازنده
- DFRobot
- کشور سازنده
- چین
- باتری
- ندارد
- نوع کانکتور
- پین هدر
- پروتکل ارتباطی
- I2C
- ورودی ویدئو
- ندارد
- سایر توضیحات
- دارای 5 میکروسوئیچ جهت مدیریت مقادیر نمایش داده شده
- Wifi
- ندارد
- نوع LCD
- LCD کاراکتری
- صفحه نمایش لمسی
- ندارد
- کیفیت LCD
- 2x16
- تعداد رنگ
- تک رنگ
- سایر قابلیتها
- دارای بک لایت آبی با قابلیت تنظیم کنتراست
- منبع تامین انرژی
- الکتریسیته
- نسخه آردوینو
- نمایشگر آردوینو
- نوع نمایشگر
- نمایشگر LCD تک رنگ
- SWDCLK- پین ساعت SWD
- SWDIO- پین داده SWD
- SWDRST - پین ریست SWD
- میکروپایتون: از زبان برنامه نویسی پایتون استفاده می کند که خواندن و نوشتن آن آسان است و برای مبتدیان مناسب تر است.
- آردوینو: از زبان برنامه نویسی مبتنی بر C++ استفاده می کند که پیچیده تر است و به دانش برنامه نویسی بیشتری نیاز دارد.
- میکروپایتون: می تواند بر روی بردهای مختلف میکروکنترلر، از جمله ESP8266، ESP32 و Raspberry Pi Pico اجرا شود.
- آردوینو: پلتفرمی با مجموعه ای از بردهای توسعه خود است که هر کدام ویژگی ها و قابلیت های خاص خود را دارند.
- میکروپایتون: به طور پیش فرض از بسیاری از کتابخانه های مفید مانند GPIO، ADC، PWM، I2C، SPI و Wi-Fi پشتیبانی می کند.
- آردوینو: برای استفاده از بسیاری از این کتابخانه ها، نیاز به نصب کتابخانه های خارجی دارید.
- میکروپایتون: جامعه ای رو به رشد دارد، اما به اندازه جامعه آردوینو بزرگ نیست.
- آردوینو: جامعه ای بزرگ و فعال با پشتیبانی گسترده و منابع آموزشی فراوان دارد.
- میکروپایتون: به طور کلی سریعتر از آردوینو است.
- آردوینو: برای پروژه های مبتنی بر الکترونیک و سخت افزار مناسب تر است.
- سطح تجربه شما در برنامه نویسی: اگر مبتدی هستید، میکروپایتون انتخاب آسان تری است.
- نوع پروژه ای که می خواهید انجام دهید: اگر به دنبال پروژه ای مبتنی بر الکترونیک هستید، آردوینو انتخاب مناسب تری است.
جهت دسترسی به پروژههای آردوینو از سایت دیجی اسپارک استفاده کنید. طی سالیان گذشته تا به امروز هر روز آموزشهای جدید در جهت توسعه و یادگیری برنامهنویسی آردوینو منتشر شده است. همچنین در سایت دانشجوکیت در بخش کیتهای آردوینو و پروژه های آردوینو، پروژههای متنوعی در اختیار کاربران قرار گرفته شده است تا به روزترین آموزشها را دریافت کنن.
// تعریف تابع
void myFunction() {
// بدنه تابع (کد اجرایی)
}
void setup() {
// کد تنظیمات...
}
void loop() {
// کد اجرایی...
myFunction(); // فراخوانی تابع
}
میکروپروسسور یک تراشه کلی است که اجزای مختلف سیستم را در خود جای داده است، در حالی که میکروکنترلر، یک نوع ویژه از میکروپروسسور است که اجزای کنترلی و ورودی/خروجی را برای اجرای برنامههای کنترلی دارد.
برای یادگیری آردوینو، نیازی به دانش قبلی در زمینه الکترونیک یا برنامهنویسی ندارید. با این حال، داشتن دانش پایه در این زمینهها میتواند به شما کمک کند تا یادگیری آردوینو را سریعتر و آسانتر انجام دهید. اگر دانش پایهای در زمینه الکترونیک ندارید، میتوانید با مطالعه دیجی اسپارک، مقالات و دورههای آموزشی آنلاین و متنی، این دانش را به دست آورید. اگر دانش پایهای در زمینه برنامهنویسی ندارید، میتوانید با یادگیری زبان برنامهنویسی C/C++، شروع به یادگیری آردوینو کنید.
برای کدنویسی در آردوینو، باید از زبان برنامهنویسی C/C++ استفاده کنید. کدهای آردوینو در فایلهای متنی با پسوند .ino ذخیره میشوند. برای نوشتن کدهای آردوینو، میتوانید از نرمافزار Arduino IDE استفاده کنید. در نرم افزار نمونه کد ساده برای شروع قرار گرفته شده است اما میتوانید با مراجعه به سایت دیجی اسپارک از سری آموزشهای مقدماتی و رایگان بهره ببرید.
برای شروع کار با آردوینو، نیازی به دانش قبلی در زمینه الکترونیک یا برنامهنویسی ندارید. با این حال، داشتن دانش پایه در این زمینهها میتواند به شما کمک کند تا یادگیری آردوینو را سریعتر و آسانتر انجام دهید.
برای شروع کار با آردوینو، به یک برد آردوینو ترجیحا مدل UNO R3 و یا R4، کابل Type Bو یک سیستم نیاز دارید. از نرمافزار Arduino IDE برای نوشتن و کامپایل کردن کدهای آردوینو و برنامهنویسی استفاده کنید. برای خرید قطعات کیت سنسور انتخاب خوبی برای شروع برنامه نویسی میکروکنترلرهاست و به مجموعهای از سنسورهای کاربردی دسترسی خواهید داشت.
digitalRead برای خواندن وضعیت یک پین دیجیتال (HIGH یا LOW) و analogRead برای خواندن ولتاژ از یک پین آنالوگ استفاده میشود.
Serial.print داده را به صورت ASCII به سریال ارسال میکند، در حالیکه Serial.write داده را به صورت بایتی ارسال میکند.
آردوینو به صورت پیشفرض thread است. برای پیادهسازی چندنخی، میتوان از توابع اینتراپت و مدیریت توابع کالبک (callback functions) استفاده کرد.
در این خصوص پیشنهاد میشود از فول پک سنسور استفاده کنید.
در ادامه لینک کالا قرار گرفته شده است.
برای عیب یابی کد خود در نرم افزار آردوینو می توانید از بخش Debug استفاده کنید. برای این کار، ابتدا باید گزینه Debug را از منوی Tools انتخاب کنید. سپس، کد خود را به صورت مرحله ای اجرا کنید و مقادیر متغیرها را مشاهده کنید. برای این کار، می توانید از دکمه های Step Into، Step Over، Step Out، و Run استفاده کنید.
در Arduino IDE، خروجی Serial Monitor به عنوان یک ابزار برای مشاهده لاگها به کار میرود. اما در آینده، ابزارهای دیگر ممکن است این امکانات را گسترش دهند.
با استفاده از یک دوربین و الگوریتمهای پردازش تصویر برای تشخیص چهره میتوانید این سیستم را پیادهسازی کنید.
همچنین از برد مایکسیدوینو برای پردازش تصویر میتوانید استفاده کنید.
پین SWD در Arduino UNO R4 برای اشکال زدایی پیشرفته استفاده میشود. SWD مخفف Serial Wire Debug است و یک پروتکل ارتباطی است که برای اتصال یک ابزار اشکال زدایی به یک میکروکنترلر استفاده میشود. با استفاده از پین های SWD، می توان کد میکروکنترلر را در حین اجرا مشاهده کرد، مقادیر حافظه را خواند و نوشت، و نقاط وقفه را تنظیم کرد. این می تواند برای عیب یابی مشکلات در کد میکروکنترلر بسیار مفید باشد.
در Arduino UNO R4، پین های SWD در زیر برد قرار دارند و به شرح زیر نامگذاری شده اند:
Arduino uno R3 بر اساس میکروکنترلر ATmega328P ساخته شده است، در حالی که Arduino uno r4 RA4M1 بر اساس میکروکنترلر RA4M1 از شرکت Renesas ساخته شده است. این دو میکروکنترلر از نظر عملکرد و ویژگیهای کلی شباهتهای زیادی دارند، اما تفاوتهایی نیز با یکدیگر دارند. برخی از تفاوتهای اصلی عبارتند از:
میکروکنترلر RA4M1 دارای حافظه بیشتری، سرعت کلاک بالاتر و پشتیبانی از ویژگیهای جدیدی مانند CAN bus است.
Arduino uno r4 RA4M1 دارای یک منبع تغذیه داخلی 5 ولت است، در حالی که Arduino uno R3 نیاز به یک منبع تغذیه خارجی دارد.
Arduino uno r4 RA4M1 دارای یک پورت سریال جدید به نام JTAG است که برای عیبیابی استفاده می شود.
Arduino uno R3 گزینه بهتری برای مبتدیان است زیرا ارزان تر و سادهتر است. همچنین دارای یک کتابخانه گسترده تر از کدها و مثال ها است که برای مبتدیان مفید است.
Arduino uno r4 RA4M1 گزینه بهتری برای کاربران پیشرفته است زیرا دارای ویژگی ها و عملکردهای بیشتری است. همچنین می تواند برای پروژه هایی که نیاز به حافظه بیشتر، سرعت کلاک بالاتر یا پشتیبانی از ویژگی های جدید مانند CAN bus دارند، استفاده شود.
برای اتصال برد آردوینو uno r4 به کابل تایپ C نیاز دارید. برای برقراری ارتباط ابتدا نرمافزار آردوینو arduino ide را نصب کنید. سپس پکیج UNO R4 را نصب کنید. با استفاده از کابل تایپ C اتصال برد به سیستم را برقرار کنید.
برای نصب برد Arduino Uno R4 Minima RA4M1 در نرمافزار Arduino، ابتدا باید نرمافزار Arduino را از وبسایت رسمی Arduino دانلود و نصب کنید. پس از نصب نرمافزار Arduino، مراحل زیر را دنبال کنید:
۱. در نرمافزار Arduino، به منوی File > Preferences بروید.
۲. در پنجره باز شده، به بخش Boards Manager بروید.
۳. در کادر جستجو، عبارت Arduino Uno R4 Minima RA4M1 را تایپ کنید.
۴. پس از یافتن برد Arduino Uno R4 Minima RA4M1، روی دکمه Install کلیک کنید.
پس از نصب برد Arduino Uno R4 Minima RA4M1، میتوانید آن را در پروژههای خود استفاده کنید.
آردوینو یک پلتفرم توسعه است که شامل یک IDE (محیط توسعه یکپارچه) و یک زبان برنامه نویسی مبتنی بر C++ است. میکروپایتون یک زبان برنامه نویسی است که می تواند بر روی بردهای آردوینو با تراشه ESP, RP2040 و همچنین سایر میکروکنترلرها مثل ESP, STM استفاده شود.
تفاوت های کلیدی بین میکروپایتون و آردوینو:
زبان برنامه نویسی:
سخت افزار:
قابلیت ها:
جامعه:
موارد دیگر:
انتخاب بین میکروپایتون و آردوینو به عوامل مختلفی بستگی دارد:
با سلام
کاربر گرامی برای این منظور بایستی از ماژول PCF8574 استفاده کنید. لینک ماژول PCF8574 را بررسی کنید.
در نظر داشته باشید، با اتصال تغذیه بدون اجرا شدن کد برنامه، نمایشگر فرمان روشن و فعال شدن را دریافت نمیکند و بایستی کد را ابتدا آپلود و سپس تغییرات را مشاهده کنید.
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.