| Passwort vergessen?

Allzeit guten Wind wünscht Euch Hermann

Forum | Registrieren | Suche | Regeln | FAQ | Impressum
1 Benutzer online

 

Arduino Regelung
 1 2 3 4
15.03.2016 08:49
Highway 

Re: Arduino Regelung

Johh KapHorn deine Seite und Beschreibungen haben mich richtig Süchtig gemacht "Auch haben will Effekt"
Hier fand ich dann die Überzeugung das kannst du auch!

So und hiermit gebe ich meinen Teil zurück damit andere auch was zur Unterstüzung finden.

#####################################
# Keils Datenlogger #
#####################################

Hardware:
---------
- SainSmart Mega2560
- 4x Tenflyer 5 Stück 3M Wasserdicht digitale Temperaturtemp Sensorfühler DS18b20 gibts bei Amazon,
Lieferung dauert aber 3 Wochen (aus China) gute Verarbeitung! 4,7kOhm Widerstand nicht vergessen sonst geht nix!
- SunFounder Ethernet Shield W5100 for Arduino UNO R3 Mega 2560 1280 A057

Aufbau Schaltungen: Habe mir ein Sunfounder LCD1602 Starter Kit for Arduino besorgt, da hat man fast alles für den Anfang!
http://www.sunfounder.com/index.php?c=sh...=Kit&pid=21

Schaltungen
http://www.sunfounder.com/index.php?c=ca..._nr&type=27
Immer auf das Pluszeichen klicken da tauchen dann Infos Schaltpläne auf!
Für den Taster: http://www.sunfounder.com/index.php?c=ca...ino&zsid=88
Für das Display: http://www.sunfounder.com/index.php?c=ca...ino&zsid=96
DS18B20 Temperaturfühler: http://www.sunfounder.com/index.php?c=ca...0Arduino%20V2.0


Funktionen:
-----------
Wird der Taster gedrückt, schaltet die Anzeige auf einen anderen Fühler um.
Alle 5 Minuten werden alle Werte an meinen Server per Ethernet-Shield in eine mySQL-Datenbank übertragen.
Somit kann ich meine Werte von überall abrufen.
Hierzu enthält die angegebenen URL ein PHP Skript, welches die Daten per GET-Befehl
übernimmt und in die Datenbank einträgt.
Alles auf http://www.horbach-in-franken.de/index.p...rluftkollektors
dokumentiert.
Dokumentation PHP und Scripte von http://jleopold.de/2011/03/16/arduino-da...gger-mysql-php/


Code ab hier ------------------------------------------------------------------------------------

#include <Ethernet.h>
#include <SPI.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>
#include <Wire.h>
/**********************************************************/
// assign a MAC address for the ethernet controller.
// fill in your address here:
//ETHERNET-SETTINGS
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; // MAC-Adresse des Arduino
byte ip[] = { 192, 168, 178, XX }; // IP-Adresse des Arduino irgend eine freie Adresse nehmen
byte gateway[] = { 192, 168, 178, 1 }; // Gateway
byte subnet[] = { 255, 255, 255, 0 }; // SubNet
byte server[] = { XX, XX, XX, XX }; // IP-Adresse des Servers

EthernetClient client;
char host[] = "http://irgendwo"; // Domain
char url[] = "/arduino_push_data.php"; // Pfad zur PHP-Datei
char key[] = "passwort"; // Kennwort aus PHP-Datei
char c;

/**********************************************************/
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(4, 6, 10, 11, 12, 13);
/**********************************************************/

// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
#define ONE_WIRE_BUS 7
OneWire oneWire(ONE_WIRE_BUS);
// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);
const int keyPin = 8; //the number of the key pin
int anzeige = 0;

/**********************************************************/
unsigned long previousMillis = 0; // will store last time Data was send
const long interval = 300000; // Time delay for Data send
/**********************************************************/

