Search Code

Použitie LCD s Digispark USB na zobrazenie textu | Robojax

Použitie LCD s Digispark USB na zobrazenie textu | Robojax

Tento projekt demonštruje, ako pripojiť 1602 LCD obrazovku k mikrokontroléru Digispark na zobrazovanie textových správ. Toto je základná zručnosť v oblasti vstavaných systémov, užitočná na vytváranie vlastných displejov pre rôzne aplikácie. Malá veľkosť a nízka cena Digisparku ho robia ideálnym pre kompaktné projekty.

Nápady na projekty:

  • Vytvorte jednoduché digitálne hodiny.
  • Zobrazujte údaje zo senzorov (teplota, vlhkosť atď.).
  • Zostavte vlastný indikátor stavu pre väčší projekt.
  • Vyviňte základnú hru so spätnou väzbou na obrazovke.

Hardvér/Komponenty

Projekt používa 1602 LCD obrazovku (16 znakov x 2 riadky) (vo videu o 00:21), mikrokontrolér Digispark (buď USB alebo micro USB verziu – zapojenie je z veľkej časti rovnaké, ale pripojenie k počítaču sa líši (vo videu o 00:34)) a prepojovacie vodiče. LCD obrazovka obsahuje I2C komunikačný modul (vo videu o 00:56), podsvietenie a potenciometer na nastavenie jasu obrazovky (vo videu o 01:31).

Sprievodca zapojením

Pripojenia sú nasledovné (vo videu o 02:09):

  • LCD Ground na Digispark Ground
  • LCD VCC na Digispark 5V
  • LCD SDA na Digispark Pin 0
  • LCD SCL na Digispark Pin 1
%%WIRING%%

Vysvetlenie kódu

Arduino kód používa knižnicu LiquidCrystal. Kľúčové je zistiť I2C adresu vašej LCD pomocou I2C skenera (vo videu o 03:36). Táto adresa (zvyčajne hexadecimálna hodnota ako 0x3F, 0x27 alebo 0x38) musí byť zadaná do kódu (vo videu o 03:29). Kód tiež definuje počet stĺpcov (16) a riadkov (2) LCD (vo videu o 05:57). Funkcia setup() inicializuje LCD a vypíše úvodnú správu. Funkcia loop() nepretržite vymaže LCD, vypíše "RoboJax" na prvý riadok a "Hello World!" na druhý riadok (vo videu o 06:54), s polsekundovým oneskorením medzi aktualizáciami (vo videu o 07:46).


// ... (ostatný kód vynechaný) ...
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
// ... (ostatný kód vynechaný) ...
//Tento riadok nastavuje I2C adresu LCD
lcd.begin(16, 2); //Tento riadok nastavuje rozmery LCD
// ... (ostatný kód vynechaný) ...

Živý projekt/Demonštrácia

Video demonštruje úspešnú kompiláciu a nahratie kódu do Digisparku (vo videu o 08:20). LCD zobrazuje naprogramovaný text, čo potvrdzuje funkčnosť obvodu (vo videu o 08:48).

Kapitoly

  • [00:01] Úvod
  • [00:21] Prehľad LCD 1602
  • [01:06] Hardvérové pripojenia
  • [02:09] Podrobnosti zapojenia
  • [02:53] Prehľad kódu
  • [03:27] Nájdenie I2C adresy
  • [05:04] Nahrávanie kódu
  • [06:54] Vysvetlenie kódu: Funkcia Loop
  • [08:20] Živá demonštrácia
64-LCD1602 display for Arduino: basic code
Language: 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 
}

Things you might need

Resources & references

Files📁

Other files

  • 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