Skip to content

Commit

Permalink
Funk-Aufrufe korrigert
Browse files Browse the repository at this point in the history
  • Loading branch information
Tuxdiver committed Jul 3, 2013
1 parent 83dbe0d commit 63bfb2c
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 50 deletions.
61 changes: 25 additions & 36 deletions HausMessung/Luefter_Steuerung/Luefter_Steuerung.ino
Expand Up @@ -136,13 +136,12 @@ float h2o_temp=0.0;
int luefter_an = 0;

void loop() {
int sensorValue;


rf12_recvDone();

int time_now = millis();

if (time_now - last_read > 5000) {
if (time_now - last_read >= 5000) {
float time_faktor = (time_now-last_read) / 1000.0;
rpm1 = rpm1_counter * 30 / time_faktor;
last_read = time_now;
Expand All @@ -151,13 +150,11 @@ void loop() {

// Send the command to get temperatures
sensors.requestTemperatures();
delay(50);

for(int i = 0; i < number_of_devices; i++) {
if (device_ids[i]) {
rf12_recvDone();
if (rf12_canSend()) {
payload.id = 31;
payload.typ = 1;
payload.id = 31;
device_address_to_string(device_ids[i]);
strncpy((char*)payload.data.temperatur.name, tmp_device_name, 17);
payload.data.temperatur.temp = sensors.getTempC(device_ids[i]);
Expand All @@ -166,39 +163,31 @@ void loop() {
}
Serial << "Temp" << ";"<< i << ";" << payload.data.temperatur.temp << ";" << payload.data.temperatur.name << endl;

byte header = RF12_HDR_DST | 1;
rf12_sendStart(header, &payload , sizeof(payload));
rf12_sendWait(0);
delay(100);
}
}
rf12_recvDone();
if (rf12_canSend()) {
byte header = RF12_HDR_DST | 1;
rf12_sendStart(header, &payload , sizeof(payload));
rf12_sendWait(0);
}
}
}



// read the input on analog pin 0:
/* if (h2o_sensor_id == -1 || h2o_temp <= 0) {
sensorValue = analogRead(A0);
sensorValue = map(sensorValue,0,1023,29,80);
}
*/

sensorValue = map(h2o_temp*100,1950,2100,29,80);
if (h2o_temp > 21) {
int sensorValue = map(h2o_temp*100,1800,2100,29,80);
if (h2o_temp > 20.5) {
sensorValue = 80;
}
if (sensorValue < 29) {
sensorValue = 29;
if (sensorValue <= 29) {
sensorValue = 0;
}
Serial << "Mapping: " << sensorValue << endl;

// Hysterese Logik
if (luefter_an == 0 && sensorValue >= 36) {
digitalWrite(4,HIGH);
digitalWrite(4, HIGH);
luefter_an = 1;
}
if (luefter_an == 1 && sensorValue <= 31) {
digitalWrite(4,LOW);
digitalWrite(4, LOW);
luefter_an = 0;
}

Expand All @@ -210,19 +199,19 @@ void loop() {



Serial << "Luefter: " << sensorValue << " RPM: " << rpm1_counter << " " << rpm1 << endl;

payload.id = 31;
payload.typ = 3;
payload.data.luefter.drehzahl = rpm1;
payload.data.luefter.duty = sensorValue;

rf12_recvDone();
if (rf12_canSend()) {
payload.id = 31;
payload.typ = 3;
payload.data.luefter.drehzahl = rpm1;
payload.data.luefter.duty = sensorValue;

byte header = RF12_HDR_DST | 1;
rf12_sendStart(header, &payload , sizeof(payload));
rf12_sendWait(0);
}

Serial << "Luefter: " << sensorValue << " RPM: " << rpm1_counter << " " << rpm1 << endl;
}

delay(100);
Expand Down
3 changes: 2 additions & 1 deletion HausMessung/Receiver/Receiver.ino 100755 → 100644
Expand Up @@ -32,7 +32,7 @@ void loop()

struct payload_data *data;
data = (struct payload_data *)rf12_data;

if (data->typ == 1) {
float temp = data->data.temperatur.temp;
Serial << "Temp;" << (int)data->id << ";" << temp << ";" << data->data.temperatur.name << "\n";
Expand All @@ -41,6 +41,7 @@ void loop()
if (data->typ == 2) {
Serial << "Strom;WATT;" << (int)data->id << ";" << data->data.strom.watt << "\n";
}

if (data->typ == 3) {
Serial << "Luefter;DREHZAHL;" << (int)data->id << ";" << data->data.luefter.drehzahl << "\n";
Serial << "Luefter;DUTY;" << (int)data->id << ";" << data->data.luefter.duty << "\n";
Expand Down
23 changes: 10 additions & 13 deletions HausMessung/Temp_Transmitter/Temp_Transmitter.ino 100755 → 100644
Expand Up @@ -10,7 +10,7 @@
#define ONE_WIRE_BUS 4
#define TEMPERATURE_PRECISION 12

#define TRANSMIT_RATE 1000
#define TRANSMIT_RATE 5000


// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
Expand Down Expand Up @@ -94,30 +94,27 @@ void loop(void)

for(int i=0;i<number_of_devices; i++) {
if (device_ids[i]) {
rf12_recvDone();
if (rf12_canSend()) {
payload.id = i;
payload.typ = 1;
device_address_to_string(device_ids[i]);
strncpy((char*)payload.data.temperatur.name, tmp_device_name, 17);
payload.data.temperatur.temp = sensors.getTempC(device_ids[i]);
Serial << "Temp" << ";"<< i << ";" << payload.data.temperatur.temp << ";" << payload.data.temperatur.name << "\n";

byte header = RF12_HDR_DST | 1;
rf12_sendStart(header, &payload , sizeof(payload));
rf12_sendWait(0);
}
}
rf12_recvDone();
if (rf12_canSend()) {
byte header = RF12_HDR_DST | 1;
rf12_sendStart(header, &payload , sizeof(payload));
rf12_sendWait(0);
last_transmit = millis();
}
}
}



last_transmit = millis();
}


// don't like busy waits - just sleep a while
delay(10);
delay(100);
}


Expand Down

0 comments on commit 63bfb2c

Please sign in to comment.