Tag-Archiv für » Mikrocontroller «

Dienstag, 05. Februar 2013

130205_raspberryZwei Fliegen mit einer Klappe: vorhin habe ich erst meinen neuen Arduino darauf getrimmt, mittels eines DHT11 die Luftfeuchtigkeit und die Temperatur zu messen. Um das mal ein paar Tage zu beobachten habe ich das Ding jetzt an meinen — ebenfalls neuen — Raspberry Pi gehängt.

Den Raspberry hatte ich schon vor ein paar Tagen in Betrieb genommen. Das Betriebsssytemimage (Raspbian, ein spezielles Debian-Derivat) ist schnell von der Homepage heruntergeladen, entpackt und auf die SD-Karte installiert. Eigentlich dachte ich, dass ich einen Samstagabend mit der Inbetriebnahme totschlagen könnte, die ganze Aktion war aber nach zwanzig Minuten durch. Fast schon enttäuschend… :-)

Mit dem Arduino hat das Ding jetzt sein erstes kleines Ämtchen bekommen: es misst Temperatur und Luftfeuchtigkeit. Die Daten werden dann von meinem Zabbix gesammelt und bei Bedarf visualisiert.

Das ist erstmal nur eine Spielanwendung, das ist keine dauerhafte Installation. Dafür wäre das mit Kanonen auf Spatzen geschossen. Sowohl für den Raspberry als auch für den Sensor habe ich andere Pläne. Aber trotzdem finde ich es nett zu sehen, dass man sich auf die Weise schnell mal eine netzwerkfähige Sensorik zusammenbauen kann. Nett!

Dienstag, 05. Februar 2013

Arduino Nano mit DHT11

Arduino Nano mit DHT11

Mit Mikrocontrollern an sich bastele ich ja schon ein paar Jahre herum. Die erste Schaltung war ein Bausatz mit allen Teilen, samt Platine. Mit Ausnahme eines Pollin AVR-Net-IO habe ich ansonsten meinen Kram immer selbst auf Platine verewigt. Die Arduino-Plattform fand ich zwar immer interessant, allerdings nie genug dass ich mir einen gekauft hätte.

Kürzlich habe ich eine Hand voll Sensoren gekauft, um damit zu spielen. Unter anderem einen DHT11, der hat eine Art One-Wire-Interface und gibt darüber die Temperatur und die Luftfeuchtigkeit aus. Dummerweise ist das nicht wirklich One-Wire, also nicht kompatibel zu dem was Dallas spezifiziert hat. So konnte ich das mit meinem Bus Pirate nicht ohne weiteres auslesen.

Um einfach mal zu sehen was der Sensor von sich gibt ist ein Arduino die perfekte Lösung: mit dem Arduino Nano und einem Steckbrett ist die Schaltung schnell zusammengesteckt (geplant hatte ich die ja letzte Woche schon :-) ). Die IDE ist auf meinem Arch Linux einfach aus dem AUR zu installieren, und die Bedienung ist trivial. Speziell für diesen Sensor hat Lady Ada ein hervorragendes Tutorial samt passender Bibliothek veröffentlicht, so konnte ich Heute nach kurzem Einlesen die Messwerte von der seriellen Schnittstelle ablesen.

Ich denke wenn ich wirklich ein Projekt verwirklichen will werde ich auch in Zukunft lieber selber basteln. Um aber nur mal schnell was auszuprobieren scheint so ein Arduino aber wirklich eine prima Plattform zu sein. Und für Einsteiger in die Materie sowieso. Meine Empfehlung!

Montag, 28. Januar 2013

Der Plan steht

Der Plan steht

Erstaunlich, dass ich mich damit noch nie befasst habe: Fritzing ist ein Programm mit dem man komfortabel kleinere Elektronikprojekte zeichnen kann. Und zwar nicht (nur) als Schaltplan.

Einsteiger in die Materie Elektronik sind meiner Ansicht nach gut beraten, sich ein Steckbrett und ein paar Bauteile zu kaufen und loszulegen. Will man denen vermitteln wie eine Schaltung auszusehen hat, oder wollen sie Fragen zu ihrem Projekt stellen, wird es schwierig. Ein ordentlicher Schaltplan würde vielleicht helfen, vom Steckbrett auf den Plan zu abstrahieren ist aber nicht jedermanns Sache.

