Karl Hans Janke Kollaborativ
Heute die Welt, morgen das Sonnensystem!

mar 2009

Hamburger Freihafen

gueter-streifen.klein.jpg

Ich war neulich malwieder bei Nacht im Freihafen und habe Fotos von dunkler Industrieidylle geschossen:

anhaenger-gelb.klein.jpgbruecke-hafen.klein.jpgdock.klein.jpgelefant.klein.jpgleuchtende-fabrik.klein.jpg

Das Highlight kommt zum Schluss. Was genau es ist und wo es steht, verrate ich jetzt grad nicht… Wer das wissen will, darf mich gerne mal Abends besuchen kommen. :)

tempel.klein.jpg
Just my kind of style!

Ich bin mir auch sicher, sie haben darunter einen zweihundert Meter tiefen Hive fuer Experimente. Und Supercomputer, aber das ist eh klar.

PS. Spontaner Musiktipp zu den Fotos: Der Soundtrack von Silkcut.

PPS. Jetzt neu! Mit Zwitscherautomatik.

Ein Marienkaefer auf Basis des ATtiny13

Erfolg! Der AVR-Programmierer kann auch den ATtiny13 programmieren. Das ist glaube ich der kleinste Atmel, den man noch mit avr-gcc programmieren kann. Er hat 8 Pins, 1KB Flash, ist so gross wie ein kleiner Fingernagel und kostet 80 Cent. Die einzig noetig Anpassung am bereits verlinkten Code war, die PAGESIZE auf 16 zu setzen.

arduino-attiny.klein.jpg
Er blinkt!! :)

Uebrigens habe ich mir die Muehe gemacht, den Tiny direkt in C zu programmieren, und nicht etwa die Arduino-Umgebung auf ihn anzupassen. Nachher haette die evtl. noch zu viel Code erzeugt, der nicht mehr in 1K gepasst haette. Zum Glueck ist das auch alles nicht viel schwieriger. Nur zum korrekten Setup von PWM etc. war es noetig, das Datenblatt etwas eingehender zu studieren und viele wueste Registernamen abzutippen. ;)

Nachdem er denn nun blinken konnte: Meine Oma hat am Sonntag Geburtstag gefeiert und ich habe Samstag damit verbracht, meinen Arbeitsplatz mit Basteleien zu verwuesten. Das Endprodukt ist ein marienkaefermaessig angemalter halber Tischtennisball, der anfaengt zu leuchten, wenn es dunkel wird. Man sehe selbst:

kaefer-chassis.klein.jpgkaefer-innereien.klein.jpgkaefer-leucht.klein.jpg

Ja, man haette das Innenleben auch ordentlicher, huebscher und effizienter gestalten koennen, aber ich war jung und dumm. Naja, und in Eile.

Anlage: Quelltext fuer den Kaefer

Arduino als AVR-Programmierer

arduino-avrprog.klein.jpg

Hah! Geht doch (TM). Ich habs irgendwie nicht eingesehen, mir ein teures Programmiergeraet zum Beschreiben von Mikrocontrollern zu kaufen, wenn ich doch mit meinem Arduino bereits ueber einen frei (!) programmierbaren ebensolchen verfuege. Also ist mein erstes richtiges Arduino-Projekt ein AVR-Programmierer. Ist alles noch recht roh und leicht ATmega8-spezifisch, aber funktioniert soweit anstandslos.

Kurzanleitung: Arduino-Pins 2 bis 5 mit RESET, SCK, MISO, MOSI verbinden. VCC und GND anschliessen. Mit minicom auf den Arduino gehen, ggf. resetten. Es sollten Informationen ueber den angeschlossenen Zielchip erscheinen. Nach Aufforderung gewuenschtes Firmware-Image als Intel .hex-Datei an die Serielle senden. Beispiel:

cat foo.hex > /dev/cuaU0

Vorsicht: Nicht zu schnell senden! Sonst laeuft dem Arduino der Empfangspuffer voll und er verschluckt alles, was danach kommt. Man kann das Problem vermutlich vermeiden, indem man die Serielle langsam schaltet. Aber: Fuer sowas gibt es doch Flusskontrolle! :)

Der Arduino hat vier leere Loetstellen, die mit X3 markiert sind. Da kann man Pfostenstecker einloeten. Und zufaellig entsprechen diese Pins gerade den seriellen Steuerleitungen, die nicht anderweitig angeschlossen sind. Eine davon ist CTS, clear to send. Darueber teilt man dem angeschlossen Endgeraet (lies: PC) mit, ob man gerade empfangsbereit ist oder nicht. Also X3-1 mit Arduino-Pin 6 verbinden und die Daten sollten lueckenlos ankommen. Bei mir musste man auch noch die Beachtung der Flusskontrolle einschalten:

stty -f /dev/cuaU0 crtscts

NB. Ich habe FreeBSD und meine Serielle heisst cuaU0. Die Linux-Fanbois setzen bitte ttyS0 oder was auch immer. ;)