Üç bölgeli gösterge
Analog aralığı üç parçaya ayırıp uygun LED’i yak.
9+ yaş · 20 dakika ·
İnteraktif atölyede aç →Neler öğreneceğiz?
Analog aralığı üç parçaya ayırıp uygun LED’i yak.
Orta uç 0–5 V arasında değişir. Uno 10 bit ADC ile yaklaşık 0–1023 değer üretir; dış uçlar yer değiştirirse dönüş yönü ters olur.
Her LED’in kendine ait seri direnci vardır. Kırmızı D8, sarı D7, yeşil D6 pinindedir.
Malzeme listesi
- 1 × Arduino Uno R3
- 1 × USB veri kablosu
- 1 × breadboard
- Yeterli sayıda jumper kablo
- 1 × 10 kΩ potansiyometre
- Kırmızı, sarı ve yeşil LED
- 3 × 330 Ω direnç
Bağlantı tablosu
| Başlangıç | Bağlantı |
|---|---|
| Potansiyometre dış uç 1 | 5V |
| Potansiyometre dış uç 2 | GND |
| Potansiyometre orta uç | A0 |
| D8 | 330 Ω → kırmızı LED anot |
| D7 | 330 Ω → sarı LED anot |
| D6 | 330 Ω → yeşil LED anot |
| Üç LED katodu | GND |
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.
- Potansiyometre dış uç 1 ucunu 5V noktasına bağla.
- Potansiyometre dış uç 2 ucunu GND noktasına bağla.
- Potansiyometre orta uç ucunu A0 noktasına bağla.
- D8 ucunu 330 Ω → kırmızı LED anot noktasına bağla.
- D7 ucunu 330 Ω → sarı LED anot noktasına bağla.
- D6 ucunu 330 Ω → yeşil LED anot noktasına bağla.
- Üç LED katodu ucunu GND 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 — Üç bölgeli gösterge
int knob(){return analogRead(A0);}
void lights(bool r,bool y,bool g){digitalWrite(8,r);digitalWrite(7,y);digitalWrite(6,g);}
void setup(){
Serial.begin(9600);
pinMode(8,OUTPUT); pinMode(7,OUTPUT); pinMode(6,OUTPUT);
}
void loop(){
int v=knob();lights(v<341,v>=341&&v<682,v>=682);delay(30);
}
Kod nasıl çalışır?
Analog aralığı üç parçaya ayırıp uygun LED’i yak.
setup() bir kez çalışıp pin yönlerini ve haberleşmeyi hazırlar. loop() içindeki komutlar sürekli tekrarlanır. Orta uç 0–5 V arasında değişir. Uno 10 bit ADC ile yaklaşık 0–1023 değer üretir; dış uçlar yer değiştirirse dönüş yönü ters olur.
Her LED’in kendine ait seri direnci vardır. Kırmızı D8, sarı D7, yeşil D6 pinindedir.
Beklenen sonuç
Düğmenin alt, orta ve üst bölgesinde ayrı renk yanar.
Sıra sende
Sınırları 250 ve 750 olarak değiştir.
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.