An dieser Stelle kommt Fritzing zum Einsatz. Man kann mit der Software auch richtige Schaltpläne zeichnen, die besondere Stärke liegt aber im einfachen Zeichnen von Breadboards und den darauf aufgebauten Schaltungen.

Gestern habe ich beispielsweise einen Arduino Nano geordert. Sobald der hier ist werde ich die abgebildete Schaltung aufbauen, da ich etwas mit dem Sensor spielen möchte. Anhand des Bildes kann ich jedermann klar machen was ich vorhabe, und wie der Aufbau aussehen wird.

Meine größeren Schaltungen werde ich wohl weiterhin mit KiCAD zeichnen, trotzdem glaube ich dass ₣ritzing meinen Werkzeugkasten auf jeden Fall bereichern wird.

Dienstag, 11. Dezember 2012

Ich habe eine Menge Tastaturen, aber leider kein Modell von NeXT. Lady Ada hat ein Projekt vorgestellt in dem sie einen Converter gebaut hat mit dem das proprietäre NeXT-Gerät an USB angeschlossen werden kann.

Freitag, 27. April 2012

Ein sehr cooles Projekt: da hat ein findiger Tscheche sich selbst ein Mobiltelefon gebaut. Ich finde das mit dem Touchscreen schon fast etwas übertrieben, ein richtiges minimal-Projekt hätte mir sogar noch besser gefallen. Aber auch so: echt cool!

Montag, 20. Februar 2012

Eine Uhr die dazu gebaut wurde, Besucher zu verwirren? Genial! Man braucht lediglich eine gut ablesbare Uhr mit Sekundenzeiger, nach Möglichkeit eine die laut tickt. Daraus baut man eine Uhr die immer noch exakt die Zeit anzeigt, deren Sekundenzeiger aber offenbar sehr willkürlich springt… :-)

Dienstag, 13. Dezember 2011

Ich hatte mir ja vor einiger Zeit einen Bus Pirate gekauft (und damit dann mein OLED befeuert). Gerade bin ich über einen Clone gestolpert der vielleicht gerade für AVR-Bastler — der originale Pirate basiert auf PIC — interessant sein könnte: Bus Ninja.

Q. Why is it called Bus Ninja?
A. Because Ninjas are better than Pirates and Yarrrrrduino sounds silly.

Das sollte also auf einem Arduino funktionieren, den hat vielleicht der eine oder andere eh rumliegen. Wenn ich jetzt spontanen Bedarf hätte könnte ich mir mit den Teilen die ich habe was passendes zusammenstellen.

Allerdings habe ich aktuell keinen Bedarf: den Piraten habe ich ja schon, und der wird mir auch weiter gute Dienste leisten. Bin immer noch überzeugt von dem Ding, der Ninja nur nach einer interessanten Alternative.

Vielleicht wäre die Firmware auch für den USBprog portierbar. Der ist halbwegs verbreitet, und das würde den meiner Meinung nach nochmal deutlich aufwerten. Meinen USBprog wollte ich ursprünglich auch als Logic Sniffer benutzen, das habe ich aber nie vollständig befriedigend hingekriegt. Dafür habe ich mittlerweile den OBLS, seitdem ist der USBprog nur noch Programmer — und als solcher eigentlich zu schade…

Sonntag, 04. Dezember 2011

Irgendwann will ich mal selbst eine Platine zusammenbraten auf der ein echtes Linux läuft. Ohne einen besonderen Einsatzzweck, einfach nur weil es geht. Inspiration in die Richtung bietet Gnublin. Im Prinzip ist das schon alles, und sogar komplett Open Source. Einschließlich des Schaltplans. Nur der ARM-Controller lässt sich nicht von Hand löten…

Freitag, 25. November 2011

