Skip to content

Commit f4a8e15

Browse files
committed
Lots of commits
1 parent 52f751f commit f4a8e15

File tree

73 files changed

+9213
-133
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+9213
-133
lines changed

.DS_Store

6 KB
Binary file not shown.

Dual_LM35_v1/Dual_LM35_v1.ino

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
//declare variables
2+
float tempC, tempC0, tempC1;
3+
int tempPin0 = 0;
4+
int tempPin1 = 1;
5+
6+
void setup()
7+
{
8+
Serial.begin(57600); //opens serial port, sets data rate to 9600 bps
9+
}
10+
11+
void loop()
12+
{
13+
tempC = analogRead(tempPin0); //read the value from the sensor
14+
tempC0 = (5.0 * tempC * 100.0)/1024.0; //convert the analog data to temperature
15+
Serial.print(tempC0); //send the data to the computer
16+
17+
Serial.print("\t");
18+
19+
tempC = analogRead(tempPin1); //read the value from the sensor
20+
tempC1 = (5.0 * tempC * 100.0)/1024.0; //convert the analog data to temperature
21+
Serial.print(tempC1); //send the data to the computer
22+
23+
Serial.print("\t");
24+
Serial.print(tempC0 - tempC1);
25+
26+
Serial.println();
27+
delay(1000); //wait one second before sending new data
28+
}

Jeenode_3/.DS_Store

0 Bytes
Binary file not shown.

Jeenode_3/Jeenode_3_airqualityegg/Jeenode_3_airqualityegg.ino

Lines changed: 56 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@
77
#include "Wire.h"
88
#include "EggBus.h"
99

10+
// RF stuff
11+
#define RF_NODEID 15
12+
#define RF_CHANNEL 125
13+
14+
1015

1116
#define LED 6 // Red on Nanode
1217
#define LED_GREEN 5
@@ -33,16 +38,12 @@ uint8_t egg_bus_address;
3338

3439

