RGB Crossfade Library

Die Crossfade-Library von Radek Wierzbicki ist aus einem Arduino Artikel zum Thema Crossfade entstanden. Sie ermöglicht es unter anderem Farben zu definieren, und zwar nach dem Schema: RGBColor white = RGBColor(100, 100, 100); Die Werte werden in Prozent angegeben, das Maximum ist also 100. Quellen: Crossfade-Library Auf Github in Unterordner Libraries/RGB-LED Diese Farben können dann per Crossfade-Befehl oder per setColor-Befehl ausgegeben werden. Funktionen der Library: RGBLED(int redPin, int greenPin, int bluePin, int hold, int wait, int commonAnode); void crossfade(RGBColor &color); void setColor(RGBColor &color); void setIntensity(int intensity); void setCrossfadeWait(int wait); void setCrossfadeHold(int hold); In der Initialisierungsfunktion RGBLED werden in den ersten drei Parametern die einzelnen Pins angegeben, an denen die Farben liegen. Danach folgen die Festlegung der Standartwere für Hold und Wait. Zuletzt kann man noch festlegen ob die RGB-LED eine gemeinsame Anode (int = 1) oder Kathode (int = 0) hat. Dies ist wichtig, da bei einer gemeinsamen Anode die PWM-Werte umgekehrt werden müssen. ...

19.04.2015 · 2 Minuten · Fabian Kainka

ESP8266 in der Arduino IDE

Vor kurzem kam die Meldung bei verschiedenen Online-Magazinen, dass findige Entwickler nun eine eigene Arduino IDE mit integriertem Support für das WLAN-Modul ESP8266 entwickelt haben (Beitrag auf Electronic-Lab ; Link ESP8266.com ; Github mit Download). Es handelt sich hierbei um eine angepasste Arduino IDE, die man alternativ zur eigentlichen IDE installieren kann. Beim stöbern im Forum habe ich aber auch eine Möglichkeit entdeckt, bei der die notwendigen Dateien einfach in die bestehende Arduino Version (ab 1.6) eingebunden werden können ...

01.04.2015 · 3 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

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

Schnellstart: Arduino Yún

Der Arduino Yún gehört zu den neusten Kreationen der Arduino-Macher. Ausgestattet mit einem WLAN-Modul und einem eigenen Linux-Controller sollen Netzwerkbasierte Projekte so einfach werden wie noch nie. Die ersten Spielereien haben mich wirklich überzeugt. Nach kurzer Zeit hatte ich den Controller eingerichtet und mein erstes Programm über das Netzwerk auf den Controller übertragen können. Und schon das zweite Beispielprogramm ermöglicht es, die I/O-Pins des Boards zu Steuern, ganz bequem vom Browser aus. Aber zuerst einmal die ersten Schritte. ...

27.06.2014 · 4 Minuten · Fabian Kainka

Arduino als ISP Programmer

Zurzeit spiele ich mit dem Arduino Ethernet Board rum. Dieses Board ist kein Shield, welches man auf einen anderen Arduino aufsteckt, sondern ein eigenständiges Board mit Controller, ähnlich dem Arduino Uno. Nachteil: Es gibt keinen integrierten USB-Controller, mit dem man das Board direkt über USB programmieren kann. Deswegen habe ich einen Arduino Uno als Programmer benutzt. Um einen Arduino als ISP-Progammer einsetzen zu können, sind nur wenige Schritte nötig: Zuallererst mussder Arduino Uno mit dem ISP-Programm bespielt werden. Das Programm findet in unter den Beispielen. Nun kann man das Ethernet Board wie auf dem Bild gezeigt mit dem Arduino Uno verbinden: ...

15.03.2014 · 1 Minute · Fabian Kainka

Widerstand Farcode Tabelle

Wie man den Widerstandswert eines Widerstandes berechnet werden die Meisten schon wissen. Allerdings geht es mir manchmal so, dass ich kurz vergesse, welche Farbe für welchen Wert steht. Also gibt es hier eine kompakte Auflistung für alle diejenigen, die das gleiche Problem haben. Aber nicht vergessen: beim letzten Ring gibt der Wert die Anzahl der nachstehenden Nullen an. Farbe Farbe Wert 0 Schwarz 0 1 Braun 1 2 Orange 2 3 Rot 3 4 Gelb 4 5 Grün 5 6 Blau 6 7 Violett 7 8 Grau 8 9 Weiß 9

31.01.2014 · 1 Minute · 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 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