Gerade habe ich erstmalig von GKOS gehört. Das ist wohl ein Konzept für eine Tastatur mit nur sechs Tasten, gedacht für kleine Eingabegeräte. Wenn man sich die Beispielvideos ansieht scheint das auch ganz passabel zu funktionieren, auch wenn ich mich frage wie lange ein Bewegungslegastheniker wie ich bräuchte um das zu verinnerlichen…

Vielleicht wäre das mal wieder ein interessantes Bastelprojekt. Wie man grundsätzlich eine USB-Tastatur baut weiss ich ja durch das Dulcimer-Projekt

Dienstag, 22. November 2011

Ich habe gerade ein weiteres Bastelprojekt online gestellt: die Fotokiste die den meisten Gästen unserer Hochzeit im Sommer 2010 noch in Erinnerung sein dürfte. Naja, dem einen oder anderen vielleicht auch nicht mehr… aus dem einen oder anderen Grund. :-)

Diesmal ohne Downloads, aber es war eh nur eine Kombination aus dem Schaltplan des USB-Servos und der Firmware der Dulcimer-Tastaturen.

Ich habe die Kiste mittlerweile wieder zerlegt. Die ist nur auf dem Polterabend und der Hochzeit eingesetzt worden. Dabei sind aber mehr als 1.300 Bilder entstanden — und wir freuen uns immer noch über jedes einzelne. :-)

Ach ja, und: Nein, ich habe nicht nur geheiratet um da ein Mikrocontroller-Projekt raus zu machen! ;-)

Donnerstag, 12. Mai 2011

Sieht so aus als ob man in absehbarer Zeit anfangen kann, selbst irgendwelche Gadgets zu bauen die man an ein Android-Telefon oder -Tablett anschliessen kann. Das ganze basiert auf Arduino, ist also völlig frei zu nutzen. Ich kann es kaum abwarten zu sehen was den Leuten einfällt…
Edit: Und man muss offenbar nicht unbedingt das teure Kit kaufen, es geht auch mit Standard-Arduino. Bin ich eigentlich von ausgegangen…

Sonntag, 17. April 2011

Open Bench Logic Sniffer an meiner Binäruhr

Open Bench Logic Sniffer an meiner Binäruhr

Vor einer Weile hatte ich meiner Begeisterung über den Bus Pirate Ausdruck verliehen. Gestern habe ich ein neues Spielzeug ausprobiert das von den gleichen Machern stammt: der Open Bench Logic Sniffer.

Es handelt sich dabei um einen Logic Analyzer, also ein Werkzeug mit dem man sich den Signalverlauf auf mehreren digitalen Leitungen ansehen kann. Solche Geräte sind normalerweise sehr teuer, und selbst für ein gebrauchtes Stück Hardware legt man noch mehrere hundert Euro hin. Es gibt deshalb eine ganze Reihe von Ansätzen, sowas als Bastelprojekt zu bauen. Unter anderem kann man auch den oben erwähnten Bus Pirate dazu benutzen, auch für den USBprog den ich hier habe gibt es eine passende Firmware. Der Nachteil an diesen Dingern ist aber, dass sie langsam sind: die gelesenen Signale müssen verarbeitet und weitergeleitet werden, damit ist der kleine Mikrocontroller auf denen die beiden Lösungen basieren schwer überfordert.

Ausgefeiltere Ansätze — und dazu zähle ich den Open Bench Sniffer — basieren auf einem FPGA. Das ist etwas komplexer, aber der ist in der Lage die Daten schnell genug aufzunehmen und zwischenzuspeichern. Das Ding arbeitet mit bis zu 200MHz, und das bei bis zu 32 Kanälen. Mehr als genug also für Hobbyanwendungen.

Auge in Auge mit I2C

Auge in Auge mit I2C

In einem freundlichen Mailwechsel nach dem Kauf des Bus Pirate habe ich dem Betreiber von eHaJo gegenüber erwähnt dass ich auch Interesse an diesem Gerät habe, und am Dienstag hat er mich darüber informiert dass er ein paar importiert hat. Mittwoch habe ich bestellt, am Freitag war das Päckchen da. Gekauft habe ich die Platine und zwei Kabelsätze, so bin ich für Messungen auf bis zu 16 Kanälen gewappnet. Zusammen also 55 Euro plus Versand. Wirklich günstig für den Gegenwert finde ich.

