Yun Projekt Universalfernbedienung

Das Ziel dieses Arduino Yun Projekt war es, eine Art übers WLAN steuerbare Universalfernbedienung für sowohl Infrarot als auch Funksignale zu realisieren. Dabei kommen einige bereits vorgestellte Bauteile und Libraries zum Einsatz. Dieses Projekt ist eigentlich schon seid einiger Zeit fertig und im Einsatz, allerdings habe ich die Projektdateien nicht wiedergefunden. Nun sind sie aber wieder aufgetaucht und ich versuche mal alle Erkenntnisse zu rekonstruieren. Die Dokumentation ist deswegen allerdings nicht so ausführlich. ...

16.02.2015 · 4 Minuten · Fabian Kainka

Bauanleitung RGB Treiber Modul

In diesem Beitrag stelle ich auf der einen Seite eine Bauanleitung zum Nachbau des RGB Treiber Moduls vor und teste gleichzeitig ob sich eine Diashow zum Vorstellen der Schritte eignet. Die verwendeten Bauteile können mithilfe dieses öffentlichen Einkaufswagen auf Reichelt.de gefunden werden. Selbstverständlich können die Teile auch irgendwo anders gekauft werden. Die hier vorgestellte Liste dient allein zur Orientierung. Einkaufswagen RGB Treiber Modul Schritt 1: Platine zuschneiden Zunächst einmal sollte man sich ein passendes Platinenstück zuschneiden. Die Lochrasterplatine hat ein Rastermaß von 2,54 mm und ist einseitig mit Lötpunkten beschichtet. Die Dimensionen des mit einer Laubsäge rausgetrennten Stückes sind 6x10 Rasterpunkte. ...

13.02.2015 · 4 Minuten · Fabian Kainka

Neues RGB Treiber Modul

In der Vergangenheit habe ich mich schon des Öfteren mit dem Bau eines RGB Treiber Shields für Arduino oder andere Mikrocontroller versucht. Verschiedenste Versionen der Module sind bereits bei mir im Einsatz. Diese neue Variante soll nun verschiedenste Bedürfnisse auf einmal decken. RGB Treiber Modul von unten RGB Treiber Modul auf einem Steckboard (auf der rechten Seite VCC, nach links gelegt GND) Die erste Bedingung war die Kompatibilität zu gängigen Steckboards. Die Platine sollte möglichst leicht in das Board stecken lassen und sich genauso leicht wieder entfernen lassen. Das hat außerdem auch den Vorteil, dass ich später eines der Steckboard Platinen benutzen kann um eine dauerhafte Lösung zusammen zu löten. ...

09.02.2015 · 2 Minuten · Fabian Kainka

Befehlsliste Bascom

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 einiger wichtiger Bascom Befehle. Die Liste ist nicht vollständig aber wird von Zeit zu Zeit ergänzt. Benutzen Sie Stg+F um in der Seite nach etwas bestimmten zu suchen. Befehl Schreibweise Grundlegendes Variable Dimensionieren Dim vByte As Byte Dim Bt_recieve_text As String * 50 Sub Deklarieren Declare Sub Begin() Wartezeiten Waitms 500 Wait 1 Pin an Port = High Portb.1 = 1 Port = High Portb = 255 Abfragen/Schleifen If Abfragen If x=1 Then Elseif x=3 Then Else End If Select Case Select Case X Case 0: Case 1 To 9: Case Else: End Select Loop-Schleife Do Loop Until ok =1 For-Schleife For I = 1 To X Next I Kommunikation Com1 konfigurieren (Hardware, lesen und schreiben) Open “com1:” For Binary As #1 Serielle schreiben Print “Hallo” Spezielle Com konfigurieren (schreiben, Ch #3, Pind.3) Open “comd.3:9600,8,n,1” For Output As #3 Serielle #3 schreiben Print #3 , “Hallo” Serielle Spezial-Prozedur Config Serialin = Buffered , Size = 50 , Bytematch = 10Serial0charmatch() Input Bt_recieve_text Noecho End Sub RC5 Konfigurieren (Portb.1) Portb.1 = 1 ‘Pulup Rc5 Config Rc5 = Pinb.1 Enable Interrupts RC5 Empfangen Getrc5(vrc5_address , Vrc5_com) I²C Konfigurieren Config Scl = Portc.5 Config Sda = Portc.4 I2cinit I²C Senden I2cstart I2cwbyte 48 I2cstop I²C Empfangen I2cstart I2cwbyte 35 I2crbyte Status , Ack ’ I2crbyte Antenna , Nack I2cstop

