Wozu kann man das nun verwenden? Für die Hausautomation? Für die Robotik? Ja warum nicht...
Vieles ist möglich und das mit verhältnismäßig geringen (finanziellen) Mitteln. Betrachtet das Ganze bitte als Proof of Concept - eine konkrete Anwendung für mich habe ich derzeit nicht im Hinterkopf.
Meine Stückliste:
- ein Arduino Mini (Direktlink zum Mini auf watterott.com)
- ein Schnittstellenwandler zur Programmierung (Direktlink zum FTDI-Basic-Breakout-5V auf watterott.com)
- ein Bluetooth-Modul (Direktlink zum Bluetooth-Mate-Silver auf watterott.com)
- ein LCD (HD44780-Controller bzw. kompatibel)
- ein Android-Handy (hier ein HTC Desire S)
- die kostenlose Blue Control-App aus dem Playstore (Direktlink zu Blue Control)
- Kleinkram wie Reset-Taster, ein Poti für den Display-Kontrast, Kabel, ...
Steckbrettaufbau |
Hier noch ein kleiner Beispielsketch:
#include <LiquidCrystal.h> char inChar; LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { Serial.begin(115200); // Standardeinstellung des Moduls, änderbar lcd.begin(16, 2); } void loop() { if (Serial.available() > 0) { inChar = Serial.read(); lcd.setCursor(0, 0); switch (inChar) { case 'a': lcd.print("Button A"); break; case 'b': lcd.print("Button C"); // b<>C Fehler in App break; case 'c': lcd.print("Button B"); // c<>B Fehler in App break; case 'd': lcd.print("Button D"); break; case 'e': lcd.print("Button E"); break; case 'f': lcd.print("Button F"); break; case 'g': lcd.print("Button G"); break; case 'h': lcd.print("Button H"); break; case 'L': lcd.print("Left "); break; case 'R': lcd.print("Right "); break; case 'U': lcd.print("Up "); break; case 'D': lcd.print("Down "); break; case 'C': lcd.print("Center "); break; } } }
Da ich bis jetzt noch keinen erfolg hatte eine App in Processing zu programmieren, welche auf meinem Android 2.2.2 läuft, werde ich wohl erstmal auf diese App zurückgreifen.
AntwortenLöschen