Da ich für diese Lösung im Moment eigentlich kein passendes Problem habe, ich das aber auf jeden Fall schon mal ausprobieren wollte, musste meine Binäruhr nochmal zeigen was in ihr steckt. Die LEDs werden auf dem Ding von einem SAA1064 angesteuert, der Controller kommuniziert damit per I2C-Protokoll. Es gibt also eine Clock- und eine Daten-Leitung. Mit den Klemmen habe ich also den Sniffer an die beiden Pins angeschlossen, sowie an Masse. Dann die passende Software gestartet, und los geht’s.

I2C dekodiert

I2C dekodiert

In der Oberfläche kann man schnell klicken was mitgeschrieben werden soll: wie viele Kanäle, bei welchem Zustand die Messung getriggert werden soll, wie viele Messpunkte in welchem Abstand genommen werden sollen und vieles mehr. Dabei sind offenbar auch komplexe Trigger möglich, im Falle von I2C reicht es die Messung zu starten wenn beide Kanäle auf 0 gehen. Wenn die Parameter richtig gesetzt sind ist es sehr simpel die Daten mitzuschreiben: auf Klick schaltet das Programm die Hardware scharf, und sobald der geforderte Trigger auf den Leitungen zu sehen ist wird gemessen. Die Messwerte sind dann als Diagramm zu sehen. Darin kann man zoomen, scrollen und beispielsweise Abstände zwischen Signalen messen.

Das wirklich coole kommt dann: wir haben I2C-Daten mitgeschrieben. Das Programm verfügt über ein Tool mit dem diese Daten direkt in mehr oder weniger lesbare Daten decodiert werden können. Man erhält also detaillierte Informationen darüber wann welches Byte über die Leitung gegangen ist. Die erhaltenen Daten können auf verschiedene Arten zur weiteren Analyse exportiert werden, unter anderem als schicke HTML-Tabelle.

In diesem Fall wurden übrigens alle vier LED-Zeilen der Uhr neu befeuert, man kann mit etwas gutem Willen also tatsächlich der Tabelle entnehmen wann wir die Messung vorgenommen haben. Mit Funkuhr-Genauigkeit. Und es ist nicht viel schwieriger abzulesen als die Uhr an sich. Hint: wir sehen die Uhrzeit, BCD-kodiert und vertikal dargestellt. Wer mir als erster die Zeit in die Kommentare schreibt wird von mir anerkennend als Geek tituliert… :-D

Mein Fazit: das Ding ist sein Geld in jedem Fall wert, und ich kann mich an mehrere Situationen erinnern bei denen mir ein solches Werkzeug echt weitergeholfen hätte. Ich kriege nichts dafür das zu schreiben, aber auf jeden Fall gebe ich eine Kaufempfehlung für jeden ambitionierten Mikrocontroller-Bastler!

Freitag, 18. März 2011

Über eine Wärmebildkamera habe ich auch mal nachgedacht. Letztens noch im Reichelt-Katalog welche gesehen, ab 1.800 Euro aufwärts. Cooles Projekt, und mit den Informationen auf der Seite kann man sich das ziemlich idiotensicher nachbauen… Mal im Hinterkopf behalten…

Donnerstag, 10. März 2011

Wenn ich mir ansehe wie einfach es ist, einen FM-Transmitter zu bauen kommen mir direkt Ideen für einen Geocache…

Mittwoch, 19. Januar 2011

Ich habe ja letzte Tage schon meine Passion für merkwürdige Uhren erwähnt… diese hier öffnet aber eine völlig neue Dimension: die Lunchtime Clock dehnt die Zeit in der Anzeige dermassen dass die Mittagspause an jedem Tag 12 Minuten länger ist. Macht wöchentlich eine Stunde Pause für den Arbeitnehmer — so lange es nicht auffällt. :-)

Montag, 17. Januar 2011

OLED am Bus Pirate

OLED am Bus Pirate

Am Wochenende habe ich mich mal etwas mit zwei neuen Spielsachen beschäftigt. Hier der aktuelle Spielstand:

