Die automatisierte Küchenbeleuchtung

Vor geraumer Zeit habe ich ja bereits meine automatisierte Küchenleuchte vorgestellt (Link). Diese war auch lange Zeit in Benutzung, aber nun war es doch an der Zeit, einen Mikrocontroller den Job übernehmen zu lassen. Der Grund ist vor allem, dass es leichter ist das Programm seinen Wünschen anzupassen. Insgesamt habe ich nämlich vor, die Automatisierung immer weiter zu verbessern. Die derzeitige Konfiguration sieht so aus: Die Hauptsteuereinheit ist hier ein Arduino Uno. Dieser steuert via PWM vier der hier vorgestellten Power-MOSFETs an. An diese habe ich ein RGB-Stripe und eine Power-LED angeschlossen. Als Auslöser dient folgendes Bewegungsmelder-Modul: ...

11.01.2014 · 3 Minuten · Fabian Kainka

RGB Strip Mini Shield

ACHTUNG: Bei diesem Projekt ist leider ein Arduino Uno über den Jordan gegangen. Am Ende des Artikels steht mehr dazu, also vor dem Nachbau bitte lesen! Viele werden das Problem mit Arduino kennen: die Leistung an den Pins reicht einfach nicht aus um damit größere Lasten zu steuern. Bei mir ist das Problem aufgetreten, als ich meine Power-LED-Lampen und meine RGB-Stripes mit einem Arduino Uno steuern wollte. Die 40 mA und 5 V pro Pin reichen nicht mal annähernd um diese Dinge vernünftig ansteuern zu können. Die Lösung ist bekannt: Leistungstreiber. ...

03.01.2014 · 3 Minuten · Fabian Kainka

Die Arduino IR-Library

Ich habe nach einer möglichst einfachen Art gesucht, Infrarot Fernbedienungen auszulesen. Wie für Arduino üblich habe ich auch nach kurzer Zeit eine passende Library gefunden: http://www.righto.com/2009/08/multi-protocol-infrared-remote-library.html Auf der Seite von Ken Shirriff kann man sich die Dateien runterladen, inlusive einiger Beispiele. Besonders geeignet: IRrecDemo um damit Signale direkt auszulesen oder IRrecDump um auch Informationen über das verwendete Protokoll zu bekommen. Alles was man dafür benötigt ist ein IR-Empfangs-Modul. Die Ausgabe erfolgt über das Terminal. ...

27.12.2013 · 2 Minuten · Fabian Kainka

Arduino Starterpakete

Arduino ist eine ganz eigene Welt mit einer großen Vielfalt unterschiedlicher Platinen und eigenen Begriffen wie Sketch (Programm) oder Shield (aufsteckbare Zusatzplatine). Das System richtet sich auch an Leute, die sonst weniger mit Mikrocontrollern zu tun haben. Und trotzdem können sich hier und da kleinere Hürden auftun. Deswegen bietet werden bei Franzis bestellte Arduino-Controller mit einem kleinen Handbuch ausgeliefert das beim Einstieg in die Arduino-Welt zur Hand geht. Auf dieser Seite finden Sie die im Buch erwähnten Materialien und Links zum Downloaden und Durchklicken. ...

25.11.2013 · 1 Minute · Fabian Kainka

Arduino Linkliste

Linkliste Link Beschreibung Sprache http://arduino.cc/forum/ Offizielles Arduino Forum Viel in Englisch aber auch auf Deutsch http://playground.arduino.cc/ Tutorials, Anleitungen und mehr. Auf Englisch mit deutscher Unterseite (z.Z. noch im Aufbau) http://www.mikrocontroller.net Immer eine gute Wahl, wenn es um Mikrocontroller geht Komplett auf Deutsch mit unzähligen, strukturierten Themen http://arduino.cc/en/Reference/HomePage Komplette Befehlsliste Auf Englisch http://www.arduino-tutorial.de/ Gutes Tutorial mit vielen Erklärungen für Einsteiger Deutsch http://playground.arduino.cc/ interfacing/processing Hilfe zum Thema Arduino und Processing Englisch http://shieldlist.org/ Liste aller Arduino-Shields Englisch http://www.golem.de/specials/arduino/ Interessante Projekte mit ausführlichen Artikeln Deutsch http://www.arduinoforum.de/ Projekte und Hilfe Deutsch http://fff2.at/drupal/content/arduino-projekte Projekte und Code-Beispiele Deutsch http://www.ladyada.net/make/ Projekte Englisch http://wiring.org.co/ learning/basics/index.html Code-Beispiele Englisch http://playground.arduino.cc/Projects/Ideas Projekt Ideen Englisch http://hacknmod.com/hack/ top-40-arduino-projects-of-the-web/ Top 40 Arduino Projekte Englisch http://practicalarduino.com/projects Projekte Englisch http://fritzing.org/projects/ Projekte Englisch http://www.arduinoevilgenius.com/projects Projekte Englisch http://hacknmod.com/topics/arduino/ Projekte