3540
void setup() {
36-
37-
// use channel,node and frequency from EPROM
38-
data.nodeid = rf12_config();
39-
41+
Serial.begin(57600);
4042
pinMode(LED, OUTPUT);
4143
pinMode(LED_GREEN, OUTPUT);
4244
digitalWrite(LED, HIGH); // off
43-
44-
// Serial.begin(57600);
45-
// Serial.println("Initialising...");
45+
46+
Serial.println("Initialising...");
4647
// flash the LED to signify booting
4748
digitalWrite(LED_GREEN, HIGH);
4849
digitalWrite(LED, LOW);
@@ -55,11 +56,23 @@ void setup() {
5556
delay(100);
5657
digitalWrite(LED_GREEN, HIGH); // off
5758
digitalWrite(LED, HIGH); // off
59+
60+
61+
// use channel,node and frequency from EPROM
62+
rf12_initialize(RF_NODEID, RF12_868MHZ, RF_CHANNEL);
63+
64+
data.nodeid = rf12_config();
65+
Serial.print ("Node id: ");
66+
Serial.println (data.nodeid);
5867

5968
eggBus.init();
60-
Serial.print("AQ Egg Shield Firmware Version: ");
61-
Serial.println(eggBus.getFirmwareVersion(), DEC);
6269
egg_bus_address = eggBus.next();
70+
71+
Serial.print("Egg Bus Address: 0x");
72+
Serial.println(egg_bus_address, HEX);
73+
Serial.print("Firmware Version: ");
74+
Serial.println(eggBus.getFirmwareVersion(), DEC);
75+
Serial.println();
6376
}
6477

6578

@@ -71,11 +84,8 @@ void loop() {
7184
rf12_recvDone();
7285
rf12_sendStart(0, &data, sizeof data);
7386
rf12_sendWait(2);
74-
digitalWrite(LED_GREEN, LOW);
75-
delay(50);
76-
digitalWrite(LED_GREEN, HIGH);
77-
delay(10000);
78-
87+
Serial.print(data.type);
88+
Serial.println(data.data);
7989

8090

8191
data.type = 'B';
@@ -88,9 +98,14 @@ void loop() {
8898
delay(50);
8999
digitalWrite(LED, HIGH);
90100
delay(10000);
101+
Serial.print(data.type);
102+
Serial.println(data.data,DEC);
103+
104+
eggBus.init();
105+
egg_bus_address = eggBus.next();
91106

92107
data.type = 'C';
93-
data.data = (float) readEggSensor(egg_bus_address, 1);
108+
data.data = readEggSensor(egg_bus_address, 1);
94109
while (!rf12_canSend())
95110
rf12_recvDone();
96111
rf12_sendStart(0, &data, sizeof data);
@@ -99,10 +114,12 @@ void loop() {
99114
delay(50);
100115
digitalWrite(LED, HIGH);
101116
delay(10000);
117+
Serial.print(data.type);
118+
Serial.println(data.data,DEC);
102119

103120

104121
data.type = 'D';
105-
data.data = (float) readEggSensor(egg_bus_address, 0);
122+
data.data = readEggSensor(egg_bus_address, 0);
106123
while (!rf12_canSend())
107124
rf12_recvDone();
108125
rf12_sendStart(0, &data, sizeof data);
@@ -111,6 +128,14 @@ void loop() {
111128
delay(50);
112129
digitalWrite(LED, HIGH);
113130
delay(10000);
131+
Serial.print(data.type);
132+
Serial.println(data.data);
133+
134+
135+
digitalWrite(LED_GREEN, LOW);
136+
delay(50);
137+
digitalWrite(LED_GREEN, HIGH);
138+
delay(10000);
114139
}
115140

116141

@@ -135,17 +160,18 @@ float readEggSensor(uint8_t egg_bus_address, int ii) {
135160
float x_scaler = 0.0;
136161
float y_scaler = 0.0;
137162
float i_scaler = 0.0;
163+
float f;
138164
uint32_t measured_value = 0;
139165
uint32_t r0 = 0;
140166

141-
// Serial.println("===========================");
167+
Serial.println("===========================");
142168

143-
// Serial.println("---------------------------");
144-
// Serial.print(" Sensor Index: ");
145-
// Serial.println(ii, DEC);
169+
Serial.println("---------------------------");
170+
Serial.print(" Sensor Index: ");
171+
Serial.println(ii, DEC);
146172

147-
// Serial.print(" Sensor Type: ");
148-
// Serial.println(eggBus.getSensorType(ii));
173+
Serial.print(" Sensor Type: ");
174+
Serial.println(eggBus.getSensorType(ii));
149175

150176
// Serial.print(" Indep. Scaler: ");
151177
i_scaler = eggBus.getIndependentScaler(ii);
@@ -159,11 +185,11 @@ float readEggSensor(uint8_t egg_bus_address, int ii) {
159185
y_scaler = eggBus.getTableYScaler(ii);
160186
// Serial.println(y_scaler, 8);
161187

162-
// Serial.print(" Measured Value: ");
188+
Serial.print(" Measured Value: ");
163189
measured_value = eggBus.getSensorIndependentVariableMeasure(ii);
164-
// Serial.print(measured_value, DEC);
165-
// Serial.print(" => ");
166-
// Serial.println(measured_value * i_scaler, 8);
190+
Serial.print(measured_value, DEC);
191+
Serial.print(" => ");
192+
Serial.println(measured_value * i_scaler, 8);
167193

168194
// Serial.print(" R0: ");
169195
r0 = eggBus.getSensorR0(ii);
@@ -192,17 +218,14 @@ float readEggSensor(uint8_t egg_bus_address, int ii) {
192218
// Serial.println("]");
193219
// }
194220

195-
// Serial.print(" Sensor Value: ");
196-
// Serial.println(eggBus.getSensorValue(ii), DEC);
197-
198-
// Serial.print(" Sensor Units: ");
199-
// Serial.println(eggBus.getSensorUnits(ii));
221+
Serial.print(eggBus.getSensorValue(ii), DEC);
222+
Serial.println(" ");
223+
Serial.print(eggBus.getSensorUnits(ii));
224+
200225
return (eggBus.getSensorValue(ii));
201226
}
202227

203228

204-
205-
206229
void sensorSetup(){
207230
//Serial.println("--- DHT22 BEGIN ---");
208231
dht.begin();

Jeenode_3/Jeenode_3_receiver/Jeenode_3_receiver.ino

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,13 @@ void loop() {
6262
Serial.print("\tt:");
6363
Serial.print(data.type);
6464

65-
Serial.print("\td:");
66-
Serial.print(data.data);
65+
if (data.type == 'C' or data.type == 'D') {
66+
Serial.print("\td:");
67+
Serial.print(data.data, DEC);
68+
} else {
69+
Serial.print("\td:");
70+
Serial.print(data.data);
71+
}
6772

6873

6974
Serial.print("\t");
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
#include <JeeLib.h>
2+
3+
4+
// DHT222 on port 1 (Arduino 4 == Jeenode P1 DIO1
5+
6+
// RF stuff
7+
#define BLUE_LED 9
8+
9+
10+
11+
#include <dht.h>
12+
dht DHT;
13+
#define DHT22_PIN 4
14+
#define DHT11_PIN 5
15+
int tempPin0 = 3;
16+
17+
// this must be added since we're using the watchdog for low-power waiting
18+
ISR(WDT_vect) { Sleepy::watchdogEvent(); }
19+
20+
// number of millisecs to powerdown and sleep for between reading and sending reading
21+
#define DELAY 30000
22+
23+
//data Structure to be sent, called payload
24+
25+
typedef struct {
26+
int nodeid; // sending node ID
27+
char type; //
28+
float data; // humidity
29+
} Payload;
30+
Payload data;
31+
32+
33+
void setup() {
34+
35+
// use channel,node and frequency from EPROM
36+
data.nodeid = rf12_config();
37+
38+
pinMode(BLUE_LED, OUTPUT);
39+
digitalWrite(BLUE_LED, HIGH); //off
40+
41+
// Serial.begin(57600);
42+
// Serial.println("Initialising...");
43+
// flash the LED to signify booting
44+
digitalWrite(BLUE_LED, LOW);
45+
delay(100);
46+
digitalWrite(BLUE_LED, HIGH);
47+
delay(150);
48+
digitalWrite(BLUE_LED, LOW);
49+
delay(200);
50+
digitalWrite(BLUE_LED, HIGH);
51+
}
52+
53+
54+
void loop() {
55+
56+
DHT.read22(DHT22_PIN);
57+
58+
data.type = 'A';
59+
data.data = (float) DHT.temperature;
60+
while (!rf12_canSend())
61+
rf12_recvDone();
62+
rf12_sendStart(0, &data, sizeof data);
63+
rf12_sendWait(2);
64+
delay(100);
65+
66+
data.type = 'B';
67+
data.data = (float) DHT.humidity;
68+
while (!rf12_canSend())
69+
rf12_recvDone();
70+
rf12_sendStart(0, &data, sizeof data);
71+
rf12_sendWait(2);
72+
delay(100);
73+
74+
75+
data.type = 'X';
76+
data.data = (5.0 * analogRead(tempPin0) * 100.0) / 1024.0;
77+
while (!rf12_canSend()) rf12_recvDone();
78+
rf12_sendStart(0, &data, sizeof data);
79+
rf12_sendWait(2);
80+
delay(100);
81+
82+
83+
84+
// quick flash on sending packet
85+
digitalWrite(BLUE_LED, LOW);
86+
delay(50);
87+
digitalWrite(BLUE_LED, HIGH);
88+
89+
rf12_sleep(RF12_SLEEP);
90+
Sleepy::loseSomeTime(DELAY);
91+
rf12_sleep(RF12_WAKEUP);
92+
}
93+
94+
95+
96+
97+
long readVcc() {
98+
long result;
99+
// Read 1.1V reference against AVcc
100+
ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
101+
delay(2); // Wait for Vref to settle
102+
ADCSRA |= _BV(ADSC); // Convert
103+
while (bit_is_set(ADCSRA,ADSC));
104+
result = ADCL;
105+
result |= ADCH<<8;
106+
result = 1126400L / result; // Back-calculate AVcc in mV
107+
return result;
108+
}

0 commit comments

Comments
 (0)