X-Git-Url: http://challenge-bot.com/repos/?a=blobdiff_plain;f=phase0%2Fphase0.ino;h=feb0caac8f4cc186184f8b2081fbae289f180f9c;hb=45417e719505bd89c62203632a5f5e325cef78b8;hp=df7a9b47b0333da9468931d68d924b09bf4be2dd;hpb=f29767e85688a35398c0989f84d68b9bdfd05d0d;p=challenge-bot diff --git a/phase0/phase0.ino b/phase0/phase0.ino index df7a9b4..feb0caa 100644 --- a/phase0/phase0.ino +++ b/phase0/phase0.ino @@ -12,6 +12,11 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ + +/* + * traffic lights + */ + int red0 = 12; int yellow0 = 11; int green0 = 10; @@ -29,53 +34,64 @@ void setup() { pinMode(green1, OUTPUT); } -void on(int led) { - digitalWrite(led, HIGH); +/* + on(pinNumber); + turn on pin 'pinNumber'. + digitalWrite(pinNumber, HIGH); turns the voltage on for that pin. + */ +void on(int pinToTurnOn) { + digitalWrite(pinToTurnOn, HIGH); } -void off(int led) { - digitalWrite(led, LOW); +/* + off(pinNumber); + turn off pin 'pinNumber'. + digitalWrite(pinNumber, LOW); turns the voltage off for that pin. +*/ +void off(int pinToTurnOff) { + digitalWrite(pinToTurnOff, LOW); } -void ons_offs(int* ons, int onsc, - int* offs, int offsc, - int delay_time) { - int ii; - for(ii = 0; ii < offsc; ii++) { - off(offs[ii]); +void onsOffs(int* pinsToTurnOn, int numberOfPinsToTurnOn, + int* pinsToTurnOff, int numberOfPinsToTurnOff){ + // generic index used for arrays of pins to turn on or off + int index; + // turn off pins in pinsToTurnOff + for(index = 0; index < numberOfPinsToTurnOff; index++) { + off(pinsToTurnOff[index]); } - for(ii = 0; ii < onsc; ii++) { - on(ons[ii]); + // turn on pins in pinsToTurnOn + for(index = 0; index < numberOfPinsToTurnOn; index++) { + on(pinsToTurnOn[index]); } - delay(delay_time); } void loop() { - int red_wait = 300; - int yellow_wait = 800; - int green_wait = 1600; + int redWait = 300; + int yellowWait = 800; + int greenWait = 1600; - ons_offs((int[]){red0, green1}, 2, - (int[]){yellow0, green0, red1, yellow1}, 4, - green_wait); + onsOffs((int[]){red0, green1}, 2, + (int[]){yellow0, green0, red1, yellow1}, 4); + delay(greenWait); - ons_offs((int[]){red0, yellow1}, 2, - (int[]){yellow0, green0, red1, green1}, 4, - yellow_wait); + onsOffs((int[]){red0, yellow1}, 2, + (int[]){yellow0, green0, red1, green1}, 4); + delay(yellowWait); - ons_offs((int[]){red0, red1}, 2, - (int[]){yellow0, green0, yellow1, green1}, 4, - red_wait); + onsOffs((int[]){red0, red1}, 2, + (int[]){yellow0, green0, yellow1, green1}, 4); + delay(redWait); - ons_offs((int[]){green0, red1}, 2, - (int[]){red0, yellow0, yellow1, green1}, 4, - green_wait); + onsOffs((int[]){green0, red1}, 2, + (int[]){red0, yellow0, yellow1, green1}, 4); + delay(greenWait); - ons_offs((int[]){yellow0, red1}, 2, - (int[]){red0, green0, yellow1, green1}, 4, - yellow_wait); + onsOffs((int[]){yellow0, red1}, 2, + (int[]){red0, green0, yellow1, green1}, 4); + delay(yellowWait); - ons_offs((int[]){red0, red1}, 2, - (int[]){yellow0, green0, yellow1, green1}, 4, - red_wait); + onsOffs((int[]){red0, red1}, 2, + (int[]){yellow0, green0, yellow1, green1}, 4); + delay(redWait); }