LCD dakikalık sayaç
Geçen saniyeyi mod kullanarak 60 saniyelik çevrime böl.
13+ yaş · 35 dakika ·
İnteraktif atölyede aç →Neler öğreneceğiz?
Geçen saniyeyi mod kullanarak 60 saniyelik çevrime böl.
LCD 4 bit paralel modda çalışır; 7–10 numaralı veri uçları boş kalır. Kontrast görünmezse potu yavaşça çevir. Bu devre I2C adaptörlü ekran için değildir. LCD metinleri karakter seti nedeniyle ASCII yazılmıştır.
Malzeme listesi
- 1 × Arduino Uno R3
- 1 × USB veri kablosu
- 1 × breadboard
- Yeterli sayıda jumper kablo
- 1 × HD44780 uyumlu LCD1602 (paralel)
- 1 × 10 kΩ kontrast potansiyometresi
- 1 × 220 Ω arka ışık direnci
Bağlantı tablosu
| Başlangıç | Bağlantı |
|---|---|
| LCD 1 VSS / 5 RW / 16 K | GND |
| LCD 2 VDD | 5V |
| LCD 3 VO | 10 kΩ pot orta uç (dış uçlar 5V ve GND) |
| LCD 4 RS | D8 |
| LCD 6 E | D7 |
| LCD 11 D4 / 12 D5 | D6 / D5 |
| LCD 13 D6 / 14 D7 | D3 / D2 |
| LCD 15 A | 220 Ω üzerinden 5V |
Adım adım yapalım
- Önce bağlantı görselini ve malzeme listesini oku. 6–8 yaş grubunda bir yetişkin devreyi kurarken çocuk komutları ve sonucu takip eder.
- USB ve harici beslemeyi çıkar. Breadboard güç raylarının bağlı/ayrık bölümlerini kontrol et.
- LCD 1 VSS / 5 RW / 16 K ucunu GND noktasına bağla.
- LCD 2 VDD ucunu 5V noktasına bağla.
- LCD 3 VO ucunu 10 kΩ pot orta uç (dış uçlar 5V ve GND) noktasına bağla.
- LCD 4 RS ucunu D8 noktasına bağla.
- LCD 6 E ucunu D7 noktasına bağla.
- LCD 11 D4 / 12 D5 ucunu D6 / D5 noktasına bağla.
- LCD 13 D6 / 14 D7 ucunu D3 / D2 noktasına bağla.
- LCD 15 A ucunu 220 Ω üzerinden 5V noktasına bağla.
- Bir yetişkinle güç, GND, parça yönü ve dirençleri bağlantı tablosuna göre tek tek kontrol et.
- Arduino IDE’de Arduino Uno kartını ve bağlı portu seç. Servo veya LCD kullanılan projelerde ilgili Servo/LiquidCrystal kütüphanesini kur.
- Aşağıdaki bağımsız kodu yeni eskize yapıştır ve karta yükle. Seri Monitör gerekiyorsa 9600 baud seç.
- Beklenen sonucu gözle, ardından yalnız bir değişkeni değiştirerek “Sıra sende” görevini yap.
Kod · Arduino C++
// Arduino Uno R3 — LCD dakikalık sayaç
#include <LiquidCrystal.h>
LiquidCrystal lcd(8,7,6,5,3,2);
void show(String a,String b){lcd.setCursor(0,0);lcd.print(" ");lcd.setCursor(0,0);lcd.print(a.substring(0,16));lcd.setCursor(0,1);lcd.print(" ");lcd.setCursor(0,1);lcd.print(b.substring(0,16));}
void setup(){
Serial.begin(9600);
lcd.begin(16,2);
}
void loop(){
unsigned long s=millis()/1000;show("Dakika / saniye",String(s/60)+" dk "+String(s%60)+" sn");delay(200);
}
Kod nasıl çalışır?
Geçen saniyeyi mod kullanarak 60 saniyelik çevrime böl.
setup() bir kez çalışıp pin yönlerini ve haberleşmeyi hazırlar. loop() içindeki komutlar sürekli tekrarlanır. LCD 4 bit paralel modda çalışır; 7–10 numaralı veri uçları boş kalır. Kontrast görünmezse potu yavaşça çevir. Bu devre I2C adaptörlü ekran için değildir. LCD metinleri karakter seti nedeniyle ASCII yazılmıştır.
Beklenen sonuç
Saniye 59’dan sonra sıfırlanır ve dakika artar.
Sıra sende
Saat gösterimini de ekle.
Güvenli atölye
Yalnız düşük gerilimli eğitim devresi. Şebeke/priz bağlantısı yapma. Bağlantıları enerji kapalıyken ve bir yetişkinle kur. Motor/servo hareket alanını boş tut. Bu proje fiziksel devrede test edilmiş olarak işaretlenmemiştir.
Çalışmıyorsa kontrol et
- Kod yüklenmiyorsa kart, port ve USB veri kablosunu kontrol et.
- Gücü çıkarıp her bağlantıyı tablodaki satırla eşleştir; ortak GND olmadan sinyaller güvenilir olmayabilir.
- Beklenen sonuçla gerçek sonucu karşılaştır. Sensör eşikleri bulunduğun ortama göre ayar ister.
- LED yanmıyorsa seri direnci ve anot/katot yönünü kontrol et; LED içermeyen projede sensörün pin etiketlerini incele.