Search Code

Digispark USB арқылы LCD қолданып мәтінді көрсету | Robojax

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
%%WIRING%%

Код түсіндірмесі

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] Тірі демонстрация
64-LCD1602 display for Arduino: basic code
Тіл: C++
// 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 
}

Сізге қажет болуы мүмкін нәрселер

Ресурстар мен сілтемелер

Файлдар📁

Басқа файлдар

  • Digistump Drivers
    Driver package for Digistump boards, including the Digispark. Contains USB drivers required to program Digistump development boards from the Arduino IDE.
    Digistump.Drivers.zip