Ejemplo n.º 1
0
void loop() {
    static time_t prevDisplay = 0;

    if( now() != prevDisplay) {
        prevDisplay = now();
        digitalClockDisplay();
    }
}
Ejemplo n.º 2
0
void changeFadeOutState()
{
  lcd.setCursor(0,0);
  lcd.print("Fade out light time :");
  lcd.setCursor(0,1);
  digitalClockDisplay(led.getFadeOutTime());
  lcd.setCursor(0,2);
  lcd.print("^");
  lcd.setCursor(0,3);
  lcd.print("Back : #");
}
Ejemplo n.º 3
0
void changeStopLedState()
{
  lcd.setCursor(0,0);
  lcd.print("Stop light time :");
  lcd.setCursor(0,1);
  digitalClockDisplay(led.getStopTime());
  lcd.setCursor(0,2);
  lcd.print("^");
  lcd.setCursor(0,3);
  lcd.print("Back : #");
}
Ejemplo n.º 4
0
void changeHourState()
{
  lcd.setCursor(0,0);
  lcd.print("Type the time :");
  lcd.setCursor(0,1);
  digitalClockDisplay(now());
  lcd.setCursor(0,2);
  lcd.print("^");
  lcd.setCursor(0,3);
  lcd.print("Back : #");
}
Ejemplo n.º 5
0
void printWaitScreen()
{
  lcd.setCursor(0,0);
  digitalClockDisplay(now());

  lcd.setCursor(0,1);
  lcd.print("Output : ");
  lcd.print(percent);
  lcd.print("%");

  lcd.setCursor(0,3);
  lcd.print("Menu : #");
}
//Stampa l'orologio. La zona B1 è quella in alto a sinistra
void display_print_B1(Ucglib_ILI9341_18x240x320_HWSPI ucg) {
  //NTP
  String dateAndTime = "";
  if (now() != prevDisplay) { //update the display only if time has changed
    prevDisplay = now();

    dateAndTime = digitalClockDisplay();
    ucg.setPrintPos(10, 20);
    ucg.setColor(0, 255, 255, 255);    // Bianco
    ucg.setFontMode(UCG_FONT_MODE_SOLID);
    ucg.setFont(ucg_font_inb16_mr);
    display_print_DateTime(ucg, dateAndTime);
  }
}
//Stampa l'orologio. La zona B1 è quella in alto a sinistra
void display_layout1_print_B1_datetime(Ucglib_ILI9341_18x240x320_HWSPI ucg) {

  ucg.setFontMode(UCG_FONT_MODE_SOLID);
  ucg.setFont(FONT_SMALL);
  ucg.setFontPosTop();
  //NTP
  String dateAndTime = "";
  if (now() != prevDisplay) { //update the display only if time has changed
    prevDisplay = now();
    ucg.setColor(0, 255, 255, 255);    // Bianco
    dateAndTime = digitalClockDisplay();
    ucg.setPrintPos(5, 5);
    display_layout1_print_DateTime(ucg, dateAndTime);
  }
}
Ejemplo n.º 8
0
void loop()
{
    /* Runs the non RT controller */
    controller.run();

    // Serial.print(" Temperature milieu: ");
    // Serial.print(humidTempSensor.getTemp());
    // Serial.print(" Humidite milieu: ");
    // Serial.print(humidTempSensor.getHumidity());
    // Serial.print(" Temperature Bas: ");
    // Serial.println(lowSensor.getAverageValue());
    // Serial.println();

    // lcd.cursor();
    // lcd.clear();
    lcd.setCursor(7,0);
    digitalClockDisplay(now());
    lcd.setCursor(0,1);
    lcd.print("Up : ");
    lcd.print(highSensor.getTemp());
    lcd.print((char)223);
    lcd.print('C');
    // lcd.setCursor(0,2);
    // lcd.print("Mid : ");
    // lcd.print(humidTempSensor.getTemp());
    // lcd.print((char)223);
    // lcd.print('C');
    lcd.setCursor(0,2);
    lcd.print("Down : ");
    lcd.print(lowSensor.getTemp());
    lcd.print((char)223);
    lcd.print('C');

    // fogRelay.on();
    // lightRelay.on();
    // // heatRelay.on();
    // delay(5000);
    // fogRelay.off();
    // lightRelay.off();
    // // heatRelay.off();
    lcd.setCursor(0,1);
    Alarm.delay(1000);
}
Ejemplo n.º 9
0
void loop()
{
	// If error detected, disable buttons.
	if (fsmState != ERROR_MODE)
	{
		buttonA.tick();
		buttonB.tick();
	}

	// If alarm condition is detected, modify FSM state accordingly
	// Alarm is just triggered outside the edit modes.
	if (wkAlarm.isTriggered(now()) && fsmState != EDIT_ALARM_MODE 
		&& fsmState != EDIT_TIME_MODE && fsmState != SHOW_ALARM_MODE)
	{
		oldFsmState = fsmState;
		// update the time, so the display is not stuck in garbage.
		updateTime();
		display.enableClockDisplay();
		fsmState = SHOW_ALARM_MODE;

		digitalClockDisplay();
		printAlarmStatus();
	}

	// After an alarm is cleared by the user, wait for a minute
	// and re-enable the alarm to provide for repeatable alarms
	// everyday without user intervention.
	if ((millis() - lastAlarmTrigger) > ONE_MINUTE && lastAlarmTrigger)
	{
		enableRtcAlarm();
		lastAlarmTrigger = 0;
	}


	switch (fsmState)
	{
		case EDIT_TIME_MODE:

			if (oldFsmState != fsmState)
			{
				display.enableNumericDisplay();
				display.writeMessage("hora");
				delay(600);
				updateTime();
				display.enableClockDisplay();
				activeDigit = 0;
				display.enableBlink(activeDigit);
			}

			oldFsmState = fsmState;
			break;

		case EDIT_ALARM_MODE:
			
			if (oldFsmState != fsmState)
			{
				display.enableNumericDisplay();
				display.writeMessage("alarme");
				delay(600);
				updateAlarm();
				display.enableClockDisplay();

				if (isRtcAlarmOn())
				{
					for (int i = 0; i < N; i++)
						display.enableDecimalPoint(i);
				} else {
					for (int i = 0; i < N; i++)
						display.disableDecimalPoint(i);
				}

				activeDigit = 0;
				display.enableBlink(activeDigit);
			}

			oldFsmState = fsmState;
			break;

		case SHOW_TIME_MODE:

			if (oldFsmState != fsmState)
			{
				updateTime();
				lastClockRead = millis();
				lastShowTimeStart = lastClockRead;
				display.enableClockDisplay();
			}

			oldFsmState = fsmState;

			if ((millis() - lastClockRead) > updateInterval)
			{
				updateTime();
				lastClockRead = millis();
			}

			if ((millis() - lastShowTimeStart) > SHOW_TIME_DURATION)
			{
				fsmState = SHOW_TEMP_MODE;
			}

			break;

		case SHOW_TEMP_MODE:
			
			if (oldFsmState != fsmState)
			{
				updateTemperature();
				lastTempRead = millis();
				lastShowTempStart = lastTempRead;
				display.enableTempDisplay();
			}

			oldFsmState = fsmState;

			if ((millis() - lastTempRead) > updateInterval)
			{
				updateTemperature();
				lastTempRead = millis();
			}

			if ((millis() - lastShowTempStart) > SHOW_TEMP_DURATION)
			{
				fsmState = SHOW_TIME_MODE;
			}

			break;

		case SHOW_ALARM_MODE:
			display.disableDisplay();
			display.disableColon();
			playAlarmSong();
			display.enableColon();
			display.enableDisplay();
			break;

		case ERROR_MODE:
			if (oldFsmState != fsmState)
			{	
				display.enableNumericDisplay();
				display.writeMessage("ERRO");
				Serial.println("Error detected, disabling buttons.");
				Serial.println("Error detected, disabling RTC alarm.");
				disableRtcAlarm();
			}
			break;
	}
}