Professional Documents
Culture Documents
int countA = 0;
bool A_pressed = 0;
bool block_A;
int buttonApin = 10;
const int buzzer = 11;
const int RightTop = 9;
const int RightBottom = 7;
const int TopMiddle = 12;
const int Middle = 5;
const int BottomLeft = 13;
const int BottomMiddle = 6;
const int DP = 8;
void setup() {
// put your setup code here, to run once:
pinMode(buttonApin, INPUT_PULLUP);
pinMode(buzzer, OUTPUT); // Set buzzer - pin 11 as an output
cli();//stop interrupts
sei();//allow interrupts
Serial.begin(9600);
if (seconds == 5)
{
tone(buzzer, 1000, 30);
Serial.print(seconds);
Serial.println(" seconds have elapsed.");
Serial.println("Counter Reset");
seconds = 0;
countA = -1;
}
else
{
Serial.print(seconds);
Serial.println(" seconds have elapsed.");
}
void loop()
// put your main code here, to run repeatedly:
if (digitalRead(buttonApin) == LOW)
{
A_pressed = 1;
block_A = 1;
}
else
{
countA = countA + A_pressed;
A_pressed = 0;
if (block_A)
{
Serial.print("Switch pressed = ");
Serial.println(countA);
delay(200); // Restore this if switch bounce is a problem
}
block_A = 0;
}
if (countA == 1)
{
digitalWrite(RightTop , HIGH);
digitalWrite(RightBottom, HIGH);
digitalWrite(DP, HIGH);
}
else
{
digitalWrite(RightTop , LOW);
digitalWrite(RightBottom , LOW);
digitalWrite(DP, LOW);
}
if (countA == 2)
{
digitalWrite(TopMiddle , HIGH);
digitalWrite(RightTop , HIGH);
digitalWrite(Middle , HIGH);
digitalWrite(BottomLeft , HIGH);
digitalWrite(BottomMiddle , HIGH);
digitalWrite(DP, HIGH);
}
else
{
digitalWrite(TopMiddle , LOW);
digitalWrite(RightTop , LOW);
digitalWrite(Middle , LOW);
digitalWrite(BottomLeft , LOW);
digitalWrite(BottomMiddle , LOW);
digitalWrite(DP, LOW);
}
if (countA == 3)
{
digitalWrite(TopMiddle , HIGH);
digitalWrite(RightTop , HIGH);
digitalWrite(Middle , HIGH);
digitalWrite(RightBottom , HIGH);
digitalWrite(BottomMiddle , HIGH);
digitalWrite(DP, HIGH);
}
else
{
digitalWrite(TopMiddle , LOW);
digitalWrite(RightTop , LOW);
digitalWrite(Middle , LOW);
digitalWrite(RightBottom ,LOW);
digitalWrite(BottomMiddle ,LOW);
digitalWrite(DP, LOW);
}