Für eines meiner nächsten Projekte möchte ich ein kleines farbiges Display verwenden. Ich war erstaunt dass man kleine OLEDs teilweise wirklich günstig kaufen kann. Es gibt verschiedene Größen, ich habe mir erstmal das mit einer Auflösung von 160×128 Pixeln vorgenommen. Das ist etwa so gross wie eine Sonderbriefmarke. Dieses Display gibt es wiederum in zwei grundlegenden Varianten: einmal als ‘dummes’ Display, da ist zwar ein Controller dabei aber man muss die Verwaltung komplett selbst übernehmen. Der Spass kostet an verschiedenen Stellen knapp 40 Euro.

Und es gibt die Variante die ich gekauft habe. Die nennt sich uOLED-160-G1 (Specs) und ist mit 63 Euro spürbar teurer. Aber auch spürbar angenehmer: auf dem Modul ist ein recht intelligenter Controller verbaut. Der übernimmt die eigentliche Ansteuerung des Displays. Angesprochen wird er über eine einfache serielle Schnittstelle, darüber frisst er nicht nur ‘male einen Punkt an dieunddie Stelle’, sondern auch komplexere Anweisungen (Befehlssatz): Kreise oder Polygone malen, Text darstellen, Font ändern…

Ich muss mich in meinem kleinen Mikrocontroller also nicht mehr damit rumschlagen wie ich den Grafikspeicher verwalte, wie ich einen Kreis auf den Schirm kriege, oder wie ich eine Linie von hier nach da zeichnen kann. Sehr praktisch, das ist nämlich erfahrungsgemäß recht aufwändig für die Hardware.

Und es kommt noch besser: enthalten ist auch ein Steckplatz für eine MicroSD-Karte. Darauf können Daten, Bildchen oder kleine Videos abgelegt werden die dann direkt vom Display abgespielt werden können. Ich freue mich darauf, damit alberne Sachen zu machen… :-)

Natürlich möchte man mit so einem Teil erstmal etwas rumspielen und Erfahrungen sammeln. Normalerweise krame ich dazu das Steckbrett raus und baue mir eine kleine Schaltung die das Ding befeuern kann. Dann etwas C schreiben, compilieren, flashen, testen. Wieder C schreiben, compilieren, testen… und so weiter.

Das geht einfacher. Kommen wir also zum zweiten neuen Spielzeug: ein Bus Pirate.

Als fertiges Modul kostet der zusammen mit Kabelpeitsche und Gehäuse etwas über 30 Euro. Ich habe meinen bei eHaJo gekauft — sympathischer kleiner Händler, die Ware war nach einem unkomplizierten Einkauf schnell da. Wer die Ausgabe scheut kann sich das Ding auch selbst bauen, es handelt sich hier um Open Source Hardware. Ich bereue den Kauf aber nicht, das Modul ist wirklich professionell gefertigt und seinen Preis absolut wert.

Aber was tut es? Ich kann es nicht besser formulieren als die Entwickler:

The Bus Pirate is an open source hacker multi-tool that talks to electronic stuff.

Ich schliesse das Ding mittels USB an mein Notebook an. Es erscheint als /dev/ttyUSB0, dorthin kann ich mich per screen verbinden und bekomme eine Kommandozeile. Jetzt schliesse ich am anderen Ende irgendein (geeignetes) Bauteil an mit dem ich kommunizieren möchte. Da geht alles was die unterstützten Protokolle (unter anderem 1-Wire, I2C, SPI, JTAG, MIDI, PC keyboard, UART…) spricht, zur Not kann man aber auch direkt Pins ein- und ausschalten. Jetzt kann ich Sachen messen, Protokolle sniffen, oder eben auch spontan bestimmte Protokolle ‘sprechen’. Die kompletten Features geben eine Übersicht was möglich ist, die Dokumentation zeigt dann wie es geht.

In meinem speziellen Fall klemme ich also vier der Klemmen an mein OLED an (GND und VCC zur Spannungsversorgung, sowie TX und RX für UART-Kommunikation), gehe per Kommandozeile in den UART-Modus und schalte dort erstmal die Stromversorgung für das Display ein. Jetzt kann ich einfach an der Kommandozeile Werte (sprich: Kommandos) eingeben die dann direkt an das Display gesendet werden.

