So ive been using the tinkercad blocks to code for a while and I tried to create an countdown style alarm that beeps and slowly gets faster and I have the equation figured out but when I try to run the program with the tinkercad simulator it just doesnt work and I dont know if theres something wrong with the code or setup.
// C++ code
//
int ON = 0;
int START = 0;
int STOP = 0;
int TIME = 0;
int SEC = 0;
int SEC_LEFT = 0;
int TONE = 0;
int BEEP = 0;
void setup()
{
pinMode(6, OUTPUT);
pinMode(3, OUTPUT);
pinMode(9, OUTPUT);
pinMode(5, INPUT);
Serial.begin(9600);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(3, INPUT);
pinMode(4, INPUT);
ON = 0;
TIME = 1;
SEC = 15;
digitalWrite(6, HIGH);
}
void loop()
{
TONE = 1;
SEC_LEFT = SEC;
while (ON == 1) {
analogWrite(3, TONE);
delay(300); // Wait for 300 millisecond(s)
analogWrite(3, TONE);
delay(500); // Wait for 500 millisecond(s)
while (BEEP > 0.15) {
SEC_LEFT += -1;
BEEP = (0.1 * (0.9 * (SEC_LEFT / SEC)));
analogWrite(3, TONE);
digitalWrite(9, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
analogWrite(3, 0);
digitalWrite(9, LOW);
}
}
// START OF CYCLE THROUGH TIME
if (digitalRead(5) == HIGH) {
Serial.println("activate");
TIME += 1;
if (TIME == 4) {
TIME = 1;
SEC = 15;
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
}
if (TIME == 1) {
SEC = 15;
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
}
if (TIME == 2) {
SEC = 15;
digitalWrite(7, HIGH);
digitalWrite(6, LOW);
digitalWrite(8, LOW);
}
if (TIME == 3) {
SEC = 15;
digitalWrite(8, HIGH);
digitalWrite(7, LOW);
digitalWrite(6, LOW);
}
// END OF CYCLE THROUGH TIME
delay(500); // Wait for 500 millisecond(s)
}
//
// START OF START BUTTON
if (digitalRead(3) == HIGH) {
Serial.println("activate");
ON = 1;
// END OF START BUTTON
delay(500); // Wait for 500 millisecond(s)
}
//
// START OF STOP BUTTON
if (digitalRead(4) == HIGH) {
Serial.println("activate");
ON = 0;
digitalWrite(9, LOW);
// END OF STOP BUTTON
delay(500); // Wait for 500 millisecond(s)
}
//
}
PS: I am very new to this stuff and everything I have learned so far was based on me figeting around the simulator then puting it onto my board in real life.