Arduino For Döngüsü İterasyonu (Knight Rider)
Arduino For Döngüsü. Çoğunlukla bir dizi iğne üzerinde yinelemek ve her birine bir şeyler yapmak istersiniz. Örneğin, bu örnek Arduino veya Genuino’ya bağlı 6 LED’i 2-7 dijital pimlerle ileri geri hareket ettirmek için bir for () döngüsü kullanarak yanıp söner. LED’ler, sırasıyla, digitalWrite () ve delay () işlevlerini kullanarak açılıp kapatılır.
Bu örnekte, David Hasselhoff’un Poitiac’ı sürdüğü KITT adlı bir AI makinesine sahip olduğu 80’lerden oluşan bir TV dizisinin anısına ” Knight Rider ” adını veriyoruz. Araç, olası tüm boyutlarda flaş efektleri gerçekleştiren bol miktarda LED ile güçlendirilmişti. Özellikle, KITT ve KARR arasındaki bu heyecan verici mücadelede gösterildiği gibi, bir çizgi boyunca ileri geri taranan bir ekran vardı. Bu örnek, KITT ekranını çoğaltır.
Donanım
- Arduino veya Genuino Kurulu
- 6 adet 220 ohm direnç
- 6 adet LED
- bağlantı telleri
- breadboard
“Arduino Uno, ATmega328P tabanlı bir mikro denetleyici karttır. 14 adet dijital giriş / çıkış pini (6’sı PWM çıkışı olarak kullanılabilir), 6 analog giriş, 16 MHz kristali, bir USB bağlantısı, bir güç girişi, bir ICSP başlığı ve bir sıfırlama düğmesi vardır. Mikrodenetleyiciyi desteklemek için gereken her şeyi içerir; Başlamak için bir USB kablosuyla bir bilgisayara bağlayın ya da AC-DC adaptörü ya da pille çalıştırın. UNO’yu, yanlış bir şey yapmadan çok fazla endişe etmeden tamir edebilir, en kötü durum senaryosunu değiştirebilirsiniz. Birkaç dolara çip alır ve tekrar kullanabilirsiniz.”
Devre
Arduino’nuzun 2-7 dijital pinlerine seri olarak 220 ohm dirençli altı LED bağlayın.
Kod
Aşağıdaki kod, kullanılan 6 LED’in çıktıları olarak dijital pinleri 2-7 atamak for()
bir for()
döngüsü kullanılarak başlar.
Kodun ana döngüsünde, for()
döngüleri for()
iki adet for()
döngüsel olarak, LED’lerden tek tek, pim 2’den pim 7’ye adım atmak için kullanılır. Pim 7 yanınca, işlem tersine döner, her bir LED’den geri adım atılır.
/* Döngü İterasyonu İçin For () döngüsü kullanımını gösterir. Sırayla birden fazla LED yanar, sonra tersi. Devre: - 2 ila 7 arasındaki pinlerden toprağa kadar olan LED'ler 2006 oluşturuldu David A. Mellis tarafından değiştirildi 30 Ağu 2011 Tom Igoe tarafından Bu örnek kod kamu malıdır. http://www.arduino.cc/en/Tutorial/ForLoop */ int timer = 100; // Sayı ne kadar yüksekse, zamanlama o kadar yavaş olur. void setup() { // her bir pimi çıkış olarak başlatmak için bir for döngüsü kullanın: for (int thisPin = 2; thisPin < 8; thisPin++) { pinMode(thisPin, OUTPUT); } } void loop() { // en alttaki iğneden en yükseke doğru döngü: for (int thisPin = 2; thisPin < 8; thisPin++) { // pimi şu şekilde aç: digitalWrite(thisPin, HIGH); delay(timer); // pimi şu şekilde kapat: digitalWrite(thisPin, LOW); } // en yüksek iğneden en alçak noktaya: for (int thisPin = 7; thisPin >= 2; thisPin--) { // pimi şu şekilde aç: digitalWrite(thisPin, HIGH); delay(timer); // pimi şu şekilde kapat: digitalWrite(thisPin, LOW); } }
Kaynak:arduino.cc