Projektbeschreibung als PDF - Photonik Campus
Projektbeschreibung als PDF - Photonik Campus
Projektbeschreibung als PDF - Photonik Campus
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Make Light-Wettbewerb 2013 „Intelligentes Licht“<br />
ElectricImp Cloud Moodlamp<br />
Kurzbeschreibung<br />
Die „Electric Imp Moodlamp“ ist eine High Power RGB LED- Lampe die per HTTP-<br />
Schnittstellen über den Cloud- basierten Mikrokontroller Electric IMP<br />
angesprochen werden kann. Ein Arduino Mikrokontroller steuert letztendlich die<br />
RGB- LEDs.<br />
Die Lampe lässt sich per iOS (App. NetIO Controller von David Eickhoff) bedienen.<br />
Zusätzlich kann die Lampe sich an vorhandene Philips Hue Lampen „anbinden“<br />
und lässt sich somit über die offizielle Philips Hue App steuern. Als zusätzliche<br />
Features zeigt die Moodlamp den aktuellen Fuel- Status meines Nike Fuelbands<br />
und das aktuelle Wetter an.<br />
Bild deines Projektes<br />
Füge hier das Bild deines Projektes ein, das du auch hochladen willst.
Make Light-Wettbewerb 2013 „Intelligentes Licht“<br />
Factsheet – Materialliste – Kosten – Links<br />
Material:<br />
- Arduino UNO ca. - 20€<br />
- ElectricIMP + IMPShield - 51€<br />
- Powerled 3*1 Watt RGB – 11€<br />
- Lampengehäuse (meins war ein Geschenk)<br />
- 3 x 1.4 Ohm Widerstand 0.5W min, eher mehr – 4€<br />
- 3 x Mosfet N-Kanal Fairchild FQP50N06L – 5€<br />
- 3 X 100k Ohm Widerstand 1/4 Watt – 2€<br />
- 3 X NPN Transistor Fairchild 2N5088BU 4<br />
- Platinen Abstandshalter – 1.50€<br />
- Platinenanschlussklemme 1€<br />
- Stiftleisten 1€<br />
- Netzteil 1500mAh– 15€<br />
- Kühlkörper 2€<br />
- Lochrasterplatine ca. 3€<br />
- AKASA WÄRMELEITPAD 80X80MM -2.50€<br />
-<br />
Was „kann“ dein Projekt eigentlich?<br />
- Meine ElectricMoodlamp reagiert auf Dinge die im Internet passieren.<br />
Elementar dafür ist der Cloud- basierte Mikrocontroller „Electric Imp“<br />
http://electricimp.com<br />
- Die Bedienung erfolgt über die App „NetIO“ von David Eickhoff,<br />
(http://netio.davideickhoff.de )über http- Schnittstellen.<br />
Mithilfe von NetIo kann man seine eigene Benutzerobefläche in Form eines<br />
Baukastens entwerfen. sämtliche Buttons, Textfelder, Schieberegler usw.<br />
können z.B. per http- Protokoll konfiguriert und angebunden werden. Somit<br />
entfällt die Entwicklung einer eigenen App.<br />
- Meine Electric Imp Moodlamp kann sich mit vorhandenen Philips- Hue<br />
Glühbirnen synchronisieren. Somit lässt sich die Moodlamp auch per<br />
PhilipsHue App steuern. https://www.meethue.com<br />
- Für die aktuelle Temperatur lässt sich ein Alarm einschalten. Wenn die<br />
Temperatur im Bereich von drei Grad Celsius nach der letzten Messung<br />
steigt oder sinkt, wird die Temperatur per Farbe im Bereich von blau -><br />
grün -> gelb -> rot angezeigt. Die Wetterdaten kommen von<br />
http://www.openweathermap.com und können im ElectricImp Quellcode<br />
auf den eigenen Standort angepasst werden.<br />
- Zusätzlich lässt sich der aktuelle Fuel- Point Status von Nike.com abrufen.<br />
Die Lampe zeigt den Fuel Status im Bereich von rot -> gelb -> grün an und
Make Light-Wettbewerb 2013 „Intelligentes Licht“<br />
verhält sich genauso von der Darstellung wie das Nike Fuelband.<br />
http://www.nike.com/cdp/fuelband/us/en_us/<br />
Was braucht man dafür?<br />
- Zu der o.g. Teileliste ist ein lokaler Webserver erforderlich, der alle<br />
benötigten HTML-/ PHP-/ Javascript- Dateien bereithält. Vor allem die<br />
Philips –Hue Anbindung sollte lokal, zu Hause erfolgen, da die Hue<br />
Basisstation keine Passwortautorisierung unterstützt. Die Skripte<br />
kommunizieren mit ElectricImp/ Philips Hue lokaler Basisstation/<br />
Openweathermap/ NetIO/ Nike.<br />
Ich habe <strong>als</strong> Webserver eine NSLU2 basierend auf Debian im Einsatz,<br />
welche über DynDNS aus dem Internet erreichbar ist.<br />
Die NSLU2 werde ich demnächst gegen ein Raspberry Pi austauschen, da<br />
dieser mehr Leistung besitzt und genauso stromsparend ist.<br />
- Eine Lötstation und Löterfahrung<br />
- Ein Lampengehäuse. Mein Gehäuse ist fertig gekauft bzw. war ein<br />
Geburtstagsgeschenk. Eigentlich sollte es eine Kerzenlampe sein. Für die<br />
Elektronik habe ich einen Acrylzylinder benutzt, da dieser perfekt mit dem<br />
Lampengehäuse zusammen passt, erhältlich z.B. hier:<br />
http://www.acrylformen.de/shop/de/Acryl-/-Plexiglas-Rohr/Plexiglasrohr-<br />
AD90-mm<br />
Alternativ hätte ich mir entweder ein eigenes Gehäuse gebaut oder auch die<br />
Lampe „Lampan“ von Ikea gekauft:<br />
http://www.ikea.com/de/de/catalog/products/10096097/ - /20046988<br />
Den Platinenaufbau muss man dann natürlich etwas anders gestalten.<br />
Was kostet das?<br />
- Für alles zusammen habe ich ca. 120€ ausgegeben.<br />
Bauanleitung – Step by Step<br />
Das LED-‐ Driver-‐ Shield <br />
Für High Power LEDs benötigt man eine eigene Spannungsversorgung. Der<br />
Schaltplan und Beitrag von http://www.instructables.com/id/Circuits-for-using-<br />
High-Power-LED-s/?ALLSTEPS hat mir hier sehr geholfen.
Make Light-Wettbewerb 2013 „Intelligentes Licht“<br />
Ich habe die Platine ausschließlich nach folgender Zeichnung, welcher aus der o.g.<br />
Quelle stammt, aufgebaut: (Hier sind drei LEDs an einem Treiber angeschlossen,<br />
für meine RGB- LEDs habe ich natürlich für jede einzelne Farbe einen eigenen<br />
Schaltkreis aufgebaut)<br />
Funktionsweise <br />
Strom (12V) fließt durch die LEDs (RGB) über das Mosfet Q2 und den Widerstand<br />
R3. Wenn zu viel Strom durch R3 fließt, schaltet der Transistor Q1, Q1 schaltet<br />
wiederum das Mosfet Q2 ab. Dadurch reduziert Q2 die Spannung für die LEDs und<br />
den Widerstand R3. So entsteht eine Schleife wodurch die Spannung der LED<br />
gleichbleibend bleibt. Wichtig ist hier die Größe des Widerstands R3. In meinem<br />
Fall 1.4 Ohm. Da die Belastung hoch ist, habe ich 1Watt Widerstände benutzt (siehe<br />
Teileliste).<br />
Der Widerstand R1 sind 100k Ohm
Make Light-Wettbewerb 2013 „Intelligentes Licht“<br />
Die Berechnung ist relativ einfach:<br />
Pro RGB- Kanal wird eine solche Schaltung benötigt. Laut Datenblatt meiner RGB-<br />
LED kann jede der drei LEDs 350mA Flussstrom vertragen.<br />
Formel: 0.5A/Flussstrom = Widerstand (500mA/350mA=1.43 Ohm)<br />
Ab 500mA schaltet Q1, daher diese Größe.<br />
Für die Berechnung der Widerstände habe ich folgenden Blogpost herangezogen,<br />
welcher mir sehr geholfen hat:<br />
„The main current flow is through the LED's, through Q2, and through R3. When<br />
too much current flows through R3, Q1 will start to turn on, which starts turning<br />
off Q2. Turning off Q2 reduces the current through the LED's and R3. So we've<br />
created a "feedback loop", which continuously monitors the LED current and keeps<br />
it exactly at the set point at all times. transistors are clever, huh!“ Quelle:<br />
http://www.instructables.com/id/Circuits-for-using-High-Power-LEDs/?ALLSTEPS<br />
http://www.tbideas.com/blog/build-an-arduino-shield-to-drive-high-power-rgbled/<br />
Hier der Aufbau meiner fertigen LED- Treiberplatine:
Make Light-Wettbewerb 2013 „Intelligentes Licht“
Make Light-Wettbewerb 2013 „Intelligentes Licht“<br />
Die Verbindungen habe ich einfach mit Lötzinn erstellt.<br />
Zur Verbindung des LED- Driver- Shields habe ich Steckbrücken eingelötet, damit<br />
die Platine <strong>als</strong> Shield aufgesteckt werden kann. Die direkten Verbindungen zum<br />
Arduino- Board sind die 5V und die Ground- Leitung. 5Volt sind über R1 mit dem<br />
Transistor und dem Mosfet verbunden.<br />
Und natürlich werden sämtliche Pins durch die Steckbrücken durch das IMP zum<br />
LED Driver- Shield durchgeleitet.<br />
Die Platine sitzt <strong>als</strong> Shield auf dem ElectricImpShield, welches wiederum auf dem<br />
Arduino- Board gesteckt ist:
Make Light-Wettbewerb 2013 „Intelligentes Licht“<br />
Die RGB-LED Einheit habe ich mit Anschlussklemmen auf die Pins 11 (rot),<br />
10(grün), 3 (blau) gelegt. Die Pins müssen PWM- Pins sein! Daher die o.g.<br />
Belegung.<br />
Die Spannungsversorgung entnehme ich aus einem 1500mAh Universal- Netzteil,<br />
welches auf 12V eingestellt ist. Das Arduino- Board kann ebenfalls über diese 12<br />
Volt Spannungsquelle betrieben werden.<br />
Die Spannungsversorgung meines LED Driver- Shields habe ich von der<br />
Strombuchse des Arduino abgegriffen, in dem ich die Plus/Minus- Leitungen direkt<br />
an die Lötpunkte der Buchse aufgelötet habe.<br />
Den Schaltplan habe ich ausschließlich nachdem o.g. Instructables- Beitrag<br />
aufgebaut, daher habe ich auf eine eigene Zeichnung hier bewusst verzichtet.
Make Light-Wettbewerb 2013 „Intelligentes Licht“<br />
Software <br />
Alle Dateien findet man hier:<br />
https://github.com/andstdout/ElectricImp--Arduino-cloud-based-Mood-Lamp<br />
Installation und Anpassung <br />
Den Webspace am Besten mittels .htaccess schützen, dafür bin ich nach folgender<br />
Anleitung vorgegangen:<br />
http://uberspace.de/dokuwiki/webserver:htaccess<br />
Nachdem der Webspace geschützt ist, können die Dateien hochgeladen werden.<br />
In folgenden Skripten muss der ElectricImp API- Key eingetragen werden, es geht<br />
auch bestimmt eleganter, aber leider habe ich in Kürze der Zeit keine Config-<br />
Datei- Implementierung realisieren können, wo dies global eingestellt werden<br />
kann.:<br />
Beispiel:
Make Light-Wettbewerb 2013 „Intelligentes Licht“<br />
Der Ordner HTML sollte nach HSL (HueSaturationLigthness) umbenannt werden,<br />
dann muss im Quellcode nicht zu viel angepasst werden.<br />
Meine Ordnerstruktur auf dem Webserver sieht folgendermaßen aus:<br />
/var/www/HSL<br />
Hier werden die Nike.com Zugangsdaten eingetragen:<br />
Im Electric-Imp Agent- Code müssen folgende Zeilen angepasst werden:<br />
- Der Webserver<br />
- Zugangscode für den Webserver (.htaccess)<br />
- Ort für die Wetterdaten<br />
Die Philips Hue Configuration findet hier statt:
Make Light-Wettbewerb 2013 „Intelligentes Licht“<br />
Für das Philips Hue System ist es erforderlich einen eigenen Benutzer auf der<br />
Basisstation anzulegen, hierfür nach dieser Anleitung von Philips vorgehen:<br />
http://developers.meethue.com/gettingstarted.html<br />
Damit man die App NetIO- Controller benutzen kann, muss diese vorher im<br />
AppStore gekauft werden:<br />
http://itunes.apple.com/app/netio/id464924297?mt=8<br />
Die Konfiguration kann man dann über die Website<br />
http://netio.davideickhoff.de/editor online anpassen oder meine vorgefertigte<br />
Konfiguration verwenden, bzw. <strong>als</strong> Vorlage benutzen:<br />
Am Besten die Datei im Texteditor öffnen und per Suchen/ Ersetzen nach<br />
„Username“, Password, IMPAPI, WEBSERVER suchen und entsprechend auf die<br />
eigenen Werte ändern. Der Username bezieht sich auf den Benutzer/ Passwort<br />
des Webservers (htaccess). IMPAPI ist der ElectricImp Key. Der Webserver der<br />
eigene Webserver.<br />
Zum Schluss noch den Arduino Sketch auf das Arduino Board hochladen.<br />
Referenzen<br />
Verwendete Quellen:<br />
getRGB() function based on http://www.codeproject.com/miscctrl/CPicker.asp<br />
dim_curve idea by Jims http://www.arduino.cc/cgibin/yabb2/YaBB.pl?num=1174674545<br />
Philips Hue color conversion<br />
https://github.com/PhilipsHue/PhilipsHueSDKiOS/blob/master/ApplicationDesignN<br />
otes/RGB%20to%20xy%20Color%20conversion.md<br />
Slim Framework: http://www.slimframework.com
Make Light-Wettbewerb 2013 „Intelligentes Licht“<br />
HSL- Slider Konzept: http://www.ip-symcon.de/forum/threads/21453-<br />
Universeller-HSL-Slider-mit-Farbkalibration<br />
NetIO: http://netio.davideickhoff.de/editor<br />
Philips Hue: http://developers.meethue.com/gettingstarted.html<br />
Uberspace Htaccess tutorial: http://uberspace.de/dokuwiki/webserver:htaccess<br />
LED Driver Schaltung: http://www.tbideas.com/blog/build-an-arduino-shield-todrive-high-power-rgb-led/<br />
LED Driver instructable: http://www.instructables.com/id/Circuits-for-using-High-<br />
Power-LED-s/?ALLSTEPS<br />
Electric IMP:http://electricimp.com<br />
Arduino: http://www.arduino.cc<br />
Gibt es ähnliche Projekte? Falls ja, nenne sie hier, möglichst mit Link.<br />
- Nicht mir in dieser Form bekannte Projekte!