Digispark USB арқылы LCD қолданып мәтінді көрсету | Robojax
Бұл жоба Digispark микроконтроллеріне 1602 LCD экранын қосып, мәтіндік хабарламаларды көрсетуді көрсетеді. Бұл кірістірілген жүйелердегі негізгі дағды, әртүрлі қолданбаларға арналған теңшелетін дисплейлер жасауға пайдалы. Digispark-тің кішкентай өлшемі мен төмен құны оны ықшам жобалар үшін өте қолайлы етеді.
Жоба идеялары:
- Қарапайым цифрлық сағат жасаңыз.
- Датчик көрсеткіштерін көрсетіңіз (температура, ылғалдылық және т.б.).
- Үлкен жоба үшін теңшелетін күй индикаторын жасаңыз.
- Экрандағы кері байланыспен қарапайым ойын жасаңыз.
Аппараттық құралдар/Компоненттер
Жобада 1602 LCD экраны (16 таңба x 2 жол) (бейнеде 00:21), Digispark микроконтроллері (USB немесе micro USB нұсқасы – сым қосылымы негізінен бірдей, бірақ компьютерге қосылу ерекшеленеді (бейнеде 00:34)) және түйістіргіш сымдар қолданылады. LCD экранына I2C байланыс модулі (бейнеде 00:56), артқы жарық және экран жарықтығын реттеуге арналған потенциометр кіреді (бейнеде 01:31).
Сым қосылымы бойынша нұсқаулық
Сым қосылымдары келесідей (бейнеде 02:09):
- LCD Ground - Digispark Ground
- LCD VCC - Digispark 5V
- LCD SDA - Digispark Pin 0
- LCD SCL - Digispark Pin 1
Код түсіндірмесі
Arduino коды LiquidCrystal кітапханасын пайдаланады. Ең бастысы, LCD-дің I2C мекенжайын I2C сканері арқылы анықтау қажет (бейнеде 03:36). Бұл мекенжай (әдетте 0x3F, 0x27 немесе 0x38 сияқты он алтылық мән) кодқа енгізілуі керек (бейнеде 03:29). Код сонымен қатар LCD-дің бағандар (16) мен жолдар (2) санын анықтайды (бейнеде 05:57). setup() функциясы LCD-ді инициализациялайды және бастапқы хабарламаны басып шығарады. loop() функциясы LCD-ді үздіксіз тазартады, бірінші жолға "RoboJax", екінші жолға "Hello World!" деп басып шығарады (бейнеде 06:54), жаңартулар арасында жарты секунд кідіріспен (бейнеде 07:46).
// ... (басқа код алынып тасталды) ...
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
// ... (басқа код алынып тасталды) ...
//Бұл жол LCD-дің I2C мекенжайын орнатады
lcd.begin(16, 2); //Бұл жол LCD-дің өлшемдерін орнатады
// ... (басқа код алынып тасталды) ...
Тірі жоба/Демонстрация
Бейне кодтың сәтті компиляциялануын және Digispark-ке жүктелуін көрсетеді (бейнеде 08:20). LCD бағдарламаланған мәтінді көрсетіп, тізбектің жұмыс істейтінін растайды (бейнеде 08:48).
Бөлімдер
- [00:01] Кіріспе
- [00:21] LCD 1602 шолуы
- [01:06] Аппараттық қосылымдар
- [02:09] Сым қосылымының егжей-тегжейі
- [02:53] Кодқа шолу
- [03:27] I2C мекенжайын табу
- [05:04] Кодты жүктеу
- [06:54] Код түсіндірмесі: Loop функциясы
- [08:20] Тірі демонстрация
// LCD1602 Display for Arduino
// January 21, 2018 14:25 this example will work with a 1602 LCD
// Code used for YouTube video for RoboJax channel
// Watch the video https://youtu.be/S4ya3Q7uhJs
// Video and other Arduino Tutorials http://robojax.com/learn/library
// January 21, 2018 14:25
// original source https://www.arduino.cc/en/Tutorial/HelloWorld
// include the library code:
#include <LiquidCrystal.h>
// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void setup() {
// RoboJax LCD1602 Test
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
// RoboJax LCD1602 Test
}
void loop() {
// RoboJax LCD1602 Test
lcd.setCursor(0, 0);
lcd.print("RoboJax LCD Test");
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print("Hello World!");
delay(500);
// RoboJax LCD1602 Test
}
Сізге қажет болуы мүмкін нәрселер
-
eBay
-
AliExpressPurchase Digispark Attiny85 from AliExpresss.click.aliexpress.com
Ресурстар мен сілтемелер
-
СыртқыATtiny88 datasheet (PDF)ww1.microchip.com
Файлдар📁
Басқа файлдар
-
Digistump DriversDriver package for Digistump boards, including the Digispark. Contains USB drivers required to program Digistump development boards from the Arduino IDE.
Digistump.Drivers.zip