mirror of
https://github.com/KevinMidboe/Arduino.git
synced 2026-01-30 04:46:36 +00:00
Init commit with many years of arduino sketches and projects. I dont know if the esp8266 includes much, but there are also libraries. I hope they dont have crazy automatic versioning through the Arduino IDE.
This commit is contained in:
222
Projects/ST_Two_Small_Clock/ST2_Main/ST2_Main.ino
Normal file
222
Projects/ST_Two_Small_Clock/ST2_Main/ST2_Main.ino
Normal file
@@ -0,0 +1,222 @@
|
||||
//*******************************************************************************************************************
|
||||
// Main Loop
|
||||
//*******************************************************************************************************************
|
||||
void loop()
|
||||
{
|
||||
// Test for Sleep ------------------------------------------------*
|
||||
|
||||
currentMillis = millis();
|
||||
OptionModeFlag = false;
|
||||
|
||||
if(((currentMillis - SleepTimer) > SleepLimit) && SleepEnable)
|
||||
{
|
||||
|
||||
if(STATE= 1) // New for ST Desk Clock - goto Time vs Sleep
|
||||
{
|
||||
SUBSTATE = 1;
|
||||
blinkON = true;
|
||||
blinkFlag = false;
|
||||
blinkMin = false;
|
||||
blinkHour = false;
|
||||
}else
|
||||
{
|
||||
STATE= 1; // was STATE= 99;
|
||||
SUBSTATE = 0;
|
||||
}
|
||||
|
||||
SleepTimer = millis();
|
||||
|
||||
}
|
||||
|
||||
// Test for Mode Button Press ------------------------------------*
|
||||
|
||||
bval = !digitalRead(MODEBUTTON);
|
||||
if(bval)
|
||||
{
|
||||
if(ALARMON)
|
||||
{
|
||||
CheckAlarm();
|
||||
}
|
||||
|
||||
if(ALARM1FLAG)
|
||||
{
|
||||
ALARM1FLAG = false;
|
||||
ALARMON = false;
|
||||
EnableAlarm1(false);
|
||||
STATE = 90;
|
||||
JustWokeUpFlag = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(JustWokeUpFlag)
|
||||
{
|
||||
JustWokeUpFlag = false;
|
||||
JustWokeUpFlag2 = true; // Used to supress "Time" text from showing when waking up.
|
||||
}
|
||||
else
|
||||
{
|
||||
NextStateRequest = true;
|
||||
}
|
||||
// SUBSTATE = 99;
|
||||
|
||||
while(bval)
|
||||
{
|
||||
bval = !digitalRead(SETBUTTON);
|
||||
if(bval)
|
||||
{
|
||||
OptionModeFlag = true;
|
||||
NextStateRequest = false;
|
||||
NextSUBStateRequest = false;
|
||||
displayString("SPEC");
|
||||
delay(300);
|
||||
}
|
||||
bval = !digitalRead(MODEBUTTON);
|
||||
}
|
||||
|
||||
delay(100);
|
||||
SleepTimer = millis();
|
||||
}
|
||||
}
|
||||
|
||||
// Test for SET Button Press ------------------------------------*
|
||||
|
||||
bval = !digitalRead(SETBUTTON);
|
||||
if(bval && !OptionModeFlag)
|
||||
{
|
||||
NextSUBStateRequest = true;
|
||||
|
||||
while(bval)
|
||||
{
|
||||
|
||||
bval = !digitalRead(MODEBUTTON);
|
||||
if(bval)
|
||||
{
|
||||
OptionModeFlag = true;
|
||||
NextStateRequest = false;
|
||||
NextSUBStateRequest = false;
|
||||
displayString("SPEC");
|
||||
delay(300);
|
||||
}
|
||||
|
||||
|
||||
bval = !digitalRead(SETBUTTON);
|
||||
}
|
||||
delay(100);
|
||||
SleepTimer = millis();
|
||||
}
|
||||
|
||||
// Running Blink counter ------------------------------------*
|
||||
if(blinkFlag)
|
||||
{
|
||||
blinkCounter = blinkCounter +1;
|
||||
if(blinkCounter >blinkTime) // was 150
|
||||
{
|
||||
blinkON = !blinkON;
|
||||
blinkCounter = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
blinkON = true; // Not blinking, just leave the LEDs lit
|
||||
}
|
||||
|
||||
//*******************************************************************************************************************
|
||||
// Main Loop - State Machine
|
||||
//*******************************************************************************************************************
|
||||
|
||||
switch (STATE)
|
||||
{
|
||||
case 0: // Set-Up
|
||||
STATE = 1;
|
||||
break;
|
||||
|
||||
case 1: // Display Time
|
||||
DisplayTimeSub();
|
||||
break;
|
||||
|
||||
case 2: // Set Time
|
||||
setAlarmSub();
|
||||
break;
|
||||
|
||||
case 3: // Config Alarm
|
||||
setTimeSub();
|
||||
break;
|
||||
|
||||
case 4: // Stop Watch
|
||||
StopWatch();
|
||||
break;
|
||||
|
||||
|
||||
case 5: // Serial Display
|
||||
DisplaySerialData();
|
||||
break;
|
||||
|
||||
case 6: // Graphic Demo
|
||||
graphican();
|
||||
break;
|
||||
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
case 90: // Alarm Triggered
|
||||
|
||||
blinkFlag = true;
|
||||
displayString("Beep");
|
||||
|
||||
if(blinkON)
|
||||
{
|
||||
pinMode(SETBUTTON, OUTPUT);
|
||||
tone(SETBUTTON,4000) ;
|
||||
delay(100);
|
||||
noTone(SETBUTTON);
|
||||
digitalWrite(SETBUTTON, HIGH);
|
||||
}
|
||||
|
||||
#if ARDUINO >= 101
|
||||
pinMode(SETBUTTON, INPUT_PULLUP);
|
||||
// digitalWrite(SETBUTTON, HIGH);
|
||||
#else
|
||||
// digitalWrite(SETBUTTON, HIGH);
|
||||
pinMode(SETBUTTON, INPUT);
|
||||
#endif
|
||||
delay(250);
|
||||
|
||||
// bval = !digitalRead(SETBUTTON);
|
||||
if(NextSUBStateRequest | NextStateRequest)
|
||||
{
|
||||
STATE = 0;
|
||||
SUBSTATE = 0;
|
||||
// NextStateFlag = true;
|
||||
NextStateRequest = false;
|
||||
NextSUBStateRequest = false;
|
||||
blinkFlag = false;
|
||||
}
|
||||
break;
|
||||
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
case 99: // Sleep
|
||||
displayString("Nite");
|
||||
delay(500);
|
||||
clearmatrix();
|
||||
GoToSleep();
|
||||
SleepTimer = millis();
|
||||
STATE = 0;
|
||||
SUBSTATE = 0;
|
||||
break;
|
||||
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//*******************************************************************************************************************
|
||||
// End of Main Loop
|
||||
//*******************************************************************************************************************
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user