void setup()
{
delay(1000);
Serial.begin(9600);
Serial.flush();
delay(200);

Serial.println("TemperaturLogger");
Serial.println("Ethernet initialisieren...");

Ethernet.begin(mac, ip, gateway);
delay(5000); // warten, bis Ethernet gestartet ist

//Sensoren abfragen
sensors.begin();
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Taster als Eingang
pinMode(keyPin,INPUT);//initialize the key pin as input
// print the Ethernet board/shield's IP address:
// Serial.print("My IP address: ");
// Serial.println(Ethernet.localIP());
}

void loop()
{
unsigned long currentMillis = millis();


/************************** Taster fuer Anzeige umschalten ********************************/

if(digitalRead(keyPin) ==HIGH )
{
anzeige = (anzeige +1);//Anzeige umschalten
delay(1500);//Warten damit der Finger wech kommt
}
if((anzeige) == 4)
{
anzeige = 0;
}

/************************** Sensor ********************************/
Werte der Sensoren einsammeln und Anzeigen
/************************* LCD *********************************/
lcd.setCursor(0,0); // set the cursor to column 0, line 0
switch(anzeige)
{
case 0:
lcd.print("Zulufttemp ");
lcd.setCursor(0,1); // set the cursor to column 0, line 1
lcd.print("Temp: ");
lcd.print(sensors.getTempCByIndex(0)); // Print temp 0 to the LCD.
break;
case 1:
lcd.print("Aussentemp");
lcd.setCursor(0,1); // set the cursor to column 0, line 1
lcd.print("Temp: ");
lcd.print(sensors.getTempCByIndex(1)); // Print temp 0 to the LCD.
break;
case 2:
lcd.print("Kellertemp");
lcd.setCursor(0,1); // set the cursor to column 0, line 1
lcd.print("Temp: ");
lcd.print(sensors.getTempCByIndex(2)); // Print temp 0 to the LCD.
break;
case 3:
lcd.print("Kollektortemp");
lcd.setCursor(0,1); // set the cursor to column 0, line 1
lcd.print("Temp: ");
lcd.print(sensors.getTempCByIndex(3)); // Print temp 0 to the LCD.
break;
}
lcd.setCursor(11,1); // set the cursor to column 0, line 1
lcd.print(" \337C");


/************************* Daten an Webserver senden *********************************/
if (currentMillis - previousMillis >= interval)
{
if (client.connect(server, 80)) // Verbindung zum Server aufbauen
{
lcd.setCursor(0,0); // set the cursor to column 0, line 0
lcd.print("Uebertrage ");
lcd.setCursor(0,1); // set the cursor to column 0, line 1
lcd.print(sensors.getTempCByIndex(anzeige));
Serial.println("Verbunden, Sende Daten...");
client.print("GET " + String(url));
Serial.println("GET " + String(url));
client.print("?ZULUFT=");
Serial.print("?ZULUFT=");
client.print(sensors.getTempCByIndex(0));
Serial.print(sensors.getTempCByIndex(0));
client.print("&AUSSENLUFT=");
Serial.print("&AUSSENLUFT=");
client.print(sensors.getTempCByIndex(1));
Serial.print(sensors.getTempCByIndex(1));
client.print("&KELLER=");
Serial.print("&KELLER=");
client.print(sensors.getTempCByIndex(2));
Serial.print(sensors.getTempCByIndex(2));
client.print("&KOLLEKTOR=");
Serial.print("&KOLLEKTOR=");
client.print(sensors.getTempCByIndex(3));
Serial.print(sensors.getTempCByIndex(3));
client.print("&key=" + String(key));
Serial.print("&key=" + String(key));
client.println(" HTTP/1.1");
Serial.println(" HTTP/1.1");
client.print("Host: " + String(host));
Serial.print("Host: " + String(host));
client.println();
Serial.println();
client.println("User-Agent: Arduino");
Serial.println("User-Agent: Arduino");
client.println("Connection: close");
Serial.println("Connection: close");
client.println();
Serial.println();
}
else
{
Serial.println(" ***** VERBINDUNGSAUFBAU NICHT MÖGLICH *****");
}
client.stop();
Serial.println("Done.");
client.flush();
previousMillis = currentMillis;
delay(3500);//Warten damit mann es sieht
}
}


Wann wird es endlich wieder Sonnig?

Highway

15.03.2016 09:35
plataaaa 
Re: Arduino Regelung

Hi Highway,
sehr schön dass es funzt. einen Hinweis noch, bei mir gab es Probleme, dass das LAN Modul nicht erkannt wurde, wenn es direkt an der Fritzbox angschlossen wurde. Erst nachdem ich es über einem Switch an die Fritzbox angeschlossen habe funktionierte die Erkennung tadellos.

15.03.2016 09:48
Highway 

Re: Arduino Regelung

Danke Plataaaa,
bei mir ging es ohne Probleme direkt an der Fritzbox, tut es geradeauch noch! erst heute Abend kommt der Arduino in den Keller mit ner Fritz welche als Repeater Wlan ins EG aufbaut.
Sollte es nicht zu viel schneien baue ich den Kollektorfühler welcher im oberen Drittel des Kollektors später wenn der Arduino regelt und den Start für den Lüfter vorgibt auch ein.
Wenn da 5°C mehr als im Keller sind kann der Lüfter angehen, die Zuluft liegt dann sowiso noch höher.


Wann wird es endlich wieder Sonnig?

Highway

15.03.2016 15:01
plataaaa 
Re: Arduino Regelung

falls Du Interesse an einem cc3000 hast einfach melden

15.03.2016 20:42
Randvogelsberger 

Re: Arduino Regelung

Prima ihr 2.


Ich muß mir also nicht alles selber überlegen
Da werde ich mich mal bei Gelegenheit an diesen Codes "vergreifen".

Danke dafür....

Gruß Andy

22.03.2016 10:59
Highway 

Re: Arduino Regelung

Warnung vor den php Scripten für die Diagramm anzeige,
die Scripte welche bei http://jleopold.de/2011/03/16/arduino-da...gger-mysql-php/ liegen sind nicht mehr Php 7 compatible!
Wollte heute meinen Server auf php 7 umstellen sah dann nach einer halben Stunde das keine Daten mehr angezeigt werden.
Mist nun muss ich die Scripte auf php7 anpassen sonst geht nix mehr.

Beste Grüße aus Franken

Highway

01.11.2016 20:39
Highway 

Re: Arduino Regelung

Hi Leute,
hoffe ihr habt alle tolle Erträge mit euren Kollektoren.
Ich habe mit meinem Lan Modul dauernd Probleme das keine Verbindung im Stecker zustande kommt.
Hat das noch jemand oder gehabt?

Ach ja mein Keller ist jetzt von 93% auf 54% Feuchte runtergegangen, mufft auch nicht mehr.

Beste Grüße aus Franken

Highway

 1 2 3 4
Spannungsstabilisierung   Anzeige   requestTemperatures   sensors   Arduino   Aussentemperatur   horbach-in-franken   getTempCByIndex   println   Regelung   Lüftergeschwindigkeit   Kollektortemperatur   Ãœberhitzungsschutz   Highway   Schaltschrankthermostat   Kollektor   currentLineIsBlank   setCursor   Temperaturdifferenz   include

Forum | Registrieren | Suche | Regeln | FAQ | Impressum
Zur Zusammenfassung,Black 300
Befreundete Foren
Info:Datenschutzgrundverordnung

 

Forum | Registrieren | Suche | Regeln | FAQ | Impressum

  


© by HH Mahnecke 2009-2019| phpFK Download | www.phpFK.de

Sponsoren: Zur Homepage | http://www.stellenangebote-forum.de/about71534.html | FOREX