06.02.2015 · 2 Minuten · Fabian Kainka

ESP8266 Arduino-Programm: setLED

Dieses Programm ist mein erster Versuch, das WLAN Modul ESP8266 über den Arduino Uno zu bändigen. Die Funktion des Programms erscheint recht simpel. Über Steuerbefehle lässt sich die L-Led (digital Pin13), die auf fast jedem Arduino Board vorhanden ist, Ein- und Ausschalten. Es gibt zwei Varianten. Die erste Variante erlaubt über den Browser direkt durch Eingabe einer URL die LED zu schalten. Die zweite Variante läuft über einen eigenen TCP-Client, wie ich ihn z.B. in dem Artikel über die ersten Schritte verwendet habe. ...

02.02.2015 · 7 Minuten · Fabian Kainka

Befehlsliste Mbed.org

Befehl Schreibweise Grundlegendes Grundstruktur *#include “mbed.h”*int main() { } Library einbinden #include “libX.h“ Variable deklarieren (Typ Integer, Wert = 0) int led = 0; Array deklarieren (Typ Integer, 6 Werte) int Arrayname[6] = {2, 4, -8, 3, 2}; Warten (0,5 Sekunden) wait(0.5); Pin-Funktionen Digitaler Ausgang DigitalOut meineLED (PTD1); Digitaler Eingang DigitalIn Sch**alter(PTD4); PWM Ausgang (nur an PWM-Pins) PwmOut LedBlau(LED_BLUE); Analoger Eingang (nur an ADC-Pins) AnalogIn LDR(PTC2); Analoger Ausgang (nur an DAC-Pins) AnalogOut Spann(PTE30); Interrupt Pin (nur Interrupts-Pins) InterruptIn event(PTD4); ! Relative Werte (PWM, Analoge Werte ) haben einen Bereich von 0…1, z.B. LedBlau = 0.5; Abfragen/Schleifen If-Abfrage mit Else *if (button == HIGH){ }*else{ } Switch-Abfrage *switch (x) {*case 1: case 2: default: 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; Printf Hello ausgeben printf(“Hello \n”); Textformationen Integer Variable i ausgeben printf("%d \n", i); Variablen Gekürzte Gleitkommazahl ausgeben (xx.xxx) printf("%2.3f \n", f); Spezielle serielle Schnistelle Schnittstellen pc initialisieren (USB) Serial pc(USBTX, USBRX); Bautrate festlegen (9600) pc.baud (9600); An Schnittstelle NAME Text ausgeben pc.printf(“TEXT \n”); Zeichen 38 Ausgeben (&-Zeichen) pc.putc(38); Zeichen einlesen pc.getc() 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 ! Sonstiges Kommentar eine Zeile // Kommentar längerer Bereich /* */ Prozedur void Prozedurname() { } Funktion mit Integer-Rückgabewert und Integer-Parameter int Funktionsname (int Parameter) {**} Zeit setzen (01.06.2014 00:00:00) set_time(1401580800); Interssante Librarys und deren wichtigste Befehle Touch Sensor #include “TSISensor.h” initialisieren TSISensor tsi; Auslesen in Prozent tsi.readPercentage(); Auslesen in Millimetern tsi.readDistance(); Beschleunigungssensor #include “MMA8451Q.h” Initialisieren über I²C Pins und Adresse MMA8451Q acc(PTE25, PTE24, 58); Beschleunigung in X-Richtung lesen acc.getAccX(); Alle Beschleunigungsachsen in ein Array lesen acc.getAccAllAxis() USB-Mouse (Lib: USBDevice) #include “USBMouse.h” Maus initialisieren USBMouse mouse; Maus Bewegen mouse.move(x,y); Linken Maustaste drücken mouse.press(MOUSE_LEFT); Linken Maustaste loslassen mouse.release(MOUSE_ LEFT); Rechte Maustaste Klicken mouse.click(MOUSE_RIGHT); Doppelklick mit linker Maustaste mouse.doubleClick();

29.01.2015 · 2 Minuten · Fabian Kainka

Kurzinfos WLAN-Modul ESP8266 (Wi07c)

