|
Activity 1 - Blinking LEDs
Copy this sketch code and paste it into a fresh Sketch in Arduino. Save it as Activity1.
-------------------------------------------
// activity 1 - blinking LEDs
int led1 = 11; // left led
int led2 = 10; // right led
void setup() {
// put your setup code here, to run once:
pinMode(led1,OUTPUT);// set those pins to OUTPUT
pinMode(led2,OUTPUT);
}
void loop() {
digitalWrite(led1,HIGH);// led1 ON
delay(1000); // wait 1 second
digitalWrite(led1,LOW); // led1 OFF
digitalWrite(led2,HIGH); // led2 ON
delay(1000);// wait 1 second
digitalWrite(led2,LOW); // led2 OFF
}
Activity 2 - Buttons On/Off
Copy this sketch code and paste it into a fresh Sketch in Arduino. Save it as Activity2.
-------------------------------------------
// activity 2 - Buttons ON/OFF
int led1 = 11; // left led
int led2 = 10; // right led
int btn1 = 6; // left button
int btn2 = 5; // right button
long minBtnWait = 100; // 100 millisecond
int btn1Val, btn2Val; // stores state of each button
long lastBtn1 = millis();// last time button was pressed
long lastBtn2 = millis();
void setup() {
// put your setup code here, to run once:
pinMode(led1, OUTPUT); // set those pins to OUTPUT
pinMode(led2, OUTPUT);
pinMode(btn1, INPUT); // these pins are INPUTS for buttons
pinMode(btn2, INPUT);
}
void loop() {
// get the state of the buttons
btn1Val = digitalRead(btn1);
btn2Val = digitalRead(btn2);
if ((btn1Val == HIGH) && (millis() - lastBtn1 > minBtnWait)) {
digitalWrite(led1, HIGH); // led1 ON
delay(2000);
digitalWrite(led1, LOW);
lastBtn1 = millis(); // reset for next press
}
if ((btn2Val == HIGH) && (millis() - lastBtn2 > minBtnWait)) {
digitalWrite(led2, HIGH); // led1 ON
delay(2000);
digitalWrite(led2, LOW);
lastBtn2 = millis(); // reset for next press
}
}
Copy this sketch code and paste it into a fresh Sketch in Arduino. Save it as Activity2.
-------------------------------------------
// activity 2 - Buttons ON/OFF
int led1 = 11; // left led
int led2 = 10; // right led
int btn1 = 6; // left button
int btn2 = 5; // right button
long minBtnWait = 100; // 100 millisecond
int btn1Val, btn2Val; // stores state of each button
long lastBtn1 = millis();// last time button was pressed
long lastBtn2 = millis();
void setup() {
// put your setup code here, to run once:
pinMode(led1, OUTPUT); // set those pins to OUTPUT
pinMode(led2, OUTPUT);
pinMode(btn1, INPUT); // these pins are INPUTS for buttons
pinMode(btn2, INPUT);
}
void loop() {
// get the state of the buttons
btn1Val = digitalRead(btn1);
btn2Val = digitalRead(btn2);
if ((btn1Val == HIGH) && (millis() - lastBtn1 > minBtnWait)) {
digitalWrite(led1, HIGH); // led1 ON
delay(2000);
digitalWrite(led1, LOW);
lastBtn1 = millis(); // reset for next press
}
if ((btn2Val == HIGH) && (millis() - lastBtn2 > minBtnWait)) {
digitalWrite(led2, HIGH); // led1 ON
delay(2000);
digitalWrite(led2, LOW);
lastBtn2 = millis(); // reset for next press
}
}
Activity 3 - Buzzer On/Off
Copy this sketch code and paste it into a fresh Sketch in Arduino. Save it as Activity3.
-------------------------------------------
// activity 3 - sound ON/OFF
int led1 = 11; // left led
int led2 = 10; // right led
int btn1 = 6; // left button
int btn2 = 5; // right button
int buzzer = 12;
long minBtnWait = 100; // 100 millisecond
int btn1Val, btn2Val; // stores state of each button
long lastBtn1 = millis();// last time button was pressed
long lastBtn2 = millis();
void setup() {
// put your setup code here, to run once:
pinMode(led1, OUTPUT); // set those pins to OUTPUT
pinMode(led2, OUTPUT);
pinMode(btn1, INPUT); // these pins are INPUTS for buttons
pinMode(btn2, INPUT);
pinMode(buzzer, OUTPUT); // buzzer pin as OUTPUT
}
void loop() {
// get the state of the buttons
btn1Val = digitalRead(btn1);
btn2Val = digitalRead(btn2);
if ((btn1Val == HIGH) && (millis() - lastBtn1 > minBtnWait)) {
digitalWrite(led1, HIGH); // led1 ON
tone(buzzer, 1000); // play 1000 Hz tone
delay(2000);
noTone(buzzer);// stop buzzer
digitalWrite(led1, LOW);
lastBtn1 = millis(); // reset for next press
}
if ((btn2Val == HIGH) && (millis() - lastBtn2 > minBtnWait)) {
digitalWrite(led2, HIGH); // led1 ON
delay(2000);
digitalWrite(led2, LOW);
lastBtn2 = millis(); // reset for next press
}
}
Activity 4 - Guessing Game
Copy this sketch code and paste it into a fresh Sketch in Arduino. Save it as Activity4.
-------------------------------------------
// activity 4 - Guessing Game
int led1 = 11; // left led
int led2 = 10; // right led
int btn1 = 6; // left button
int btn2 = 5; // right button
int buzzer = 12;
long minBtnWait = 100; // 100 millisecond minimum duration between button presses
int btn1Val, btn2Val; // stores state of each button HIGH(Pressed) or LOW(OPEN)
long lastBtn1 = millis();// last time button was pressed
long lastBtn2 = millis();
int randVal;// stores a random value between 1 and 2
void setup() {
// put your setup code here, to run once:
pinMode(led1, OUTPUT); // set those pins to OUTPUT
pinMode(led2, OUTPUT);
pinMode(btn1, INPUT); // these pins are INPUTS for buttons
pinMode(btn2, INPUT);
pinMode(buzzer, OUTPUT); // buzzer pin as OUTPUT
Serial.begin(9600);
randomSeed(analogRead(0));// get a random starting value
randVal = random(1, 3); //generate a random number between 1 and 2
Serial.println("Press left or right button");
}
void loop() {
// get the state of the buttons
btn1Val = digitalRead(btn1);
btn2Val = digitalRead(btn2);
// button 1 code starts here ---------
if ((btn1Val == HIGH) && (millis() - lastBtn1 > minBtnWait)) {// if left button pressed
Serial.println(randVal);// show the current random number
if ( randVal == 1) {
digitalWrite(led1, HIGH); // led1 ON
Serial.println("Winnah!");
tone(buzzer, 800, 1000); // play winning tone, 800Hz for 1 second
delay(1000);
digitalWrite(led1, LOW);
} else {
Serial.println("Sorry..you lose.");
for (int i = 1; i <= 3; i++) { // play 3 tones to indicate loss
tone(buzzer, 500, 250); // 500Hz for 250 milliseconds
delay(500);
}
}
randVal = random(1, 3); // generate new random number
lastBtn1 = millis(); // reset for next press
Serial.println("Press left or right button");
}
// button 1 code ends here ------
// now here you'll duplicate the button 1 code above and make button 2 active so you can actually play the game with both buttons.
//just update all the variables that refer to button 1 and led 1 to refer to button 2 and led 2
delay(10); // slow down sketch a bit
}