Titreşmeyen düğmeyle ziyaretçi sayacı
Bir kapı maketindeki düğme her basışta yalnız bir ziyaretçi saysın. Temas sıçramasını 30 ms kararlı okuma şartıyla ayıkla.
9+ yaş · 45 dakika · Arduino C++
İnteraktif atölyede aç →Neler öğreneceğiz?
Bir kapı maketindeki düğme her basışta yalnız bir ziyaretçi saysın. Temas sıçramasını 30 ms kararlı okuma şartıyla ayıkla.
Bu atölyede yalnız sonuca değil, tahmininin neden doğru veya yanlış çıktığına da bak. Bir deney günlüğünde giriş, beklenen sonuç, gözlenen sonuç ve düzeltme olmak üzere dört sütun aç.
Öğrenme hedefleri
- Bir basışın bir olay olduğunu, basılı beklemenin yeni olay olmadığını ayır.
- İkinci düğmeyle sayacı sıfırla; sıfırlama için de kararlılık kontrolü kullan.
Malzeme listesi
- Uno
- Buton
- 2 jumper
- USB kablo
Bağlantı tablosu
| Başlangıç | Bağlantı |
|---|---|
| D2 | Buton |
| Buton diğer uç | GND |
Adım adım yapalım
- Bir basışın bir olay olduğunu, basılı beklemenin yeni olay olmadığını ayır.
- D2 ile GND arasına düğme bağla. USB takmadan kısa devre olmadığını kontrol et.
- Kodu yükle ve seri monitörü 9600 baud aç.
- Beş kez basıp bırak; çıktı 1,2,3,4,5 olmalı.
- Düğmeyi üç saniye basılı tut; sayaç yalnız bir artmalı.
- 30 ms yerine 100 ms dene; çok hızlı basışların neden kaybolduğunu açıkla.
Kod · Arduino C++
const byte button=2;
int previous=HIGH,stable=HIGH,count=0;
unsigned long since=0;
void setup(){pinMode(button,INPUT_PULLUP);Serial.begin(9600);}
void loop(){
int raw=digitalRead(button);
if(raw!=previous){since=millis();previous=raw;}
if(millis()-since>=30 && raw!=stable){
stable=raw;
if(stable==LOW){count++;Serial.println(count);}
}
}Kod nasıl çalışır?
Ham değişiklik zaman sayacını yeniler. Yalnız kararlı seviyeye geçiş olay üretir; LOW geçişi sayılır. Mantık animasyonu giriş/çıkış kavramını gösterir, temas sıçramasını modellemez.
Beklenen sonuç
Beş kez basıp bırak; çıktı 1,2,3,4,5 olmalı.
Arduino Uno için derleme kontrolü yapıldı. Fiziksel devre henüz ölçülmedi; bağlantı sonrası gözlemini deney günlüğüne kaydet.
Sıra sende
İkinci düğmeyle sayacı sıfırla; sıfırlama için de kararlılık kontrolü kullan.
Güvenli atölye
Bu çalışma düşük gerilimli eğitim içindir. Donanımı enerji kapalıyken, bir yetişkinle kur. Şebeke elektriği kullanma. Kodun derlenmesi fiziksel devrenin test edildiği anlamına gelmez.
Çalışmıyorsa kontrol et
- Sonucu alamıyorsan programın ilk satırından başlayıp girdileri tek tek kontrol et.
- Donanım varsa enerjiyi ayır; GND, sinyal uçları ve parça yönlerini bağlantı tablosundan doğrula.
- Aynı anda yalnız bir şeyi değiştir; değişiklik öncesi ve sonrası sonucu günlüğe yaz.
Kontrol noktaları
- Başlamadan önce: gerekli malzemeleri say ve giriş değerlerini deney günlüğüne yaz.
- Kurulumdan sonra: her bağlantıyı aşağıdaki tabloyla karşılaştır; yazılım projesinde giriş listesini kontrol et.
- Testten sonra: beklenen sonucu kendi çıktınla karşılaştır. Fark varsa ilk farklı adımı bul.
Kaynakların kullanımı
Kaynak, ilgili kavramı öğrenmek ve karşılaştırmak içindir. Türkçe görev, örnek kod ve görseller bu atölye için özgün hazırlanmıştır; kaynak makalenin çevirisi veya kopyası değildir.