Der Bus Pirate enthält sogar eine Art Basic-Interpreter, damit habe ich dann spasseshalber das Testbild programmiert das auf dem Foto zu sehen ist. Ich hätte das aber auch auf dem PC in irgendeiner anderen Sprache machen können, der Bus Pirate kann auch direkt aus Perl, Python oder C angesprochen werden.

Alles in allem war das ein erfolgreiches Wochenende. Und im Moment glaube ich dass das Display für mein angedachtes Projekt die richtige Wahl ist, da kann die Planung also weitergehen…

Dienstag, 30. November 2010

USB-LED-Fader auf Steckbrett

USB-LED-Fader auf Steckbrett

Gestern hat mich jemand mit dem Namen Ilie Catalin — zumindest glaube ich dass das der Name ist — wegen meines USB-LED-Faders kontaktiert. Er hat den auf einem Steckbrett nachgebaut um zu verstehen wie es funktioniert und um damit weiter zu basteln, und er hatte ein paar Fragen dazu.

USB-LED-Fader auf Steckbrett

USB-LED-Fader auf Steckbrett

Ich hoffe dass ihm meine Antworten geholfen haben. Er hat mir in Gegenzug ein paar Bilder seines Aufbaus geschickt. Danke dafür! Es ist immer schön zu sehen wenn jemand was mit den Sachen anfangen kann die man veröffentlicht. :-)

Freitag, 19. November 2010

Lustige Idee: einen Spielzeugtresor mit einem Mikrocontroller umrüsten, USB-Schnittstelle rein, und als Hacker-Spiel verschenken. Cool. :-)

Freitag, 05. November 2010

Sich seine Visitenkarten selbst zu löten hat sicher was cooles. Das Design — es nutzt übrigens den gleichen USB-Treiber wie einige meiner Projekte — an sich ist aber interessant. Damit kann man sich jede Menge Kleinkram vorstellen der an USB nützliche oder nervige Sachen macht — und dabei kaum zu sehen ist. ;-)

Freitag, 29. Oktober 2010

Seit ich vor etwa zehn Jahren meinen Hochgeschwindigkeits-Fotoblitzauslöser veröffentlicht habe werde ich regelmäßig angeschrieben. Erstaunlich viele Leute wollen mir das Ding abkaufen, eine Bauanleitung oder einen Nachbau haben. Ich habe die bislang alle vertröstet: dummerweise habe ich damals meinen Aufbau nicht dokumentiert, deshalb wäre ein Nachbau sehr schwierig. Und da ich mich jetzt mit Mikrocontrollern beschäftige — das Ding war damals noch aus diskreten Teilen gebaut — könnte ich das besser von Grund auf neu entwickeln. Einfacher, und mit deutlich mehr Funktionen.

Das wird wohl nicht mehr nötig sein.

Mein Projekt war immer noch in der Ideensammlungsphase, mit einem sehr hohen Irgendwann-Faktor. Immer wenn ich was gefunden habe was irgendwie in die Richtung ging habe ich mir das gesichert. Heute habe ich wieder was gefunden…

Das Projekt nennt sich Photoduino. Es kann alles was ich mir vorgenommen hatte, und sogar noch etwas mehr (z. B. einen zweiten Blitz steuern). Der einzige Unterschied ist, dass ich es mir unnötig kompliziert gemacht hätte indem ich die Schaltung komplett selbst gemacht hätte. Photoduino basiert auf einem Arduino. Das ist auch nicht schlechter als mein Ansatz, muss ich zugeben. Höchstens etwas teurer, dafür aber auch unkomplizierter.

Das einzige was ich mir hier noch als Betätigungsfeld denken könnte ist, wirklich ein eigenes Board dafür zu entwerfen. Mal sehen, wenn ich mal wieder keine Ideen für Bastelprojekte habe vielleicht… oder wenn ich selbst Bedarf an so einem Ding habe.

Aber auch wenn meine Projektqueue jetzt ein Element kürzer ist, sie ist noch lange nicht bei Null. :-)