Digispark USB ile LCD kullanarak metin görüntüleme | Robojax
Bu proje, bir 1602 LCD ekranın Digispark mikrodenetleyici ile arayüzlenerek metin mesajları görüntülenmesini gösterir. Bu, gömülü sistemlerde temel bir beceridir ve çeşitli uygulamalar için özel ekranlar oluşturmada faydalıdır. Digispark'ın küçük boyutu ve düşük maliyeti, onu kompakt projeler için ideal kılar.
Proje Fikirleri:
- Basit bir dijital saat oluşturun.
- Sensör okumalarını görüntüleyin (sıcaklık, nem vb.).
- Daha büyük bir proje için özel bir durum göstergesi oluşturun.
- Ekran üzerinde geri bildirimli temel bir oyun geliştirin.
Donanım/Bileşenler
Proje, bir 1602 LCD ekran (16 karakter x 2 satır) (videoda 00:21'de), bir Digispark mikrodenetleyici (USB veya mikro USB sürümü – bağlantılar büyük ölçüde aynıdır, ancak bilgisayara bağlantı farklıdır (videoda 00:34'te)) ve jumper kablolar kullanır. LCD ekran, bir I2C iletişim modülü (videoda 00:56'da), bir arka ışık ve ekranın parlaklığını ayarlamak için bir potansiyometre içerir (videoda 01:31'de).
Bağlantı Kılavuzu
Bağlantılar şu şekildedir (videoda 02:09'da):
- LCD Toprak → Digispark Toprak
- LCD VCC → Digispark 5V
- LCD SDA → Digispark Pin 0
- LCD SCL → Digispark Pin 1
Kod Açıklaması
Arduino kodu, LiquidCrystal kütüphanesini kullanır. Kritik olarak, I2C tarayıcıyı kullanarak LCD'nizin I2C adresini belirlemeniz gerekir (videoda 03:36'da). Bu adres (genellikle 0x3F, 0x27 veya 0x38 gibi bir onaltılık değer) koda girilmelidir (videoda 03:29'da). Kod ayrıca LCD'nin sütun (16) ve satır (2) sayısını tanımlar (videoda 05:57'de). setup() fonksiyonu LCD'yi başlatır ve bir başlangıç mesajı yazdırır. loop() fonksiyonu sürekli olarak LCD'yi temizler, ilk satıra "RoboJax" ve ikinci satıra "Hello World!" yazdırır (videoda 06:54'te), güncellemeler arasında yarım saniyelik bir gecikme ile (videoda 07:46'da).
// ... (diğer kod atlandı) ...
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
// ... (diğer kod atlandı) ...
//Bu satır LCD'nin I2C adresini ayarlar
lcd.begin(16, 2); //Bu satır LCD'nin boyutlarını ayarlar
// ... (diğer kod atlandı) ...
Canlı Proje/Gösterim
Video, kodun Digispark'a başarıyla derlenip yüklendiğini gösterir (videoda 08:20'de). LCD, programlanan metni görüntüleyerek devrenin işlevselliğini doğrular (videoda 08:48'de).
Bölümler
- [00:01] Giriş
- [00:21] LCD 1602 Genel Bakış
- [01:06] Donanım Bağlantıları
- [02:09] Bağlantı Detayları
- [02:53] Kod Genel Bakış
- [03:27] I2C Adresini Bulma
- [05:04] Kodu Yükleme
- [06:54] Kod Açıklaması: Loop Fonksiyonu
- [08:20] Canlı Gösterim
// 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
}
İhtiyacın olabileceğini düşünüyor
-
eBay
-
AliExpressPurchase Digispark Attiny85 from AliExpresss.click.aliexpress.com
Kaynaklar ve referanslar
-
DışATtiny88 datasheet (PDF)ww1.microchip.com
Dosyalar📁
Diğer dosyalar
-
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