25.11.2013 · 1 Minute · Fabian Kainka

Befehlsliste Arduino

Oft ist es so, dass man plötzlich vergisst, wie man jetzt gerade in dieser Programmiersprache einen Bestimmten Befehl formulieren muss. Deswegen steht hier eine Auflistung der wichtigsten Befehle. Benutzen Sie Stg+F um in der Seite nach etwas bestimmten zu suchen. Befehl Schreibweise Grundlegendes Grundstruktur void setup() { }void loop() {} Variable deklarieren (Typ Integer, Wert = 0) int led = 0; Konstante deklarieren (Typ Integer, Wert = A0) const int analogInPin = A0; Array deklarieren (Typ Integer, 6 Werte) int Arrayname[6] = {2, 4, -8, 3, 2}; Pin-Funktion festlegen pinMode(led, OUTPUT); Library einbinden #include <libX.h> Ausgaben/Eigaben Pin auf HIGH schalten digitalWrite(led,HIGH); PWM-Pin auf maximal Wert setzen analogWrite(led, 255); Digitalen Zustand von Pin schalter lesen digitalRead(schalter) Funktion: Analog Pin A0 auslesen analogRead(A0) Ton Ausgabe an Pin8, Frequenz x, länge y tone(8, x, y) Ton Ausgabe an Pin8 stoppen noTone(8) Serielle Schnittstelle Serielle Schnittstelle initialisieren Serial.begin(9600); Text seriell Ausgeben Serial.print(“Hallo”); Text seriell Ausgeben + neue Zeile Serial.println(“Hallo”); Byte seriell Ausgeben Serial.write(val) Funktion: Anzahl von auslesbaren Bytes Serial.available() Funktion: seriell Einlesen Serial.read(); Funktion: Text im Buffer finden (true/false) Serial.find(“TEXT”) Funktion: Text i. Buffer finden bis Endetext Serial.findUntil(“TEXT“,“ENDE TEXT“) Speichert Anzahl Bytes in Buffer Serial.readBytes(buffer, length) Speichert Bytes in Buffern bis lenght oder Ende-chracter erreicht Serial.readBytesUntil(character, buffer, length) Funktion: Findet nächste Integerzahl Serial.parseInt() Prozedur aufgerufen wenn Daten vorhanden void serialEvent() A****bfragen/Schleifen If-Abfrage mit Else *if (button == HIGH){**}*else{ } Switch-Abfrage *switch (x) {**case 1:**case 2:*default: Wartezeit (500 ms) delay(500); For-Schleife for (x = 2; x < 7; x++) { } While-Schleife *while (schalter== HIGH) {**}***ODER:**do{} while (schalter==HIGH); Schleife vorzeitig verlassen break; Überspringt ausführbaren Quelltext in Schleife continue; Mathematisches Sinus, Cosinus, Tangens sin(),cos(),tan() Wurzel aus X sqrt(x) X hoch Y : xy pow(x, y) Absolut Wert einer Zahl (Betrag von x) abs(x) Zufällige Zahl random() Vergleiche gleich == ungleich != größer, kleiner <, > Größer oder gleich, kleiner oder gleich <= , >= Funktion: kleinere Zahl von x und y min(x, y) Funktion: größere Zahl von x und y max(x, y) Boolsche Operatoren Und && Oder * Nicht ! Datentypen Boolean; char; unsigned char; byte; int; unsigned int; word; long; unsigned long; short; float; double; string; String; Datentypkonvertierungen char(); byte(); int(); word(); long(); float() Interrupts Interrupts verbieten noInterrupts() Interrupts erlauben nterrupts() Interrupt an Pin mit Funktion verknüpfen attachInterrupt(interrupt, function, mode) Interrupt Verbindung aufheben detachInterrupt(interrupt) Sonstiges Kommentar eine Zeile // Kommentar längerer Bereich /* */ Array definieren Funktion: Wertebereich transformieren (z.B. 10bit Sensor auf 8bit PWM) map(sensorWert, 0, 1024, 0, 255); Funktion Wertgrenzen bestimmen(alles darüber/darunter wird abgeschnitten) constrain(sensorWert, 0, 255); Bein Funktionen: Wert zurückgeben return x; Zum Sprungpunk hier springen goto hier; Prozedur Void Prozedurname() { } Funktion mit Integer-Rückgabewert und Byte-Parameter int Funktionsname (byte Parameter) {return 13;} Eine komplette Befehlsliste auf Englisch und mit erweiterten Erklärungen finden Sie auch unter http://arduino.cc/en/Reference/HomePage.

25.11.2013 · 3 Minuten · Fabian Kainka

Die neue Steckboardplatine als Arduino Shield

