Menggunakan LCD dengan Digispark USB untuk menampilkan teks | Robojax
Proyek ini menunjukkan cara menghubungkan layar LCD 1602 dengan mikrokontroler Digispark untuk menampilkan pesan teks. Ini adalah keterampilan dasar dalam sistem tertanam, berguna untuk membuat tampilan khusus untuk berbagai aplikasi. Ukuran Digispark yang kecil dan biayanya yang rendah membuatnya ideal untuk proyek kompak.
Ide Proyek:
- Buat jam digital sederhana.
- Tampilkan pembacaan sensor (suhu, kelembapan, dll.).
- Bangun indikator status khusus untuk proyek yang lebih besar.
- Kembangkan game dasar dengan umpan balik di layar.
Perangkat Keras/Komponen
Proyek ini menggunakan layar LCD 1602 (16 karakter x 2 baris) (di video pada 00:21), mikrokontroler Digispark (versi USB atau micro USB – kabelnya sebagian besar sama, tetapi koneksi ke komputer berbeda (di video pada 00:34)), dan kabel jumper. Layar LCD mencakup modul komunikasi I2C (di video pada 00:56), lampu latar, dan potensiometer untuk menyesuaikan kecerahan layar (di video pada 01:31).
Panduan Pengkabelan
Koneksi kabel adalah sebagai berikut (di video pada 02:09):
- Ground LCD ke Ground Digispark
- VCC LCD ke 5V Digispark
- SDA LCD ke Pin 0 Digispark
- SCL LCD ke Pin 1 Digispark
Penjelasan Kode
Kode Arduino menggunakan pustaka LiquidCrystal. Yang penting, Anda perlu menentukan alamat I2C LCD Anda menggunakan pemindai I2C (di video pada 03:36). Alamat ini (biasanya nilai heksadesimal seperti 0x3F, 0x27, atau 0x38) harus dimasukkan dalam kode (di video pada 03:29). Kode juga mendefinisikan jumlah kolom (16) dan baris (2) dari LCD (di video pada 05:57). Fungsi setup() menginisialisasi LCD dan mencetak pesan awal. Fungsi loop() terus-menerus membersihkan LCD, mencetak "RoboJax" di baris pertama, dan "Hello World!" di baris kedua (di video pada 06:54), dengan penundaan setengah detik antara pembaruan (di video pada 07:46).
// ... (kode lain dihilangkan) ...
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
// ... (kode lain dihilangkan) ...
//Baris ini mengatur alamat I2C dari LCD
lcd.begin(16, 2); //Baris ini mengatur dimensi LCD
// ... (kode lain dihilangkan) ...
Proyek Langsung/Demonstrasi
Video ini menunjukkan kompilasi dan unggahan kode yang berhasil ke Digispark (di video pada 08:20). LCD menampilkan teks yang diprogram, mengonfirmasi fungsionalitas rangkaian (di video pada 08:48).
Bab
- [00:01] Pendahuluan
- [00:21] Tinjauan LCD 1602
- [01:06] Koneksi Perangkat Keras
- [02:09] Detail Pengkabelan
- [02:53] Tinjauan Kode
- [03:27] Menemukan Alamat I2C
- [05:04] Mengunggah Kode
- [06:54] Penjelasan Kode: Fungsi Loop
- [08:20] Demonstrasi Langsung
// 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
}
Hal-hal yang mungkin Anda butuhkan
-
eBay
-
AliExpressPurchase Digispark Attiny85 from AliExpresss.click.aliexpress.com
Sumber daya & referensi
-
EksternalATtiny88 datasheet (PDF)ww1.microchip.com
Berkas📁
File lainnya
-
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