Wenn ich mal irgendwann ein Projekt plane bei dem ein Mikrocontroller Laut geben soll, werde ich mich hoffentlich an atmegaSID erinnern. Das ist eine Art Emulator, damit ersetzt ein ATmega8 den Soundchip eines Commodore C64. Dann muss ich nur noch bei Welle: Erdball in Erfahrung bringen, wie man dem ordentliche Klänge entlockt…
Archiv der Kategorie » Mikrocontroller «
Wenn man im englischsprachigen eBay nach Samsung S3C2440 sucht findet man eine ganze Reihe verschiedene interessante Angebote. Fertige Boards mit ARM-CPU und viel Peripherie, darunter Sachen wie Touch-Screens, USB-Hostcontrollern, Ethernet und WLAN. Lauffähig mit Linux. Und das zu echt moderaten Preisen: für 85 Euro kriegt man da schon ein Gerät mit Touch-Screen, für 133 gibt es sogar WLAN.
Ein bisschen doof ist nur, dass es die Dinger offenbar nicht in der deutschen Bucht findet, und dass man sich die aus China zukommen lassen muss.
Aber trotzdem: die Dinger schreien geradezu danach, da mal irgendwas mit zu basteln…
Offenbar hat der Elektronik-Händler Farnell die Software-Schmiede CadSoft gekauft, bekannt als Hersteller des Elektronik-CAD-Systems Eagle CAD — unter Hobby-Elektronikern wahrscheinlich die am weitesten verbreitete Software für den Zweck. Ich habe für meine letzten Projekte die freie Software Kicad benutzt und nehme diese Nachricht nochmal zum Anlass die zu verlinken.
Au weia… ich habe Gestern einen Artikel in einer etwas älteren c’t (22/07) gelesen, es ging um esoterische Programmiersprachen. Unter anderem haben die die Sprache Brainfuck vorgestellt. Was mich wirklich erschrocken hat: ich habe die Beispiel-Programme verstanden! Muss ich mir Sorgen machen?
Gerade habe ich in der Wikipedia ein alternatives Hello World gefunden, kommentiert ist das sogar fast trivial.
Hmm, ich hatte die befürchtung dass ich wieder zu spät wäre, genau wie damals mit der Model M. Ich habe da seinerzeit gemütlich dran gebastelt, hatte die mehrere Wochen hier rumliegen. Als ich meine erste Dulcimer veröffentlicht habe hat mir jemand gesagt dass eine Woche vorher jemand ein ganz ähnliches Projekt fertiggestellt hat…
Naja, ich habe danach noch ein paar andere Tastaturen umgebaut. Und noch einige auf Lager liegen, die auf einen Umbau warten. Unter anderem eben eine Apple Adjustable. Jetzt habe ich mich halbwegs erschrocken als ich sehen musste dass die schon jemand auf USB umgebaut hat. Allerdings hat der Thomas E. Henz Jr. eher den Ansatz verfolgt den ich bei meinen alten MAME-Joysticks hatte. Tut’s zwar auch, aber mir gefällt der Dulcimer-Ansatz immer noch so gut dass ich den bei Gelegenheit auf die Tastatur anwende…
Eine Sache hat Thomas aber schon richtig erkannt: Das Innenleben der Tastatur ist nicht gerade freundlich für den geneigten Umbauer. Nachdem ich auch schon andere Apple-Tastaturen von innen gesehen habe glaube ich, dass das eine (weitere) Unsitte dieses Herstellers ist…
Diese Uhr muss bei Gelegenheit mal nachgebaut werden. Macht sich sicher gut neben meiner Binär-Funkuhr…
Ich habe in der Vergangenheit einige Sachen mit USB-Schnittstelle gebastelt, und es werden bestimmt noch mehr. Zwischendurch habe ich mir gewünscht, einen direkten Blick auf die Kommunikation werfen zu können. Jetzt erfahre ich zufällig dass Wireshark das kann. Sehr hilfreich.
Tja, die Überschrift klingt komisch, hat mir aber besser gefallen als ‘Mein Solarium und ich’. Obwohl letzteres auch gepasst hätte.
Nachdem ich mich jetzt mehrere Jahre davor gedrückt und lieber mit Lochrastermaterial gebastelt habe, habe ich mich seit anderthalb Wochen intensiv mit dem Ätzen von Platinen beschäftigt. Erst so versucht, dann eine Ätzanlage gebaut. Gestern habe ich das erste Ergebnis zusammengelötet, und es hat auf Anhieb funktioniert.
Meine Erfahrungen damit habe ich auf der Schatenseite verewigt. Was die gezeigte Platine tut wird später in einem separaten Eintrag beschrieben, damit ist die dann auch als ‘Metaprojekt’ fertig.
Ich trage keine Armbanduhr, und die uWatch trägt auch ziemlich auf. Trotzdem wird die an Coolness höchstens noch von Woz’ Nixie-Armbanduhr übertroffen.
Dieser Vergleichstest liest sich nicht nur sehr interessant, er erinnert mich auch daran, dass ich meine zuletzt umgebaute Tastatur noch veröffentlichen muss… bald…
Wenn ich irgendwann mal was basteln möchte was mehr Rechenleistung braucht als ein ATmega bietet denke ich mal über eine ARM-CPU nach. Dachte ich. Gerade habe ich einiges über den Propeller von Parallax gelesen. Darauf gekommen bin ich über die YBox2 von Lady Ada.
Der Parallax ist ein Controller mit acht unabhängigen RISC-CPU-Kernen in 32 Bit. Klingt wie geschaffen für komplexe Projekte bei denen mehrere Sachen gleichzeitig stattfinden sollen. Im genannten Projekt wird der mit 80MHz getaktet, hat also auch genug Schwung um komplexere Sachen zu machen. Und teuer scheint der auch nicht zu sein: als Einzelstück 12,50 Euro klingt fair bei den Daten. Oh, und im Gegensatz zu ARMen gibt es den auch im ‘Lötbaren’ Gehäuse, also in nicht-SMD-Form.
Doof ist nur, dass ein C-Compiler nur gegen Geld zu kriegen ist, während es eine Entwicklungsumgebung für eine proprietäre Sprache (Spin) kostenlos gibt.
Wow, ich hätte nicht gedacht dass es mit derart wenig Aufwand möglich ist, eine IDE-Platte an einen Mikrocontroller zu hängen. FAT ist da noch nicht mit drin, aber vielleicht könnte man das aus der Procyon-Bibliothek nehmen… wenn man es denn mal braucht.
In den letzten Wochen habe ich mich wieder verstärkt um mein Projekt Dulcimer gekümmert. Seit Gestern habe ich ein neues benutzbares Hackbrett. Diesmal keine Model M, aber nichtsdestotrotz ein erlesenes Gerät. Ausführliches schreibe ich dann die Tage mal, wenn ich ein neues Paket online stelle. Wer sich für die Fortschritte interessiert kann auch einen Blick auf die Entwicklung werfen — das dürfte allerdings wohl eher was für den Connoisseur sein.
Und ich habe Heute neue Rohlinge für solche Basteleien bekommen. Zwei Model M, eine von 1991 und eine von 1995. Ob ich letztere wirklich zerlegen sollte muss ich mir noch überlegen. Das scheint irgendwie ein Sondermodell zu sein. Das Kabel ist — untypisch für die Serie — fest angebaut, und was das eigentlich merkwürdige ist: die hat keine LEDs. Sieht man auch auf dem Foto. Eigentlich ideal für meine Bastelidee. Kann mir jemand sachdienliche Hinweise zu dem Ding geben?
Wow, ich hätte nicht gedacht dass ein einfacher ATmega168 mit 19,6608MHz dazu in der Lage ist. Ich bin beeindruckt!
… man kann noch so lange an einem Problem rum programmieren, einen kaputten Stecker kann man nicht wieder heil programmieren. Auch nicht wenn man da einen kompletten Samstag reinsteckt.
Aber der One-Wire-Bus ist an der Stelle auch echt ein Arsch. Wer ihn nicht kennt: der Name ist etwas verwirrend. Zwei Drähte braucht man mindestens: einen für die Masse, einen für Daten. Eine Versorgungsspannung kann man wenn man möchte zusätzlich anlegen. Wenn man das nicht machen will kann man die Bausteine auf dem Bus — Temperaturfühler in meinem Fall — auch über die Datenleitung mit Saft versorgen. Eigentlich muss man dazu dann noch einen zusätzlichen FET benutzen.
Der Samstag hat mir aber gezeigt, dass es auch ohne den FET geht, wenn zum Beispiel der Pin für die Versorgungsspannung im Stecker kaputt ist. Und wenn man mehrere Sensoren auf dem Bus hat gibt es sehr merkwürdige Ergebnisse, empfehlenswert ist das also nicht. Das doofe ist: es gibt Ergebnisse. Wenn gar nichts geht kommt man schnell auf die Idee zu messen. Wenn aber der Bus die Geräte sieht, diesen aber keine Ergebnisse entlocken kann, ist das… irreführend.
Naja: Gefahr erkannt, Gefahr gebannt. Heute habe ich mein aktuelles Mikrocontroller-Projekt in Betrieb genommen. Ein Gehäuse fehlt noch, dann mache ich ein paar Fotos und veröffentliche es. Vielleicht auch ohne Gehäuse, dann wird das diese Woche noch was.
Schlag auf Schlag: Ich habe nicht vor, jetzt jede Woche ein neues Projekt auf die Seite zu stellen. Ideen hätte ich genug, aber nicht ansatzweise die Zeit um alles umzusetzen. Im Moment drängt es mich aber etwas, mein nächstes größeres Projekt fertig zu kriegen, unter anderem habe ich deshalb auch letzte Woche schnell die Tastatur fertig gemacht. Hier geht es um einen Teil des nächsten Projektes.
Vor einer ganzen Weile habe ich mal billig einen Posten Siebensegmentanzeigen gekauft. Die sollen jetzt mal zum Einsatz kommen. Grün, vierstellig, gemeinsame Anode (letzteres ist der Grund warum ich doch nicht auf Charlieplexing zurückgreifen kann). Die haben also 12 Pins an der Unterseite: acht Segmente und jeweils eine Anode pro Ziffer. Ich werde zwei davon brauchen. Die Segmentanschlüsse kann ich jeweils verbinden, die Anoden muss ich vom Controller aus einzeln ansteuern. Also acht Segmente plus acht Anoden, macht 16 Pins. So viel habe ich nicht frei.
Sicher könnte man da was mit anderen Bausteinen machen, ich habe mir meinen eigenen gebaut. Einen ATmega8 der per I2C zu steuern ist, und der diese Aufgabe spielend übernehmen kann. So brauche ich an meinem ‘Hauptprozessor’ nur noch die zwei Pins für den I2C-Bus. Außerdem verlagert sich der Job, die LEDs zu Multiplexen in den anderen Controller. So muss ich beim Programmieren auch nicht auf das Timing achten damit die LEDs nicht flimmern.
Das ganze habe ich schön dokumentiert und freigegeben, unter dem nicht sehr originellen Namen I2C LED Matrix.
‘Matrix’ deshalb weil man an den Baustein einfach eine Matrix aus 8×8 LEDs anschließen kann. Das müssen nicht unbedingt Siebensegmentanzeigen sein. Der Vorteil ist, dass man so beliebige Zeichen darstellen kann, Nachteil dieser Flexibilität ist allerdings auch dass man sich die Zeichen auf dem steuernden Controller erstmal definieren muss. Naja, schwer ist das aber auch nicht, ein Beispiel habe ich auf der Seite.
Vielleicht kann das ja jemand gebrauchen. Und bevor die Befürchtung aufkommt dass es hier jetzt nur noch uC-Basteleien gibt: ich fürchte bis das angekündigte größere Projekt fertig wird, wird einige Zeit ins Land gehen… hoffentlich nur ein paar Wochen, aber… wer weiß?
Als ich letzte Tage das Dulcimer-Projekt vorgestellt habe, habe ich auch eine Mail an Objective Development geschrieben. Das sind die Leute die den USB-Treiber gemacht haben den ich jetzt zum wiederholten Mal benutzt habe. Die haben Links auf alle USB-Projekte die damit gemacht wurden. Auf der Seite mit den HID-Geräten findet sich seit Gestern auch mein Dulcimer.
Die Seite habe ich mir in den letzten zwei Monaten auch öfter angesehen, weil ich andere Projekte gesucht habe aus denen ich lernen kann. Allerdings sind da in den letzten Wochen einige dazu gekommen, unter anderem RUMP - Real USB Model M PCB. Da hat offenbar jemand das gleiche Projekt gemacht wie ich, parallel und ohne es zu wissen.
Ich werde den jetzt gleich mal anschreiben und ihm meine Version vorstellen. Vielleicht will er sich ansehen wie ich es hingekriegt habe die LEDs der Tastatur zu benutzen. Ich werde seinen Algorithmus zur Verhinderung von Ghost-Keys nochmal eingehend studieren…
Zwei Kleinigkeiten habe ich gerade an dem Dulcimer-Projekt gefixt. Eine Fehlerkorrektur in einer Funktion die eigentlich eh nicht aufgerufen wird. Naja, später schon, wenn die Tastatur zusätzliche Features kriegt. Jetzt habe ich die nämlich beim Debuggen benutzt. Der andere Fehler ist für Nachbauer unangenehmer, und aufgrund der merkwürdigen USB-Spezifikation nicht leicht zu sehen: die Backslash-Taste ist da an zwei Stellen definiert. Und ich habe natürlich direkt die falsche gewählt… :-/
Naja, ist gefixt. Die neuen Pakete stehen zum Download auf der Seite.
Wenn ich mal wieder ein Projekt habe in dem ich viele LEDs ansteuern möchte werde ich der Technik namens Charlieplexing ein paar Gedanken widmen. Nur beschaltet mit ein paar Widerständen kann ein Controller mit n Pins (n*(n-1)) LEDs schalten. Das wären (wenn man einen Quarz und Reset nicht belegen möchte) 210 mit einem ATtiny2313, 380 mit dem ATmega8 oder sogar 992 mit einem ATmega32 oder ATmega644…
Das Autoquarium ist zwar mittlerweile auch fast fertig (in der ersten Ausbaustufe), aber zwischenzeitlich habe ich mich noch einem weiteren Projekt gewidmet. Das ist seit gerade eben online. Ebenfalls in der ersten Ausbaustufe: Dulcimer.
Der Name klingt erstmal nichtssagend, aber wer sich den grünen Kasten auf der Seite durchliest kann sich vielleicht denken warum ich ihn gewählt habe (Hint: wenn das nicht reicht kann man auch in der englischen Version spicken).
Um das auch hier nochmal kurz zusammenzufassen: es geht um eine ziemlich alte klassische Tastatur: die IBM Model M. Ich wurde gefragt ob ich die zu einer USB-Tastatur umbauen kann, und hier ist das Ergebnis. Wer mit dem Namen nichts anfangen kann möge sich vielleicht mal bei eBay die Preise ansehen für die diese ‘alten Dinger’ gehandelt werden…
Wie auch immer: diese eine spricht jetzt schon fließend USB. Und wenn ich Zeit dazu habe werde ich da noch ein paar Nettigkeiten einbauen. Ideen stehen ja schon auf der Seite, für neue bin ich immer offen. Eines meiner Ziele ist zum Beispiel — ohne mich über die Krankheit lustig machen zu wollen — eine (ein- und ausschaltbare) Tourette-Tastatur…

