|
@@ -1,12 +1,21 @@
|
|
|
|
|
+#include <Automaton.h>
|
|
|
|
|
+
|
|
|
#include <OneWire.h>
|
|
#include <OneWire.h>
|
|
|
#include <DallasTemperature.h>
|
|
#include <DallasTemperature.h>
|
|
|
#include <DS18B20Events.h>
|
|
#include <DS18B20Events.h>
|
|
|
|
|
|
|
|
// Pin for DS18B20
|
|
// Pin for DS18B20
|
|
|
-#define ONE_WIRE_BUS 4
|
|
|
|
|
|
|
+int one_wire_bus = 4;
|
|
|
|
|
+
|
|
|
|
|
+int mcu_flash_button = 0;
|
|
|
|
|
+Atm_button mcubtn;
|
|
|
|
|
+
|
|
|
|
|
+int led1_pin = 13;
|
|
|
|
|
+
|
|
|
|
|
+Atm_led led1;
|
|
|
|
|
|
|
|
// Init Onewire and DallasTemperature
|
|
// Init Onewire and DallasTemperature
|
|
|
-OneWire oneWire(ONE_WIRE_BUS);
|
|
|
|
|
|
|
+OneWire oneWire(one_wire_bus);
|
|
|
DallasTemperature dallasTemperature(&oneWire);
|
|
DallasTemperature dallasTemperature(&oneWire);
|
|
|
|
|
|
|
|
//Init thermometer with index 0 (default)
|
|
//Init thermometer with index 0 (default)
|
|
@@ -14,25 +23,37 @@ DS18B20Events thermometer(0);
|
|
|
|
|
|
|
|
void setup() {
|
|
void setup() {
|
|
|
Serial.begin(115200);
|
|
Serial.begin(115200);
|
|
|
- delay(1000);
|
|
|
|
|
|
|
+ led1.trace( Serial );
|
|
|
|
|
+ mcubtn.trace( Serial );
|
|
|
|
|
+
|
|
|
|
|
+ led1.begin( led1_pin ).blink( 1000 );
|
|
|
|
|
+
|
|
|
|
|
+ mcubtn.begin( mcu_flash_button )
|
|
|
|
|
+ .onPress( led1, led1.EVT_TOGGLE_BLINK );
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
Serial.println("Booting...");
|
|
Serial.println("Booting...");
|
|
|
|
|
+ /*
|
|
|
pinMode(13, OUTPUT); //GPIO 13 = Pin D7
|
|
pinMode(13, OUTPUT); //GPIO 13 = Pin D7
|
|
|
|
|
|
|
|
DS18B20Events::setup(&dallasTemperature); // Link DS18B20Events to DallasTemperature object
|
|
DS18B20Events::setup(&dallasTemperature); // Link DS18B20Events to DallasTemperature object
|
|
|
- DS18B20Events::setInterval(5000); // Set min interval in milliseconds between 2 measurements. Default 10000 set in setup() method.
|
|
|
|
|
|
|
+ DS18B20Events::setInterval(1000); // Set min interval in milliseconds between 2 measurements. Default 10000 set in setup() method.
|
|
|
|
|
|
|
|
thermometer.onChange = temperatureChanged;
|
|
thermometer.onChange = temperatureChanged;
|
|
|
|
|
|
|
|
|
|
+ */
|
|
|
Serial.println("Setup Done.");
|
|
Serial.println("Setup Done.");
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void loop() {
|
|
void loop() {
|
|
|
- thermometer.loop(); // Mandatory to measure temperature and fire an event if needed
|
|
|
|
|
|
|
+ // thermometer.loop(); // Mandatory to measure temperature and fire an event if needed
|
|
|
// Serial.println("Hello World");
|
|
// Serial.println("Hello World");
|
|
|
- digitalWrite(13, HIGH);
|
|
|
|
|
- delay(100);
|
|
|
|
|
- digitalWrite(13, LOW);
|
|
|
|
|
- delay(100);
|
|
|
|
|
|
|
+ // digitalWrite(13, HIGH);
|
|
|
|
|
+ // delay(1000);
|
|
|
|
|
+ // digitalWrite(13, LOW);
|
|
|
|
|
+ // delay(1000);
|
|
|
|
|
+ automaton.run();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void temperatureChanged(uint8_t index, float tempC)
|
|
void temperatureChanged(uint8_t index, float tempC)
|