Arduino: For Loop Iteration
Sumber: https://www.arduino.cc/en/Tutorial/ForLoopIteration
Seringkali kita ingin mengulangi serangkaian pin dan melakukan sesuatu untuk masing-masing pin. Misalnya, contoh ini mengedipkan 6 LED yang terpasang pada Arduino atau Genuino dengan menggunakan loop for() untuk menggilir bolak-balik melalui pin digital 2-7. LED dinyalakan dan dimatikan, secara berurutan, dengan menggunakan fungsi digitalWrite() dan delay() .
Kita juga menyebut contoh ini "Knight Rider" untuk mengenang serial TV dari tahun 80-an di mana David Hasselhoff memiliki mesin AI bernama KITT yang mengendarai Pontiac-nya. Mobil itu telah ditambah dengan banyak LED dalam semua ukuran yang memungkinkan melakukan efek mencolok. Secara khusus, ia memiliki tampilan yang memindai bolak-balik melintasi garis, seperti yang ditunjukkan dalam pertarungan seru antara KITT dan KARR ini. Contoh ini menduplikasi tampilan KITT.
Hardware Required
- Arduino / Genuino Board
- 6 220 ohm resistor
- 6 LED
- kabel jumper
- breadboard
Rangkaian
Code
/* For Loop Iteration Demonstrates the use of a for() loop. Lights multiple LEDs in sequence, then in reverse. The circuit: * LEDs from pins 2 through 7 to ground created 2006 by David A. Mellis modified 30 Aug 2011 by Tom Igoe This example code is in the public domain. http://www.arduino.cc/en/Tutorial/ForLoop */ int timer = 100; // The higher the number, the slower the timing. void setup() { // use a for loop to initialize each pin as an output: for (int thisPin = 2; thisPin < 8; thisPin++) { pinMode(thisPin, OUTPUT); } } void loop() { // loop from the lowest pin to the highest: for (int thisPin = 2; thisPin < 8; thisPin++) { // turn the pin on: digitalWrite(thisPin, HIGH); delay(timer); // turn the pin off: digitalWrite(thisPin, LOW); } // loop from the highest pin to the lowest: for (int thisPin = 7; thisPin >= 2; thisPin--) { // turn the pin on: digitalWrite(thisPin, HIGH); delay(timer); // turn the pin off: digitalWrite(thisPin, LOW); } }