Archiv für Januar 2010

Make: Electronics – Learning by discovery

Vor kurzem habe ich mir dieses Buch zugelegt. Make: Electronics ist ein Einsteigerkurs in die Welt der Elektronik. Ich habe mir zwar im letzten Jahr einiges an Wissen angeeignet, allerdings stoße ich immer wieder an Verständisgrenzen. Mit Hilfe dieses Buchs möchte ich die Lücken schließen und mein Elektronik-Wissen erweitern.

Make: Electronics

Das Buch ist auf Englisch bei O‘Reily erschienen, Bausteln.de schrieb aber grad über Twitter, dass es ab Mai auf deutsch erscheint. Aber die Sprache des Autors ist einfach gehalten und auch mit mittleren Englischkenntnissen versteht man, was er meint. Dies ist auch das Tolle an dem Buch. Die meisten deutschsprachigen Elektronikbücher sind ab einem Punkt in einer Insidersprache geschrieben, dass man es als Anfänger schwer hat, ihnen zu folgen.
Der Autor führt durch Experimente in die Grundlagen der Elektronik ein. Nicht selten werden Bauteile absichtlich zerstört, um zu demonstrieren, wie man es *nicht* machen soll. Zu jedem Experiment wird anschließend eine Menge Hintergrundwissen vermittelt, von physikalischen Gesetzen über Eigenschaften verschiedener Bauteile, deren Anwendung, deren Erfinder etc.
Am Ende sollte man über ein solides Grundwissen verfügen. Ich freue mich, dass das Buch bald auf deutsch erscheint (hoffentlich gut übersetzt) und hoffe, dass es vielen Menschen das Hobby Elektronik nahebringt.

Löten für die Liebig14

am Dienstag findet in der Liebig 14 (für alle nicht-Friedrichshainer: Liebigstraße 14) im Rahmen des Festivals gegen eine Räumung des Hauses der Workshop „Platinen, Schaltungen usw. Bauen und Löten für Anfänger_innen“ statt. Bin ja mal gespannt, was da so gelötet und gebaut wird.

Dienstag, 2.2. ab 16.00 Uhr

zum Festivalprogramm

Arduino-Last.Fm-Steuerung mit Display

Heute ist mein LCD-Display gekommen. Es ist ein 2-Zeiliges „Hitachi HD44780″-kompatibles Display, welches in meinem Projekt die Standart-Ausgabe werden soll (neben natürlich den Lautsprecherboxen ;-) . Natürlich hab ich es gleich an meinen Arduino angeschlossen und ein wenig damit rumgespielt. Zuguterletzt habe ich nun eine funktionierende (externe) Ausgabe für mein Last.fm-Radio Projekt.
Es zeigt Artist- und Trackname an.

Der Code ist noch in einem äußersten „quick & dirty“-Zustand. Momentan wird nur eine Zeile benutzt und wenn die Informationen zu groß sind, einfach abgeschnitten. Aber es funktioniert. Habe heute wieder sehr viel gelernt, deshalb denke ich ist v 0.03 gerechtfertigt ;-) .

Das Display ist wie auf der Beispielseite zur Library „LiquidCrystal“ angeschlossen (das wird sich wohl noch ändern). Das Programm shell-fm, welches als Last.fm-Client auf dem Laptop dient muss noch entsprechend konfiguriert werden, damit es Artist und Track über /dev/ttyUSB0 (Arduino) ausgibt. Das ist ganz einfach, denn shell-fm kann Trackinformationen in beliebige Dateien schreiben und bekanntlich ist unter Linux „alles“ eine Datei. Dazu muss man die Konfigurationsdatei von shell-fm editieren:
/home/meinrechner/.shell-fm/shell-fm.rc
In diese Datei werden die Zeilen

np-file = /dev/ttyUSB0
np-file-format = %A %t

eingefügt. Nun gibt shell-fm alle Trackinformtionen im Format Artist (%A) Track (%t) über die serielle Schnittstelle an den Arudino. Dieser prüft, ob neue Daten über die Schnittstelle angekommen sind und gibt sie auf dem Display aus.