Modul Bus hat eine neue Platine rausgebracht, die einem Steckboard nachempfunden ist. Dadurch ist es noch einfacher, seine Prototypen auf eine dauerhafte Platine zu übertragen. Ich hab ein bisschen mit der Platine rumgespielt und bemerkt, dass man daraus auch schnell mal ein Arduino-Shield basteln kann. Im Grund ist der Aufbau sehr einfach. Die beiden LEDs sorgen dafür, dass das Board genügend Abstand zum Arduino hat und nicht so hin und her wackelt. Zusätzliche Stabilität verleiht der Stecker in der Mitte des Boards. Er wird einfach auf die beiden äußeren Kontakte des ISP-Steckers gesteckt. Damit liegt die Platine solide auf und verrutsch nicht. Man könnte auch an dem einen Pin des ISP-Steckers die 5-V-Versorgungsspannung der Controller abgreifen, hierbei ist aber Vorsicht geboten. Die beiden Drähte legen die Versorgungsleitungen +5V und GND auf die beiden äußeren Leitungsbahnen, sodass der Zugriff dauerhaft erleichtert wird. ...

08.11.2013 · 2 Minuten · Fabian Kainka

Zeiterfassung für Hobby & Arbeit

Das Problem: Selbstständige bekommen unterschiedliche Aufgaben auf den Tisch, die meist auch unterschiedlich entlohnt werden. Bei manchen Jobs wird man pro Stunde bezahlt, bei anderen gibt es einen Festpreis und wieder andere werden durch Gewinnbeteiligung vergütet. Dabei den Überblick zu behalten ist schwer. Deswegen muss ein kleines Tool her, mit dem man ohne große Umstände immer protokollieren kann, woran man gerade arbeitet und das später die Auswertung erleichtert. Das daraus entstandene Programm ist zu Teilen sehr speziell. Man kann es aber auch beispielsweise dazu verwenden, die Zeit für bestimmte Hobby-Projekte zu protokollieren. Alternativ kann man sich auch einfach nur den Quelltext anschauen und Teile für eigene Projekte übernehmen. Programmiert habe ich dieses Tool in Vb.Net 2012. Die Express-Edition gibt es wieder kostenlos unter folgendem Link:http://www.microsoft.com/visualstudio/deu/downloads ...

07.10.2013 · 6 Minuten · Fabian Kainka

Buch: Linux mit Raspberry Pi

von Christian Immler Jeder hat vermutlich schon vom Raspberry Pi gehört und kennt Projekte, die mit diesem kleinen Allround-Talent realisiert wurden. Und vermutlich hatte jeder schon einmal eine Idee für einen sinnvollen Einsatz des kleinen PCs. Doch für viele war das Betriebssystem Linux die Hürde. Mit dem Buch „Linux mit Raspberry Pi“ von Christian Immler kann man diese Hürde nun meistern. Das Buch erklärt zu Beginn präzise, wie man erfolgreich Linux auf eine SD Karte installiert und startet. Dabei bezieht sich der Autor vor allem auf die Wheezy-Distribution. Anhand dieser Distribution werden im Laufe des Buches sowohl die absoluten Grundlagen erklärt (Konsolen Befehle, Ordner Strukturen etc.) als auch verschiedene spannende Programme und Projekte vorgestellt. So lernt man schnell und auf anschauliche Weise wie man beispielsweise die GPIO-Ports des Mini-Computers ansteuert, einen eigenen Server erstellt, verschiedene Spiele installiert oder sogar in Python selbst Spiele programmiert. Auch Themen wie alternative Betriebssysteme oder das Installieren und Konfigurieren des Mediacenters XBMC werden in dem Buch behandelt. Durch die Breite an Themen findet wirklich jeder etwas Interessantes und Nützliches. ...

04.10.2013 · 2 Minuten · Fabian Kainka

Buch: Hausautomation mit Raspberry Pi

von E.F. Engelhardt Täglich wiederholende Vorgänge zu automatisieren ist eine Selbstverständlichkeit in unserer heutigen Zeit. Intelligente Systeme nehmen uns Arbeit ab und erleichtern zudem das Energiesparen. Viele Komplettlösungen, wie z.B. RWE SmartHome, sind schon seit längeren im Umlauf. Die Hardware ist aber meist nur intern kompatibel und zudem teuer. Wie man sich zuhause dennoch eine kostengünstige Lösung einrichten kann, beschreibt das Buch „Hausautomation mit Raspberry Pi“ von E.F. Engelhardt Der Autor beschreibt auf anschauliche Weise, wie man den Raspberry Pi als intelligente Schaltzentrale für verschiedenste Vorgänge einsetzt. Dabei wird vor allem das Open-Source Programm FHEM benutzt, das eine Menge Funktionen bereits integriert hat. Zudem erfährt man viel über verschiedene Funkmodule, Funksteckdosen und andere Hardware und wie man diese in sein System einbettet. So ist es jedermann möglich sich seine Hardware nach persönlichen Wünschen selbst zusammenzustellen. Kleine Neben-Projekte, wie z.B. wie man mit Apples Siri sprachgesteuerte Befehle an seine Schaltzentrale übermittelt oder wie man mit dem Raspberry seinen eigenen Cloud-Service erstellt, geben zudem Ausblicke auf weitere Möglichkeiten. ...

04.10.2013 · 2 Minuten · Fabian Kainka