int potPin = 0; // TODO: Replace this value with the pin number associated with the SIG pin on the potentiometer
int NUM_MODES = 3;
int MAX_POT_VAL = 1023; // TODO: Replace this value with the maximum value reading from the potentiometer
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
for (int pinNumber = 2; pinNumber <= 13; pinNumber++) {
pinMode(pinNumber, OUTPUT);
pinMode(LED_BUILTIN, OUTPUT);
pinMode(A3, INPUT_PULLUP);
}
}
void loop() {
// put your main code here, to run repeatedly:
turnOffLeds();
if (inDeadband()) {
Serial.print("Analog Reading: ");
Serial.print(analogRead(potPin));
Serial.println(" is in deadband");
buzzer();
} else {
int modeNum = 0; //TODO: Replace this with the correct mode number based on the potentiometer reading
if (analogRead(potPin) >= 0 && analogRead(potPin)<=284){
modeNum =0;
}
if (analogRead(potPin) >= 316 && analogRead(potPin)<=684){
modeNum =1;
}
if (analogRead(potPin) >= 716 && analogRead(potPin)<=1023){
modeNum =2;
}
Serial.print("Analog Reading: ");
Serial.print(analogRead(potPin));
Serial.print(" is equal to Mode: ");
Serial.println(modeNum);
if (modeNum == 0) {
turnOnLeds();
}
if (modeNum ==1) {
calmMode();
}
if (modeNum == 2) {
fastMode();
}
}
}
bool inDeadband() {
/*
In this function you will determine if your potentiometer reading is within a deadband range. You will
be using analogRead as well as if statements.
You should return true if you ARE in deadband and false otherwise.
*/
return analogRead(potPin) >= 285 && analogRead(potPin) <315 || analogRead(potPin) >= 685 && analogRead(potPin) <=715;
return false;
}
void buzzer(){
tone (A1, 262, 100); // Plays 262Hz tone for 0.250 seconds
}
void turnOffLeds() {
for (int ledNumber = 2; ledNumber <= 13; ledNumber++) {
digitalWrite(ledNumber, LOW);
}
}
void turnOnLeds() {
for (int ledNumber = 2; ledNumber <= 13; ledNumber++) {
digitalWrite(ledNumber, HIGH);
}
}
void blinkStatusLed() {
digitalWrite(13, HIGH);
delay(100);
digitalWrite(13, LOW);
delay(100);
}
void calmMode () {
{
digitalWrite(2, HIGH);
delay (300);
digitalWrite(2, LOW);
delay (300);
digitalWrite(4, HIGH);
delay (300);
digitalWrite(4, LOW);
delay (300);
digitalWrite(6, HIGH);
delay (300);
digitalWrite(6, LOW);
delay (300);
digitalWrite(8, HIGH);
delay (300);
digitalWrite(8, LOW);
delay (300);
digitalWrite(10, HIGH);
delay (300);
digitalWrite(10, LOW);
delay (300);
digitalWrite(12, HIGH);
delay (300);
digitalWrite(12, LOW);
delay (300);
}
}
void fastMode () {
{
digitalWrite(3, HIGH);
delay (100);
digitalWrite(3, LOW);
delay (100);
digitalWrite(5, HIGH);
delay (100);
digitalWrite(5, LOW);
delay (100);
digitalWrite(7, HIGH);
delay (100);
digitalWrite(7, LOW);
delay (100);
digitalWrite(9, HIGH);
delay (100);
digitalWrite(9, LOW);
delay (100);
digitalWrite(11, HIGH);
delay (100);
digitalWrite(11, LOW);
delay (100);
digitalWrite(13, HIGH);
delay (100);
digitalWrite(13, HIGH);
delay (100);
}
}
void switchIU() {
digitalWrite(LED_BUILTIN, digitalRead((A3)));
}