Whats next:
- 2 Zeilen des Displays nutzen: auf der ersten Zeile soll der Artist stehen, auf der zweiten der Trackname

Wenn ich Zeit hab und meine Kamera finde mach ich ein kleines Video!

hier der Sketch:
Last.fm-Control v 0.03

Last.fm mit dem Arduino

Heute habe ich nun den Sketch von Freitag wieder rekonstruiert. Arduino-Profis werden das nicht weiter besonders finden, mich hat es aber viel viel Zeit gekostet.

Es ist ein erster Entwurf einer externen Steuerung für Last.fm. Auf dem Linux-Rechner läuft das (Konsolen)Programm shell-fm, welches ein Client für den Online-Radiosender Last.fm ist. Dieser erhält vom Arduino per serieller Schnittstelle seine Befehle.

Am Arduino sind drei Buttons angeschlossen (Port 8-10), welche abgefragt werden. Bei druck eines der Buttons wird der entsprechende Befehl (love, skip und ban) an das Programm gesendet.

Zukunftsmusik: Für sich gesehen bringt das ganze noch nicht viel, außer einen gewissen Lernerfolg für mich ;-) . Wenn ich soweit bin, soll der Arduino aber ein externes Internetradio steuern. Dieses besteht nach dem Vorbild von MightyOhm aus einem modifizierten W-Lan Router und einem Arduino als Steuerung. Im Gegensatz zu MightyOhms Internetradio möchte ich aber gern sowohl Last.fm (mit entsprechender Interaktion) als auch „normale“ Streams hören.


// Steuerung von Last.fm mit Arduino
// über serielle Schnittstelle
//
// v 0.02: 3 Buttons zum Steuern von shell-fm

// auf Linux-Konsole starten:
// shell-fm < /dev/ttyUSB0

int button = 0;
int val = 0;

void setup(){

for (button=8; button<11;button++){
pinMode(button, INPUT); // alle Buttons auf Input
digitalWrite(button, HIGH); // PullUp Wiederstand setzen
}
Serial.begin(9600);
}

void buttonAbfrage(){ // Buttons abfragen

for (button = 8; button < 11; button ++){

val = digitalRead(button);

if (val == LOW){ // wenn einer gedrückt wurde

switch (button){ // Befehl an Computer senden

case 8:
Serial.print("n"); // next Track
break;

case 9:
Serial.print("l"); // love Track
break;

case 10:
Serial.print("B"); // ban Track
break;

}
delay(500);
}
else{}
}
}

void loop(){
buttonAbfrage();
}

Arduino Frust und Lust

Habe heut mal wieder mit meinem Arduino rumgespielt. Herauskommen soll dabei eine (externe) Steuerung für den Online-Radiosender Last.fm. Ich steh noch ziemlich am Anfang, sowohl mit dem Arduino, als auch mit dem Internetradio, welches aus der ganzen Bastelei entstehen soll.

Auch mit Programmierung habe ich mich bisher nicht intensiv beschäftigt, deshalb ist jeder Schritt mit wühlen in Büchern und auf Websites verbunden. Unglaublich wieviele Semikolons und geschweifte Klammern beim tippen eines (kurzen) Programms vergisst ;-) .

edit: nachdem ich nun alle Semikolons, geschweifte Klammern und Variablen-Definitionen eingefügt hatte, habe ich ausversehen !! das Konsole-Fenster geschlossen, in dem die Arduino-Software lief… shit! Und nochmal…

6 blinkende LEDs an einem Chip

Ich liebe die Seite „Instructables.com“. Im Dezember habe ich mein erstes Instructable reingestellt. Ein einfacher Schaltkreis für sechs blinkende LEDs:


An easy to make, cheap and simple LED-blinky circuit with CMOS 74C14More DIY How To Projects

Mein Werkstattblog

Hallo liebeR LeserIN,

Du befindest Dich auf meinem (neuen) Werkstattblog. Hier werde ich in loser Reihenfolge über meine und andere Basteleien posten. Schwerpunkte sind dabei elektronische Experimente, Arduino /Microcontroller, Licht- und Toneffekte.

viel Spaß beim lesen.