This is a exercise in Arrays
It makes use of 6 LEDs connected to the pins 2 - 7 on an arduino uno using 220 Ohm resistors.
They are triggered like the lights of "KIT" - the car belonging to the Hoff.
A bit about arrays first.
They are a list or collection of variables that can be accessed via an index number. The word "array" isn't actually used. The symbols [] and {} do the job.
eg: int myArray[] = {6,21,34,2,1,0,152};
Here we declared an array with 7 values. Arduino creates 7 places in memory for these values.
We can also just tell the arduino to create 7 memory spots, and then enter the values later :
int myArray[7];
To assign a value to the second spot we use a command like this:
myArray[1] = 21;
This is the index number.
The first spot always has an index value of 0 (they are zero indexed).
Code 1
Link:
Such a simple piece of code.
This is a great way of cycling through different lists.
In this example we use the array to choose which LED to light.
It could just as easily be a menu.
Another way might involve using the "switch case".... will cover in another post
// ******************************************************************************
/* Knight Rider 3
* --------------
*
* This example concentrates on making the visuals fluid.
*
*
* (cleft) 2005 K3, Malmo University
* @author: David Cuartielles
* @hardware: David Cuartielles, Aaron Hallborg
*/
int pinArray[] = {2, 3, 4, 5, 6, 7};
int count = 0;
int timer = 30;
void setup(){
for (count=0;count<6;count++) {
pinMode(pinArray[count], OUTPUT);
}
}
void loop() {
for (count=0;count<5;count++) {
digitalWrite(pinArray[count], HIGH);
delay(timer);
digitalWrite(pinArray[count + 1], HIGH);
delay(timer);
digitalWrite(pinArray[count], LOW);
delay(timer*2);
}
for (count=5;count>0;count--) {
digitalWrite(pinArray[count], HIGH);
delay(timer);
digitalWrite(pinArray[count - 1], HIGH);
delay(timer);
digitalWrite(pinArray[count], LOW);
delay(timer*2);
}
}
// *********************************************************
Use 220 ohm resistors.
Cathode of the LEDs connect to gnd.
//88888888888888888888888888888888888
This second bit of code is really useful for setting all your pins
to output mode for example.
Rather than having to type & initialize each pin as an output.
The section in the void setup is the bit that does it.
//88888888888888888888888888888888888888888
/*
Array sketch with for loop()
an array of 3 LEDs that blink consecutively
*/
// create array of output pins for LEDs
int ledPin[] = {10, 11, 12};
void setup()
{
// for loop to set all ledPins to output mode
for (int index = 0; index < 3; index++)
{
// declare LED as output
pinMode(ledPin[index], OUTPUT);
} //close for loop()
} // close void setup()
void loop()
{
// for loop() to blink LEDs consecutively
for (int i = 0; i < 3; i++)
{
// set LEDpins HIGH
digitalWrite(ledPin[i], HIGH);
// add 1 second delay
delay(1000);
// set LEDpins LOW
digitalWrite(ledPin[i], LOW);
} // closing for loop()
} // close void loop()
//8888888888888888888888888888888888888888888888888888888888
Links
+ https://www.tutorialspoint.com/arduino/arduino_arrays.htm
---------------------------------
-------------------------------------
No comments:
Post a Comment