{"id":468,"date":"2021-06-24T15:24:03","date_gmt":"2021-06-24T13:24:03","guid":{"rendered":"https:\/\/www.iot-embedded.de\/iot-2021\/?p=468"},"modified":"2021-06-24T15:24:33","modified_gmt":"2021-06-24T13:24:33","slug":"tuerschloss-simulation-anschluss-und-implementierung-des-drehschalters-ky-040","status":"publish","type":"post","link":"https:\/\/www.iot-embedded.de\/iot-2021\/smart-security\/tuerschloss-simulation-anschluss-und-implementierung-des-drehschalters-ky-040\/","title":{"rendered":"T\u00fcrschloss-Simulation: Anschluss und Implementierung des Drehschalters KY-040"},"content":{"rendered":"\n<p>Um innerhalb unserer Smart-Security-Systems eine Haust\u00fcr zu simulieren haben wir uns daf\u00fcr entschieden den Drehschalter KY-040 zu verwenden. Mit diesem Drehschalter k\u00f6nnen wir ein auf- bzw. abgeschlossenes T\u00fcrschloss abbilden, welches wiederum als Ausl\u00f6ser f\u00fcr weitere Sensoren (wie z.B. einer Lichtschranke) dienen kann.<\/p>\n\n\n\n<p>Der Drehschalter sieht folgenderma\u00dfen aus und wird an folgende Pins des Pi`s angeschlossen:<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.iot-embedded.de\/iot-2021\/wp-content\/uploads\/sites\/5\/2021\/06\/Bild_drehschalter.png\" alt=\"\" class=\"wp-image-469\" width=\"237\" height=\"228\" srcset=\"https:\/\/www.iot-embedded.de\/iot-2021\/wp-content\/uploads\/sites\/5\/2021\/06\/Bild_drehschalter.png 478w, https:\/\/www.iot-embedded.de\/iot-2021\/wp-content\/uploads\/sites\/5\/2021\/06\/Bild_drehschalter-300x288.png 300w\" sizes=\"(max-width: 237px) 100vw, 237px\" \/><\/figure>\n\n\n\n<p>Anschl\u00fcsse:<br>CLK  -&gt; GPIO16 (PIN36)<br>DT     -&gt; GPIO15 (PIN10)<br>SW    -&gt; GPIO14 (PIN8)<br>+         -&gt; 3,3V (PIN1)<br>GND -&gt; Ground (PIN6)<\/p>\n\n\n\n<p>Die Implementierung haben wir im Ordner &#8222;startstopbutton&#8220; umgesetzt. Hierf\u00fcr wurden die app.py sowie die app.conf des Ordner entsprechend angepasst.<br>In der app.conf wurden die oben genannten Pins konfiguriert:<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.iot-embedded.de\/iot-2021\/wp-content\/uploads\/sites\/5\/2021\/06\/appconf_pins.png\" alt=\"\" class=\"wp-image-470\" width=\"198\" height=\"57\" \/><\/figure>\n\n\n\n<p>In der app.py wurden alle ben\u00f6tigten Variablen mit dem Wert 0 initialisiert und die entsprechenden Pins aus der app.conf eingelesen:<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.iot-embedded.de\/iot-2021\/wp-content\/uploads\/sites\/5\/2021\/06\/init_pins-1024x395.png\" alt=\"\" class=\"wp-image-471\" width=\"794\" height=\"306\" srcset=\"https:\/\/www.iot-embedded.de\/iot-2021\/wp-content\/uploads\/sites\/5\/2021\/06\/init_pins-1024x395.png 1024w, https:\/\/www.iot-embedded.de\/iot-2021\/wp-content\/uploads\/sites\/5\/2021\/06\/init_pins-300x116.png 300w, https:\/\/www.iot-embedded.de\/iot-2021\/wp-content\/uploads\/sites\/5\/2021\/06\/init_pins-768x296.png 768w, https:\/\/www.iot-embedded.de\/iot-2021\/wp-content\/uploads\/sites\/5\/2021\/06\/init_pins.png 1050w\" sizes=\"(max-width: 794px) 100vw, 794px\" \/><\/figure>\n\n\n\n<p>\u00dcber eine Event-Detection wird die ausf\u00fchrende Funktion ausgel\u00f6st, sprich bei einer Drehung am Schalter wird direkt in die Funktion &#8222;ausgabeFunktion&#8220; gesprungen. Die Event-Detection sowie die ausgabeFunktion sind in folgenden Abbildungen dargestellt:<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.iot-embedded.de\/iot-2021\/wp-content\/uploads\/sites\/5\/2021\/06\/addeventdetect.png\" alt=\"\" class=\"wp-image-472\" width=\"854\" height=\"20\" srcset=\"https:\/\/www.iot-embedded.de\/iot-2021\/wp-content\/uploads\/sites\/5\/2021\/06\/addeventdetect.png 1024w, https:\/\/www.iot-embedded.de\/iot-2021\/wp-content\/uploads\/sites\/5\/2021\/06\/addeventdetect-300x7.png 300w, https:\/\/www.iot-embedded.de\/iot-2021\/wp-content\/uploads\/sites\/5\/2021\/06\/addeventdetect-768x18.png 768w\" sizes=\"(max-width: 854px) 100vw, 854px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.iot-embedded.de\/iot-2021\/wp-content\/uploads\/sites\/5\/2021\/06\/ausgabeFunktion-1-1024x430.png\" alt=\"\" class=\"wp-image-474\" width=\"855\" height=\"359\" srcset=\"https:\/\/www.iot-embedded.de\/iot-2021\/wp-content\/uploads\/sites\/5\/2021\/06\/ausgabeFunktion-1-1024x430.png 1024w, https:\/\/www.iot-embedded.de\/iot-2021\/wp-content\/uploads\/sites\/5\/2021\/06\/ausgabeFunktion-1-300x126.png 300w, https:\/\/www.iot-embedded.de\/iot-2021\/wp-content\/uploads\/sites\/5\/2021\/06\/ausgabeFunktion-1-768x323.png 768w, https:\/\/www.iot-embedded.de\/iot-2021\/wp-content\/uploads\/sites\/5\/2021\/06\/ausgabeFunktion-1.png 1028w\" sizes=\"(max-width: 855px) 100vw, 855px\" \/><\/figure>\n\n\n\n<p>Wird der Drehschalter also im Uhrzeigersinn gedreht, so wird eine aufgeschlossene T\u00fcr simuliert. Wird der Drehschalter gegen den Uhrzeigersinn gedreht, wird entsprechend eine abgeschlossene T\u00fcr abgebildet. Durch dieses Modul haben wir somit erfolgreich eine T\u00fcrsimulation dargestellt und k\u00f6nnen darauf aufbauend weitere Sensoren anbinden. Aktuell in der Entwicklung ist eine Lichtschranke, die bei abgeschlossener Haust\u00fcr aktiviert wird, um einen weiteren Sicherheitsfaktor in unser System einzubringen.<br>Mehr dazu jedoch im n\u00e4chsten Blogeintrag \ud83d\ude09<br><br>Abschlie\u00dfende Anmerkung:<br>Bei 2 Mitgliedern (unter anderem bei mir) aus unserer Gruppe sind Probleme mit dem Drehschalter aufgetreten, welche die Implementierung etwas verz\u00f6gert haben.<br>Fehlerbild: Der Sensor gibt an allen drei Pins (CLK, DT, SW) st\u00e4ndig den Wert 1 aus.<br>Nach vielen Versuchen mit meinem Sensor und letztlich keinem weiteren Anhaltspunkt f\u00fcr das &#8222;komische&#8220; Verhalten gab ich das Programm an meine Kollegen weiter, bei denen es dann funktioniert hat, wodurch die Funktionsf\u00e4higkeit des Codes sichergestellt werden konnte.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Um innerhalb unserer Smart-Security-Systems eine Haust\u00fcr zu simulieren haben wir uns daf\u00fcr entschieden den Drehschalter KY-040 zu verwenden. Mit diesem Drehschalter k\u00f6nnen wir ein auf- bzw. abgeschlossenes T\u00fcrschloss abbilden, welches wiederum als Ausl\u00f6ser f\u00fcr weitere Sensoren (wie z.B. einer Lichtschranke)<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[9],"tags":[27,22],"_links":{"self":[{"href":"https:\/\/www.iot-embedded.de\/iot-2021\/wp-json\/wp\/v2\/posts\/468"}],"collection":[{"href":"https:\/\/www.iot-embedded.de\/iot-2021\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iot-embedded.de\/iot-2021\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2021\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2021\/wp-json\/wp\/v2\/comments?post=468"}],"version-history":[{"count":1,"href":"https:\/\/www.iot-embedded.de\/iot-2021\/wp-json\/wp\/v2\/posts\/468\/revisions"}],"predecessor-version":[{"id":475,"href":"https:\/\/www.iot-embedded.de\/iot-2021\/wp-json\/wp\/v2\/posts\/468\/revisions\/475"}],"wp:attachment":[{"href":"https:\/\/www.iot-embedded.de\/iot-2021\/wp-json\/wp\/v2\/media?parent=468"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2021\/wp-json\/wp\/v2\/categories?post=468"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2021\/wp-json\/wp\/v2\/tags?post=468"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}