ESP8266 AT Befehle Befehl Schreibweise Grundlegendes Test Befehl AT Reset AT+RST Firmware Infos AT+GMR Baudrate ändern AT+CIOBAUD= WLAN Befehle WLAN-Modus (1 = Client, 2 = AP, 3 = Dual) AT+CWMODE= Mehrere Verbindungen zulassen AT+CIPMUX= WLAN-Netzwerke suchen AT+CWLAP WLAN Verbinden AT+CWJAP="","" WLAN Trennen AT+CWQAP WLAN-AccesPoint Einstellungen AT+CWSAP="",""[,,] IP-Adresse Ausgeben AT+CIFSR Kommunikation Datenmodus (0=Transparent, 1=Datenmodus) AT+CIPMODE= Struktur empfangener Daten +IPD,,: Verbindung aufbauen AT+CIPSTART="","", Daten Senden AT+CIPSEND=, Verbdingung trennen AT+CIPCLOSE= Server Befehle Server Starten AT+CIPSERVER=1, Server Beenden AT+CIPSERVER=0 Server Status & verbundene Clients AT+CIPSTATUS Server Timeout festlegen AT+CIPSTO= Verbundene Clients anzeigen AT+CWLIF Sonstiges Watchdog starten AT+CSYSWDTENABLE Watchdog beenden AT+CSYSWDTDISABLE Kurzinfos Standartbaudrate 9600 Strombedarf Initialisierung ca. 200 mA Maximaler Strombedarf 235 mA Pinout ESP8266 ESP8266 Pinout von oben Pinbelegung des Moduls von unten Auf Englisch übersetztes Datenblatt Fritzing Bauteil Linkliste http://www.electrodragon.com/w/Wi07c Infoseite zum Modul (Englisch) https://nurdspace.nl/ESP8266 Infoseite zum Modul (Englisch) http://hackaday.com/tag/esp8266/ Hack a Day Projekte mit dem Modul (Englisch) https://www.youtube.com/watch?v=uznq8W9sOKQ Tutorial YouTube-Video (Englisch)

28.01.2015 · 1 Minute · Fabian Kainka

WLAN Modul ESP8266 und Arduino

Der nächste Schritt ist nun, das ESP8266 Modul mit einem Arduino zu verbinden um das ganze portabler zu haben. Meine erste Wahl war ein Arduino Nano Nachbau aus China**,** den ich ebenfalls mitbestellt habe. Dieser hat einen 3,3 V Pin so dass die Sache auf den ersten Blick ganz einfach aussah. Tatsächlich hat das Modul aber ähnlich reagiert, wie schon bei den ersten Versuchen mit der FTDI Platine. Das Modul startete nicht richtig. Nach einigem Suchen fand ich auch den Grund heraus. ...

28.01.2015 · 3 Minuten · Fabian Kainka

WLAN Modul ESP8266 - Server einrichten

Die Verbindung zu anderen Geräten steht nun, egal ob Sie das Modul als AP oder als Client benutzen. Doch nun sollten die Geräte auch miteinander kommunizieren können. Deswegen wird in diesem Teil ein Server eingestellt. Auf diesen Server kann dann z.B. über ein Handy zugegriffen und Daten übermittelt werden. Doch der Reihe nach. Zunächst einmal muss eine Einstellung vorgenommen werden und zwar die Einstellung AT+CIPMUX=1. Dies ermöglicht, mehrere Verbindungen gleichzeitig aufbauen zu dürfen. Ich habe noch nicht genau herausgefunden warum diese Einstellung nötig ist, Tatsache ist aber, dass sich der Server nicht starten lässt wenn diese Einstellung nicht gemacht wurde. Ein wichtiger Punkt ist, dass sichdiese Konfiguration nicht speichert. Das bedeutet, Sie müssen diesen Befehl jedes Mal neu eingeben, wenn Sie das Modul neu eingeschaltet oder resetet haben. ...

28.01.2015 · 4 Minuten · Fabian Kainka

WLAN-Modul ESP8266 - Verbindung aufbauen

Die erste Verbindung war nun bereits insofern erfolgreich, dass Daten die das Modul geschickt hat, ausgelesen werden konnten. Ob auch Daten in Form von Befehlen an das WLAN-Modul gesendet werden können steht also noch nicht fest. Dazu benötigen Sie nun wieder ein Terminal Programm – am besten den Serial Monitor der Arduino Software. Sie können zwar auch andere Terminals benutzen, allerdings werden die Befehle nur erkannt, wenn sie in einem besonderen Format geschickt werden. Sie müssen nämlich nach jedem Befehl nicht nur das (Carriage Return) Zeichen, sondern auch das NL (New Line) Zeichen senden. Die meisten Terminalprogramme senden CR wenn Sie Enter drücken, allerdings nicht NL. Im Arduino Terminal lässt sich diese Funktion einstellen, wie Sie auf dem unteren Bild sehen können. ...

28.01.2015 · 4 Minuten · Fabian Kainka