Arduino Tarifleri #15 – For Döngüsü
Bu bölümde yine başlıktan da göreceğiniz üzere, for döngüsünü kullanmayı öğreneceğiz. Kullanımı çok basit olan bu kodun kullanıldığı algoritmaları saymakla bitiremeyiz. Kendisi gerçekten çok basit olan ve çok iş yapan bu yüzdende çok fazla yerde kullanılan bir kod. Daha yolun bu kadar başında iken bile Arduino Tarifleri serimizin 3. videosunda yazılan algoritma ile kıyaslandığında siz de eminim for döngüsünün güzelliği karşısında bir vay be diyeceksiniz 🙂
Kodun kullanım şekli bakımından bir kaç varyasyon var. Kullanımın kolay olmasını sebeplerinden bir tanesi de bu zaten. Bu kullanım varyasyonları sayesinde algoritmanızdaki çeşitli senaryolara for döngüsünü rahatlıkla gömebiliyorsunuz. Neyse hiç kafa karıştırmayalım, en iyisi direk videoya geçelim. İyi seyirler dilerim, hoş çakalın, iyi çalışmalar 🙂
MALZEMELER
Bu içerik için gerekli olan tüm malzemeleri www.robo90.com üzerinden güvenle satın alabilirsiniz.
- Arduino UNO R3 – SMD Klon (CH340 Çipli) – USB Kablo Hediyeli
- Kırmızı Led – 5mm – 10 Adet
- 220R Direnç Paketi – 1/4 W – 10 Adet
- Elektronik Breadboard – Büyük Boy – 830 Pin
- Jumper Kablo
DEVRE ŞEMASI
ARDUINO KODU
/*
* Lezzetli Robot Tarifleri
* Arduino Tarifleri -15-
* Kara Şimşek (Knight Rider)
* VİDEO >>> https://lezzetlirobottarifleri.com/arduino-tarifleri-15-for-dongusu
*/
void setup()
{
pinMode(2 , OUTPUT); // pinler output olarak ayarlandı
pinMode(3 , OUTPUT);
pinMode(4 , OUTPUT);
pinMode(5 , OUTPUT);
pinMode(6 , OUTPUT);
pinMode(7 , OUTPUT);
}
void loop()
{
for (int b = 2; b < 8 ; b++) // for döngüsü
{
digitalWrite(b, HIGH); // ilgili ledi yak
delay(50); // bekle
}
for (int b = 2; b < 8 ; b++) // for döngüsü
{
digitalWrite(b, LOW); // ilgili ledi söndür
delay(50); // bekle
}
delay(50);
for (int b = 7; b > 1 ; b--) // for döngüsü
{
digitalWrite(b, HIGH); // ilgili ledi yak
delay(50); // bekle
}
for (int b = 7; b >1 ; b--) // for döngüsü
{
digitalWrite(b, LOW); // ilgili ledi söndür
delay(50); // bekle
}
}
Etiketler
7 Yorum
Bir yanıt yazın Yanıtı iptal et
Daha fazla sonuç göster
Merhaba,
Baştan başlayarak tüm derslerinizi izliyorum. Şu anda kaçıncısındayım bilmiyorum. Bir kaç yerde kara şimşek devresi bahsi geçti ama bence bir eksiklik var. Kara şimşekte ışıklar baştan sona doğru yanarak yürür sonra geri döner. Sizde ise sona geldiğinde tekrar baştan başlıyor. Sanırım kara şimşek dizisini izlemediniz. Yaş itibariyle affınıza istinaden bildiğimden hatırlatmak istedim. :))
Bu durumda loop kısmı şöyle mi olmalı?
void loop()
{
for (int b = 2; b 1 ; b–) // sola yürü
{
digitalWrite(b, HIGH);
delay(50);
digitalWrite(b, LOW);
}
}
İlk mesajda loop bölümü eksik görünüyor??? doğrusu aşağıda
void loop()
{
for (int b = 2; b 1 ; b–) // sola yürü
{
digitalWrite(b, HIGH);
delay(50);
digitalWrite(b, LOW);
delay(50);
}
}
Merhaba en açık ve basit kodu konunun en altına ekledim. Kara Şimşek’te sırası geçen LEDler de tam olarak sönmüyor/çok hızlı söndüğü için böyle daha uygun olur sanırım. Array kullanarak daha az döngüyle yapabilirsiniz.
aynen kardeşim
merhabalar
ben 5 dk süreyle çalışıp sonra duran led, dc motor vs. kodunu bir türlü bulamadım. yardımcı olursanız sevinirim
Merhaba, kod kısmında b++ olan kısmı if komutu ile butona basıp kapatıp arttırmanın yolu nedir? Yani butona basıp kapadığımda b+1 olucak. Yardımcı olursanız sevinirim.
setup kısmında
pinMode(buton1, INPUT);
void loop kısmında da
butonunDurumu = digitalRead(buton1);
if (butonunDurumu == HIGH) {
sayac ++;
delay(500);
Serial.print(sayac);
şeklinde yapabilirsin.