Refactor - split out certain functionality
This commit is contained in:
parent
4c28cc647f
commit
dbe8c9faa1
8 changed files with 349 additions and 25 deletions
|
@ -67,3 +67,10 @@ void setupLED() {
|
||||||
pinMode(LED_GREEN, OUTPUT);
|
pinMode(LED_GREEN, OUTPUT);
|
||||||
pinMode(LED_BLUE, OUTPUT);
|
pinMode(LED_BLUE, OUTPUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void signal_loop_start()
|
||||||
|
{
|
||||||
|
blink(30); delay(50);
|
||||||
|
blink(30); delay(50);
|
||||||
|
blink(30); delay(50);
|
||||||
|
}
|
||||||
|
|
146
sodaq_one/main_much_collected.ino
Normal file
146
sodaq_one/main_much_collected.ino
Normal file
|
@ -0,0 +1,146 @@
|
||||||
|
#include <Arduino.h>
|
||||||
|
#include <Wire.h>
|
||||||
|
#include <math.h>
|
||||||
|
#include <Sodaq_UBlox_GPS.h>
|
||||||
|
#include "nsarduino.h"
|
||||||
|
#include "internal.h"
|
||||||
|
|
||||||
|
#define debugSerial SerialUSB
|
||||||
|
|
||||||
|
int cnt;
|
||||||
|
|
||||||
|
void setup_much_collected() {
|
||||||
|
while ((!SerialUSB) && (millis() < 10000)){
|
||||||
|
// Wait 10 seconds for the Serial Monitor
|
||||||
|
}
|
||||||
|
|
||||||
|
loraSetup();
|
||||||
|
|
||||||
|
/* Enable the pins 2/3, 6/7 and 8/9 */
|
||||||
|
pinMode(11, OUTPUT);
|
||||||
|
digitalWrite(11, HIGH);
|
||||||
|
|
||||||
|
setupLED();
|
||||||
|
|
||||||
|
// setupWater(WATER_SENSOR_PIN);
|
||||||
|
setupBuzzer(BUZZER_PIN);
|
||||||
|
|
||||||
|
// gpsSetup();
|
||||||
|
|
||||||
|
// setupBuzzer();
|
||||||
|
|
||||||
|
// setupCompass();
|
||||||
|
// setupSunLight();
|
||||||
|
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
cnt = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
String tmps;
|
||||||
|
float tmp;
|
||||||
|
|
||||||
|
#define SLEEPTIME 10000
|
||||||
|
#define LOUDNESS_AVG 3
|
||||||
|
|
||||||
|
int loudnesses[LOUDNESS_AVG];
|
||||||
|
|
||||||
|
void loop_much_collected() {
|
||||||
|
signal_loop_start();
|
||||||
|
|
||||||
|
debugSerial.println("Deveui = " + String(LORADEV) + " => " + String(LORA_ADDR));
|
||||||
|
|
||||||
|
/* if(hasWater(WATER_SENSOR_PIN)) { */
|
||||||
|
/* debugSerial.println("Having water"); */
|
||||||
|
/* loraSend(getWater(WATER_SENSOR_PIN)); */
|
||||||
|
/* buzz(BUZZER_PIN, 5000); */
|
||||||
|
/* } else { */
|
||||||
|
/* loraSend(getWater(WATER_SENSOR_PIN)); */
|
||||||
|
/* debugSerial.println("it's dry"); */
|
||||||
|
/* } */
|
||||||
|
|
||||||
|
// loraSend(getSunLight());
|
||||||
|
// loraSend(getTempHumidHDC1000());
|
||||||
|
// loraSend(getCompass());
|
||||||
|
|
||||||
|
/* Tracker code */
|
||||||
|
/* if((tmps = gpsGetPostion(120)) != "") { */
|
||||||
|
/* loraSend(tmps); */
|
||||||
|
/* } */
|
||||||
|
|
||||||
|
sendIntAsString("battery=", getBattery());
|
||||||
|
|
||||||
|
/* Temp & loudness code */
|
||||||
|
if(cnt < LOUDNESS_AVG) {
|
||||||
|
loudnesses[cnt] = readLoudness(LOUDNESS_PIN);
|
||||||
|
debugSerial.println("temploudness=" + String(loudnesses[cnt]));
|
||||||
|
cnt++;
|
||||||
|
} else {
|
||||||
|
tmp = 0;
|
||||||
|
for(cnt = 0; cnt < LOUDNESS_AVG; cnt++) {
|
||||||
|
tmp += loudnesses[cnt];
|
||||||
|
}
|
||||||
|
tmp = tmp / (float) (cnt+1);
|
||||||
|
|
||||||
|
sendFloatAsString("temperature=", getTemperature(TEMP_PIN));
|
||||||
|
sendFloatAsString("loudness=", tmp);
|
||||||
|
|
||||||
|
|
||||||
|
/* audio representation of temperature */
|
||||||
|
tmp = getTemperature(TEMP_PIN);
|
||||||
|
|
||||||
|
if(tmp < 0) {
|
||||||
|
buzz(BUZZER_PIN, 50);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(tmp > 0 && tmp <= 20) {
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
delay(50);
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(tmp > 20 && tmp <= 30) {
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
delay(50);
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
delay(50);
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(tmp > 30 && tmp <= 40) {
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
delay(50);
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
delay(50);
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
delay(50);
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(tmp > 40) {
|
||||||
|
buzz(BUZZER_PIN, 3000);
|
||||||
|
delay(50);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
cnt = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
delay(SLEEPTIME);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Node = 2
|
||||||
|
48
|
||||||
|
48
|
||||||
|
48
|
||||||
|
52
|
||||||
|
65
|
||||||
|
51
|
||||||
|
48
|
||||||
|
66
|
||||||
|
|
||||||
|
hex: 3030303441333042
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* temp / humidity code (not functional)
|
150
sodaq_one/main_temperature_alarm.ino
Normal file
150
sodaq_one/main_temperature_alarm.ino
Normal file
|
@ -0,0 +1,150 @@
|
||||||
|
#include <Arduino.h>
|
||||||
|
#include <Wire.h>
|
||||||
|
#include <math.h>
|
||||||
|
#include <Sodaq_UBlox_GPS.h>
|
||||||
|
#include "nsarduino.h"
|
||||||
|
#include "internal.h"
|
||||||
|
|
||||||
|
#define debugSerial SerialUSB
|
||||||
|
|
||||||
|
#define TEMP_PIN 2
|
||||||
|
#define LOUDNESS_PIN 0
|
||||||
|
#define BUZZER_PIN 6
|
||||||
|
|
||||||
|
int cnt;
|
||||||
|
|
||||||
|
void setup_temperature_alarm() {
|
||||||
|
while ((!SerialUSB) && (millis() < 10000)){
|
||||||
|
// Wait 10 seconds for the Serial Monitor
|
||||||
|
}
|
||||||
|
|
||||||
|
loraSetup();
|
||||||
|
|
||||||
|
/* Enable the pins 2/3, 6/7 and 8/9 */
|
||||||
|
pinMode(11, OUTPUT);
|
||||||
|
digitalWrite(11, HIGH);
|
||||||
|
|
||||||
|
setupLED();
|
||||||
|
|
||||||
|
// setupWater(WATER_SENSOR_PIN);
|
||||||
|
setupBuzzer(BUZZER_PIN);
|
||||||
|
|
||||||
|
// gpsSetup();
|
||||||
|
|
||||||
|
// setupBuzzer();
|
||||||
|
|
||||||
|
// setupCompass();
|
||||||
|
// setupSunLight();
|
||||||
|
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
cnt = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
String tmps;
|
||||||
|
float tmp;
|
||||||
|
|
||||||
|
#define SLEEPTIME 10000
|
||||||
|
#define LOUDNESS_AVG 3
|
||||||
|
|
||||||
|
int loudnesses[LOUDNESS_AVG];
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
signal_loop_start();
|
||||||
|
|
||||||
|
debugSerial.println("Deveui = " + String(LORADEV) + " => " + String(LORA_ADDR));
|
||||||
|
|
||||||
|
/* if(hasWater(WATER_SENSOR_PIN)) { */
|
||||||
|
/* debugSerial.println("Having water"); */
|
||||||
|
/* loraSend(getWater(WATER_SENSOR_PIN)); */
|
||||||
|
/* buzz(BUZZER_PIN, 5000); */
|
||||||
|
/* } else { */
|
||||||
|
/* loraSend(getWater(WATER_SENSOR_PIN)); */
|
||||||
|
/* debugSerial.println("it's dry"); */
|
||||||
|
/* } */
|
||||||
|
|
||||||
|
// loraSend(getSunLight());
|
||||||
|
// loraSend(getTempHumidHDC1000());
|
||||||
|
// loraSend(getCompass());
|
||||||
|
|
||||||
|
/* Tracker code */
|
||||||
|
/* if((tmps = gpsGetPostion(120)) != "") { */
|
||||||
|
/* loraSend(tmps); */
|
||||||
|
/* } */
|
||||||
|
|
||||||
|
sendIntAsString("battery=", getBattery());
|
||||||
|
|
||||||
|
/* Temp & loudness code */
|
||||||
|
if(cnt < LOUDNESS_AVG) {
|
||||||
|
loudnesses[cnt] = readLoudness(LOUDNESS_PIN);
|
||||||
|
debugSerial.println("temploudness=" + String(loudnesses[cnt]));
|
||||||
|
cnt++;
|
||||||
|
} else {
|
||||||
|
tmp = 0;
|
||||||
|
for(cnt = 0; cnt < LOUDNESS_AVG; cnt++) {
|
||||||
|
tmp += loudnesses[cnt];
|
||||||
|
}
|
||||||
|
tmp = tmp / (float) (cnt+1);
|
||||||
|
|
||||||
|
sendFloatAsString("temperature=", getTemperature(TEMP_PIN));
|
||||||
|
sendFloatAsString("loudness=", tmp);
|
||||||
|
|
||||||
|
|
||||||
|
/* audio representation of temperature */
|
||||||
|
tmp = getTemperature(TEMP_PIN);
|
||||||
|
|
||||||
|
if(tmp < 0) {
|
||||||
|
buzz(BUZZER_PIN, 50);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(tmp > 0 && tmp <= 20) {
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
delay(50);
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(tmp > 20 && tmp <= 30) {
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
delay(50);
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
delay(50);
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(tmp > 30 && tmp <= 40) {
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
delay(50);
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
delay(50);
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
delay(50);
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(tmp > 40) {
|
||||||
|
buzz(BUZZER_PIN, 3000);
|
||||||
|
delay(50);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
cnt = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
delay(SLEEPTIME);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Node = 2
|
||||||
|
48
|
||||||
|
48
|
||||||
|
48
|
||||||
|
52
|
||||||
|
65
|
||||||
|
51
|
||||||
|
48
|
||||||
|
66
|
||||||
|
|
||||||
|
hex: 3030303441333042
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* temp / humidity code (not functional)
|
|
@ -7,6 +7,7 @@ int getBattery();
|
||||||
void blink(int length);
|
void blink(int length);
|
||||||
void led_on();
|
void led_on();
|
||||||
void led_off();
|
void led_off();
|
||||||
|
void signal_loop_start();
|
||||||
|
|
||||||
|
|
||||||
void setupBuzzer(int pin);
|
void setupBuzzer(int pin);
|
||||||
|
|
|
@ -26,34 +26,14 @@ void setup() {
|
||||||
// Wait 10 seconds for the Serial Monitor
|
// Wait 10 seconds for the Serial Monitor
|
||||||
}
|
}
|
||||||
|
|
||||||
loraSetup();
|
|
||||||
|
|
||||||
/* Enable the pins 2/3, 6/7 and 8/9 */
|
|
||||||
pinMode(11, OUTPUT);
|
|
||||||
digitalWrite(11, HIGH);
|
|
||||||
|
|
||||||
setupLED();
|
|
||||||
|
|
||||||
// setupWater(WATER_SENSOR_PIN);
|
|
||||||
setupBuzzer(BUZZER_PIN);
|
|
||||||
|
|
||||||
// gpsSetup();
|
|
||||||
|
|
||||||
// setupBuzzer();
|
|
||||||
|
|
||||||
// setupCompass();
|
|
||||||
// setupSunLight();
|
|
||||||
|
|
||||||
buzz(BUZZER_PIN, 100);
|
|
||||||
cnt = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
String tmps;
|
String tmps;
|
||||||
float tmp;
|
float tmp;
|
||||||
|
|
||||||
#define SLEEPTIME 10000
|
#define SLEEPTIME 10000
|
||||||
|
#define LOUDNESS_AVG 3
|
||||||
|
|
||||||
#define LOUDNESS_AVG 60
|
|
||||||
int loudnesses[LOUDNESS_AVG];
|
int loudnesses[LOUDNESS_AVG];
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
|
@ -74,13 +54,13 @@ void loop() {
|
||||||
// loraSend(getTempHumidHDC1000());
|
// loraSend(getTempHumidHDC1000());
|
||||||
// loraSend(getCompass());
|
// loraSend(getCompass());
|
||||||
|
|
||||||
sendIntAsString("battery=", getBattery());
|
|
||||||
|
|
||||||
/* Tracker code */
|
/* Tracker code */
|
||||||
/* if((tmps = gpsGetPostion(120)) != "") { */
|
/* if((tmps = gpsGetPostion(120)) != "") { */
|
||||||
/* loraSend(tmps); */
|
/* loraSend(tmps); */
|
||||||
/* } */
|
/* } */
|
||||||
|
|
||||||
|
sendIntAsString("battery=", getBattery());
|
||||||
|
|
||||||
/* Temp & loudness code */
|
/* Temp & loudness code */
|
||||||
if(cnt < LOUDNESS_AVG) {
|
if(cnt < LOUDNESS_AVG) {
|
||||||
loudnesses[cnt] = readLoudness(LOUDNESS_PIN);
|
loudnesses[cnt] = readLoudness(LOUDNESS_PIN);
|
||||||
|
@ -93,8 +73,48 @@ void loop() {
|
||||||
}
|
}
|
||||||
tmp = tmp / (float) (cnt+1);
|
tmp = tmp / (float) (cnt+1);
|
||||||
|
|
||||||
sendFloatAsString("loudness=", tmp);
|
|
||||||
sendFloatAsString("temperature=", getTemperature(TEMP_PIN));
|
sendFloatAsString("temperature=", getTemperature(TEMP_PIN));
|
||||||
|
sendFloatAsString("loudness=", tmp);
|
||||||
|
|
||||||
|
|
||||||
|
/* audio representation of temperature */
|
||||||
|
tmp = getTemperature(TEMP_PIN);
|
||||||
|
|
||||||
|
if(tmp < 0) {
|
||||||
|
buzz(BUZZER_PIN, 50);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(tmp > 0 && tmp <= 20) {
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
delay(50);
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(tmp > 20 && tmp <= 30) {
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
delay(50);
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
delay(50);
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(tmp > 30 && tmp <= 40) {
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
delay(50);
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
delay(50);
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
delay(50);
|
||||||
|
buzz(BUZZER_PIN, 100);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(tmp > 40) {
|
||||||
|
buzz(BUZZER_PIN, 3000);
|
||||||
|
delay(50);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
cnt = 0;
|
cnt = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue