Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
veranstaltungen:hessen20162:arduino-workshop-notizen [04.10.2016 10:51] – [Arduino Sketch (Programm):] ipsecguy | veranstaltungen:hessen20162:arduino-workshop-notizen [04.10.2016 11:01] (aktuell) – [Arduino Sketch (Programm):] ipsecguy | ||
---|---|---|---|
Zeile 49: | Zeile 49: | ||
<file text arduino-freifunk.ino> | <file text arduino-freifunk.ino> | ||
+ | #include < | ||
OneWire | OneWire | ||
+ | |||
+ | #include " | ||
+ | #define DHTPIN 2 // what digital pin we're connected to | ||
+ | #define DHTTYPE DHT11 // DHT 11 | ||
+ | //#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 | ||
+ | //#define DHTTYPE DHT21 // DHT 21 (AM2301) | ||
+ | DHT dht(DHTPIN, DHTTYPE); | ||
+ | |||
+ | bool running = false; | ||
+ | |||
+ | void setup(void) { | ||
+ | pinMode(13, OUTPUT); | ||
+ | digitalWrite(13, | ||
+ | Serial.begin(9600); | ||
+ | Serial.setTimeout(1000); | ||
+ | dht.begin(); | ||
+ | digitalWrite(13, | ||
+ | } | ||
+ | |||
+ | void loop(void) { | ||
+ | byte i; | ||
+ | byte present = 0; | ||
+ | byte type_s; | ||
+ | byte data[12]; | ||
+ | byte addr[8]; | ||
+ | float celsius, fahrenheit; | ||
+ | float h,t; | ||
+ | |||
+ | if( !running ){ | ||
+ | digitalWrite(13, | ||
+ | Serial.flush(); | ||
+ | while(!Serial.available()){ | ||
+ | delay(500); | ||
+ | } | ||
+ | digitalWrite(13, | ||
+ | |||
+ | Serial.readString(); | ||
+ | Serial.flush(); | ||
+ | |||
+ | running = true; // start execution | ||
+ | } | ||
+ | |||
+ | if ( !ds.search(addr)) { | ||
+ | ds.reset_search(); | ||
+ | |||
+ | //DHT11 Code | ||
+ | h = dht.readHumidity(); | ||
+ | t = dht.readTemperature(); | ||
+ | if (!isnan(h) && !isnan(t)) { | ||
+ | Serial.print(" | ||
+ | Serial.print(t); | ||
+ | Serial.print(" | ||
+ | Serial.println(h); | ||
+ | } | ||
+ | Serial.println(" | ||
+ | |||
+ | running = false; // done with this cycle, wait again | ||
+ | return; | ||
+ | } | ||
+ | |||
+ | if (OneWire:: | ||
+ | Serial.println(" | ||
+ | return; | ||
+ | } | ||
+ | | ||
+ | // the first ROM byte indicates which chip | ||
+ | switch (addr[0]) { | ||
+ | case 0x10: | ||
+ | // Serial.println(" | ||
+ | type_s = 1; | ||
+ | break; | ||
+ | case 0x28: | ||
+ | // Serial.println(" | ||
+ | type_s = 0; | ||
+ | break; | ||
+ | case 0x22: | ||
+ | // Serial.println(" | ||
+ | type_s = 0; | ||
+ | break; | ||
+ | default: | ||
+ | // Serial.println(" | ||
+ | return; | ||
+ | } | ||
+ | | ||
+ | ds.reset(); | ||
+ | ds.select(addr); | ||
+ | ds.write(0x44, | ||
+ | | ||
+ | } | ||
+ | |||
</ | </ | ||