Freitag, 11. Oktober 2013

RGB_LED mit Tastatur ansteuern

Ich habe den Code fertiggestellt mit dem man die Tastatur an den Arduino schließen kann und dann die LED-Stripe ansteuert.
Mein Arduino hat aktuell also folgende Funktionen auf den Verschiedenen Tasten:

Taste              Funktion
ESC              Schalltet LEDs aus
1                   Beginn von Programm 1
2                   Beginn von Programm 2
G                  Schaltet LEDs auf Grün
B                  Schaltet LEDs auf Blau
R                  Schaltet LEDs auf Rot
L                  Schaltet LEDs auf Lila

Den Code könnt ihr hier herunterladen.

Wie immer könnt ihr mir bei Fragen an pilot.arduino@gmail.com schreiben.

Donnerstag, 10. Oktober 2013

PS2 Tastatur an Arduino anschließen

Bevor ich mit meinem nächsten Projekt weiter mache wollte ich noch eine kleine aber nützliche Funktion vorstellen. Damit meine ich das verwenden von einer PS2-Tastatur als Eingabegerät. Zum verbinden von einer PS2-Tastatur mit dem Arduino gibt es mit dem Arduino gibt es hier eine Anleitung. 

Da die Seite auf Englisch ist schreibe ich mal eine kurze Anleitung zum importieren von Librarys. Als Beispiel benutze ich die PS2Kayboard Library.

Alls erstes müsst ihr die PS2Kayboard.zip herunterladen (falls der Link nicht funktioniert findet ihr die Datei auch unter dem oben genannten Link). Als nächstes müsst ihr die Datei entpacken. Dies geht unter Win7 in dem ihr einen rechts klick auf die Datei macht und die Option "Alles extrahieren..." auswählt. Danach geht ein Fenster auf und ihr könnt hier den Ort bestimmen in dem die Datei extrahiert werden soll. Nun müsst ihr das aktuelle Verzeichnis beibehalten und auf "Extrahieren" klicken. Jetzt sollte in dem Ordner in dem auch die zip-Datei liegt ein neuer Ordner mit dem Namen "PS2Kayboard" entstanden sein. Als nächstes müsst ihr das Verzeichnis suchen in dem ihr Arduino installiert habt, z.B. C:\Program Files (x86)\Arduino hier gibt es einen Ordner der "libraries" heißt. In diesen Ordner wird nun der Ordner "PS2Kayboard" kopiert. Daraufhin muss noch die Arduino IDE (Integrated Development Environment oder auch Entwicklungsumgebung) neugestartet werden. Wenn man nun in der Arduino IDE unter Datei > Beispiele geht und die Option PS2Kayboard angezeigt wird, war die Installation erfolgreich.

Nun da Ihr die Library installiert habt erkläre ich noch einige neue Befehle. Die ersten vier Befehle sind unabhängig von der Library.

Serial.begin(9600); 

Hier wird die USB Schnittstelle geöffnet. Die in der Klammer stehenden Zahl steht für die Geschwindigkeit in diesem Beispiel 9600 Bits die Sekunde.

Serial.println(val);
Serial.print(val); 

Mit den beiden Befehlen kann man, dass was in den Klammen steht, über die USB Schnittstelle schicken. in diesem Beispiel ist dies die Variable val.Bei Serial.println() wird nach der Information die in der Klammer steht ein Zeilenumbruch gemacht, bei Serial.print(val) wird dieser Weggelassen. In der Arduino IDE kann man sich die Informationen die an den Rechner geschickt werden mit Hilfe des Serial Monitor Anzeigen lassen. Der Serial Monitor kann unter Tools gefunden werden.
  
#include <PS2Keyboard.h>
 
Mit diesem Befehl #include wird eine Library geladen, in diesem Beispiel die Library PS2Keyboard.h.

So jetzt beginne ich mit den Speziellen PS2Keyboard Befehlen.

PS2Keyboard keyboard; 

Dies ist der erste Befehl und muss unbedingt ausgeführt werden. Hier wird ein Objekt
für die Library erstellt. Mann könnte mehrere Objekte erschaffen aber die Library unterstützt nur eine angeschlossene PS2 Tastatur.

keyboard.begin(DataPin, IRQpin)

Beginnt damit die Tastatur Signale aufzunehmen. In der Klammer stehen die Beiden Pinne an den man die Tastatur angeschlossen hat. Der DataPin ist für die Tastatur Daten da und der IRQpin für die Clook-Signale. Die beiden Pinne werden am Anfang des Programmes den Variablen zugeordnet. Den IRQpin darf man nicht einen X beliebigen Pin zuordnen, welcher der richtige ist hängt mit dem Arduinoboard zusammen. Hier ist eine Liste:

Arduino Uno:    2, 3
Arduino Due:    Alle pins, ausnahme 13 (LED)
Arduino Mega: 2, 3, 18, 19, 20, 21
Teensy 2.0:      Alle pins, ausnahme 13 (LED)
Teensy 2.0:      5, 6, 7, 8
Teensy 1.0:      0, 1, 2, 3, 4, 6, 7, 16
Teensy++ 2.0:  0, 1, 2, 3, 18, 19, 36, 37
Teensy++ 1.0:  0, 1, 2, 3, 18, 19, 36, 37
Sanguino:        2, 10, 11


Diese Liste findet man auch oben im Beispiel Programm. 

keyboard.available() 

Prüft ob ein Tastendruck empfangen wird, wenn ja gibt er TRUE aus wenn nein ein FALSE.

keyboard.read()

Liest den nächsten Tastendruck und gibt ihn als ASCII Zeichen heraus. Dazu wird eine Variable in die Klammer geschrieben. Der Daten Typ der Variable lautet char, dieser ist für Schriftzeichen.

Mein Ziel ist es mit Hilfe dieser Funktion, es zu erreichen das man zwichen mehreren Programmen für die RGB LEDs wechseln kan.

Bei Fragen und Anregungen gilt wie immer, einfach das Kintaktformula benutzen oder diereckt ein E-Mail schreiben an pilot.arduino@gmail.com.