From 5cb5bdbd77949ab1ea41e8fbfbc1b7b0fe7ecd2e Mon Sep 17 00:00:00 2001 From: Johannes Krug Date: Tue, 5 Mar 2019 15:38:34 +0000 Subject: [PATCH 1/9] Soundsensor getestet Digitaler und analoger Output getestet --- analog_signal_output.ino | 23 +++++++++++++++++ digital_signal_output.ino | 53 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 analog_signal_output.ino create mode 100644 digital_signal_output.ino diff --git a/analog_signal_output.ino b/analog_signal_output.ino new file mode 100644 index 0000000..4e33069 --- /dev/null +++ b/analog_signal_output.ino @@ -0,0 +1,23 @@ +//www.elegoo.com +//2016.12.9 +//analoger ausgang gibt nur den aktuellen wert des potis aus, also nur zum genauen poti einstellen geeignet! ansonsten nutzlos + + +int sensorPin = A0; // select the input pin for the potentiometer +int ledPin = D0; // select the pin for the LED +int sensorValue = 0; // variable to store the value coming from the sensor + +void setup() +{ +pinMode(ledPin,OUTPUT); +Serial.begin(9600); +} +void loop(){ +sensorValue = analogRead(sensorPin); +digitalWrite(ledPin, HIGH); +delay(sensorValue); +digitalWrite(ledPin, LOW); +delay(sensorValue); +Serial.println(sensorValue, DEC); +} + diff --git a/digital_signal_output.ino b/digital_signal_output.ino new file mode 100644 index 0000000..8675c11 --- /dev/null +++ b/digital_signal_output.ino @@ -0,0 +1,53 @@ +//www.elegoo.com +//2016.06.13 +//digitaler ausgang soundmodul + + +int Led=D0;//define LED port +int buttonpin=D5; //define switch port +int val;//define digital variable val +int anzahl_loop=0; +int anzahl_high=1; +int anzahl_low=1; +double high_anteil; + +void setup() +{ + Serial.begin(9600); +pinMode(Led,OUTPUT);//define LED as a output port +pinMode(buttonpin,INPUT);//define switch as a output port +} +void loop() + +{ anzahl_loop++;//anzahl der loopdurchlaeufe + val=digitalRead(buttonpin);//read the value of the digital interface 3 assigned to val + +if(val==HIGH)//when the switch sensor have signal, LED blink +{ +digitalWrite(Led,HIGH); +//Serial.println("HIGH"); +anzahl_high++; + + +} +else +{ +digitalWrite(Led,LOW); +//Serial.println(val); +anzahl_low++; +} + +if(anzahl_loop==1000){ //100 loops auswerten und den high anteil ermitteln +high_anteil=((double)anzahl_high/(double)anzahl_loop); +if(high_anteil>=0.10){ +Serial.println(high_anteil); +} +anzahl_high=1; +anzahl_low=1; +anzahl_loop=0; + +} + + +} + From 600f555bc0b73d0297f9d42ed81e0ebecabfa307 Mon Sep 17 00:00:00 2001 From: Lennart Heimbs Date: Tue, 5 Mar 2019 15:44:13 +0000 Subject: [PATCH 2/9] Soundsensor Dateien nach arduino verschoben --- README.md | 2 +- analog_signal_output.ino => arduino/analog_signal_output.ino | 0 .../digital_signal_output_test.ino | 0 3 files changed, 1 insertion(+), 1 deletion(-) rename analog_signal_output.ino => arduino/analog_signal_output.ino (100%) rename digital_signal_output.ino => arduino/digital_signal_output_test.ino (100%) diff --git a/README.md b/README.md index c61b11f..ccd383f 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Smart-Home am Beispiel der Präsenzerkennung im Raum ## Einführung - +Johannes hat auch angefangen ## Schluss Projektarbeit Lennart Heimbs, Johannes Krug, Sebastian Dohle und Kevin Holzschuh bei Prof. Dr. Oliver Hofmann SS2019 diff --git a/analog_signal_output.ino b/arduino/analog_signal_output.ino similarity index 100% rename from analog_signal_output.ino rename to arduino/analog_signal_output.ino diff --git a/digital_signal_output.ino b/arduino/digital_signal_output_test.ino similarity index 100% rename from digital_signal_output.ino rename to arduino/digital_signal_output_test.ino From 5963d2d7638a0fdd6e95c8f61d322059c99011e7 Mon Sep 17 00:00:00 2001 From: Lennart Heimbs Date: Tue, 5 Mar 2019 15:56:48 +0000 Subject: [PATCH 3/9] Kommentare entfernt --- arduino/analog_signal_output.ino | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/arduino/analog_signal_output.ino b/arduino/analog_signal_output.ino index 4e33069..0d1807d 100644 --- a/arduino/analog_signal_output.ino +++ b/arduino/analog_signal_output.ino @@ -1,5 +1,3 @@ -//www.elegoo.com -//2016.12.9 //analoger ausgang gibt nur den aktuellen wert des potis aus, also nur zum genauen poti einstellen geeignet! ansonsten nutzlos @@ -20,4 +18,4 @@ digitalWrite(ledPin, LOW); delay(sensorValue); Serial.println(sensorValue, DEC); } - + From a20e01fc4affa3a5e525e2e9305a85c6ff7042e3 Mon Sep 17 00:00:00 2001 From: Johannes Krug Date: Tue, 5 Mar 2019 17:15:17 +0100 Subject: [PATCH 4/9] analog Datei formatiert --- arduino/analog_signal_output.ino | 21 --------------------- 1 file changed, 21 deletions(-) delete mode 100644 arduino/analog_signal_output.ino diff --git a/arduino/analog_signal_output.ino b/arduino/analog_signal_output.ino deleted file mode 100644 index 0d1807d..0000000 --- a/arduino/analog_signal_output.ino +++ /dev/null @@ -1,21 +0,0 @@ -//analoger ausgang gibt nur den aktuellen wert des potis aus, also nur zum genauen poti einstellen geeignet! ansonsten nutzlos - - -int sensorPin = A0; // select the input pin for the potentiometer -int ledPin = D0; // select the pin for the LED -int sensorValue = 0; // variable to store the value coming from the sensor - -void setup() -{ -pinMode(ledPin,OUTPUT); -Serial.begin(9600); -} -void loop(){ -sensorValue = analogRead(sensorPin); -digitalWrite(ledPin, HIGH); -delay(sensorValue); -digitalWrite(ledPin, LOW); -delay(sensorValue); -Serial.println(sensorValue, DEC); -} - From 456cf4f69bdaaf128ae59712b77a355657e94de0 Mon Sep 17 00:00:00 2001 From: Johannes Krug Date: Tue, 5 Mar 2019 17:18:29 +0100 Subject: [PATCH 5/9] Dateien in sketch ordner verschoben --- .../analog_signal_output.ino | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 arduino/analog_signal_output/analog_signal_output.ino diff --git a/arduino/analog_signal_output/analog_signal_output.ino b/arduino/analog_signal_output/analog_signal_output.ino new file mode 100644 index 0000000..fec4ddc --- /dev/null +++ b/arduino/analog_signal_output/analog_signal_output.ino @@ -0,0 +1,21 @@ +//analoger ausgang gibt nur den aktuellen wert des potis aus, also nur zum genauen poti einstellen geeignet! ansonsten nutzlos + + +int sensorPin = A0; // select the input pin for the potentiometer +int ledPin = D0; // select the pin for the LED +int sensorValue = 0; // variable to store the value coming from the sensor + +void setup() +{ + pinMode(ledPin,OUTPUT); + Serial.begin(9600); +} +void loop(){ + sensorValue = analogRead(sensorPin); + digitalWrite(ledPin, HIGH); + delay(sensorValue); + digitalWrite(ledPin, LOW); + delay(sensorValue); + Serial.println(sensorValue, DEC); +} + From f6d8ad59a360fd0bb114f115716e615426fd11d0 Mon Sep 17 00:00:00 2001 From: Johannes Krug Date: Tue, 5 Mar 2019 17:21:36 +0100 Subject: [PATCH 6/9] Dateien in Sketch ordner verschoben --- .../digital_signal_output_test.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename arduino/{ => digital_signal_output_test}/digital_signal_output_test.ino (99%) diff --git a/arduino/digital_signal_output_test.ino b/arduino/digital_signal_output_test/digital_signal_output_test.ino similarity index 99% rename from arduino/digital_signal_output_test.ino rename to arduino/digital_signal_output_test/digital_signal_output_test.ino index 8675c11..0d7d4ac 100644 --- a/arduino/digital_signal_output_test.ino +++ b/arduino/digital_signal_output_test/digital_signal_output_test.ino @@ -50,4 +50,4 @@ anzahl_loop=0; } - + From 6cb1c94f37a593e00961aacce71b642fbc29ae2e Mon Sep 17 00:00:00 2001 From: Johannes Krug Date: Tue, 5 Mar 2019 17:43:33 +0100 Subject: [PATCH 7/9] Wlan an RPI sketch --- arduino/wlan_an_rpi/wlan_an_rpi.ino | 63 +++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 arduino/wlan_an_rpi/wlan_an_rpi.ino diff --git a/arduino/wlan_an_rpi/wlan_an_rpi.ino b/arduino/wlan_an_rpi/wlan_an_rpi.ino new file mode 100644 index 0000000..4a3027c --- /dev/null +++ b/arduino/wlan_an_rpi/wlan_an_rpi.ino @@ -0,0 +1,63 @@ +#include +#include + +const char* SSID = "smartroom"; +const char* PSK = "smarthome"; +const char* MQTT_BROKER = "192.168.4.1"; + +WiFiClient espClient; +PubSubClient client(espClient); +long lastMsg = 0; +char msg[50]; +int value = 0; + +void setup() { + Serial.begin(115200); + setup_wifi(); + client.setServer(MQTT_BROKER, 1883); +} + +void setup_wifi() { + delay(10); + Serial.println(); + Serial.print("Connecting to "); + Serial.println(SSID); + + WiFi.begin(SSID, PSK); + + while (WiFi.status() != WL_CONNECTED) { + delay(500); + Serial.print("."); + } + + Serial.println(""); + Serial.println("WiFi connected"); + Serial.println("IP address: "); + Serial.println(WiFi.localIP()); +} + +void reconnect() { + while (!client.connected()) { + Serial.print("Reconnecting..."); + if (!client.connect("ESP8266Client")) { + Serial.print("failed, rc="); + Serial.print(client.state()); + Serial.println(" retrying in 5 seconds"); + delay(5000); + } + } +} +void loop() { + + if (!client.connected()) { + reconnect(); + } + client.loop(); + + snprintf (msg, 50, "Alive since %ld milliseconds", millis()); + Serial.print("Publish message: "); + Serial.println(msg); + client.publish("/home/data", "Hello World"); + delay(5000); +} + From 38fdf6596c6df26b86236a8f1824d5dc216e47ae Mon Sep 17 00:00:00 2001 From: Johannes Krug Date: Tue, 5 Mar 2019 18:03:23 +0100 Subject: [PATCH 8/9] =?UTF-8?q?Code=20erg=C3=A4nzt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- arduino/wlan_an_rpi/wlan_an_rpi.ino | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arduino/wlan_an_rpi/wlan_an_rpi.ino b/arduino/wlan_an_rpi/wlan_an_rpi.ino index 4a3027c..7b3d079 100644 --- a/arduino/wlan_an_rpi/wlan_an_rpi.ino +++ b/arduino/wlan_an_rpi/wlan_an_rpi.ino @@ -22,7 +22,7 @@ void setup_wifi() { Serial.println(); Serial.print("Connecting to "); Serial.println(SSID); - + WiFi.mode(WIFI_STA); WiFi.begin(SSID, PSK); while (WiFi.status() != WL_CONNECTED) { @@ -57,7 +57,7 @@ void loop() { snprintf (msg, 50, "Alive since %ld milliseconds", millis()); Serial.print("Publish message: "); Serial.println(msg); - client.publish("/home/data", "Hello World"); + client.publish("/home/data", "Hello asdf World"); delay(5000); } From 6091e42eccf985afd3720d3da10f57ae9e28492f Mon Sep 17 00:00:00 2001 From: Johannes Krug Date: Thu, 7 Mar 2019 15:28:26 +0100 Subject: [PATCH 9/9] =?UTF-8?q?Testcode=20f=C3=BCr=20Bewegungsmelder=20HC-?= =?UTF-8?q?SR501?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Bewegungsmelder_HC-SR501.ino | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 arduino/Bewegungsmelder_HC-SR501/Bewegungsmelder_HC-SR501.ino diff --git a/arduino/Bewegungsmelder_HC-SR501/Bewegungsmelder_HC-SR501.ino b/arduino/Bewegungsmelder_HC-SR501/Bewegungsmelder_HC-SR501.ino new file mode 100644 index 0000000..2102aa3 --- /dev/null +++ b/arduino/Bewegungsmelder_HC-SR501/Bewegungsmelder_HC-SR501.ino @@ -0,0 +1,36 @@ +//HC-SR501 als Bewegungsmelder, vergleicht alten PIR-wert mit neuem PIR-wert und lässt bei HIGH Phase LED leuchten +//Einstellung *repeatable Trigger||single Trigger* hier egal +//Single Trigger:Bei Bewegung läuft ein festgelegtes Zeitfenster HIGH ab (LINKER POTI, 3sec bis 5min) +//Repeatable Trigger: Bei Bewegung läuft HIGH Zeitfester ab, wenn darin wieder Bewegung erkannt wird, wird das zeitfenster wieder neu gestartet und verlängert. +//Nach diesen HIGH signal folgt in beiden fällen ein 3 sekündiges LOW Fenster, hier wird keine bewegung erkannt + +int ledPin = D1; // LED on Pin 13 of Arduino +int pirPin = D0; // Input for HC-S501 + +int pirValueNeu; // Place to read PIR Value +int pirValueAlt = 0; //Place to store read PIR Value + + +void setup() { + Serial.begin(9600); + pinMode(ledPin, OUTPUT); + pinMode(pirPin, INPUT); + digitalWrite(ledPin, LOW); +} + +void loop() { + pirValueNeu = digitalRead(pirPin); + + if(pirValueNeu != pirValueAlt){ + if(pirValueNeu==1){ + Serial.println("Motion! Level:HIGH"); + } + else{ + //Serial.println("Ruhemodus 3 Sekunden! Level:LOW"); + //delay(3000); + Serial.println("No motion so far! Level:LOW"); + } + } + digitalWrite(ledPin, pirValueNeu); + pirValueAlt=pirValueNeu; +}