Freitagsblog

... weil auch diese Woche ein Ende hat

Arduino-Plattform Bootcamp ?

EeeTop
Vergangenen Freitag hatten ja wieder mal kurz das Thema Microcontroller, u.a. Jochen's Wohnungs-Steuer-Plan. Ich plane selbst den Umstieg auf die Arduino-Plattform wegen der sehr aktiven Community und den modernen Schnittstellen, u.a. USB und Funk. Hat jemand Interesse an einem Bootcamp, ein bis zwei Tage intensiv basteln, löten, grübeln und programmieren? Wie wäre es Karfreitag / Ostersamstag?

Nachtrag: 11.02.2009 Aktuell bestelltes Buch, sollte morgen in der Packstation sein: Getting Started with Arduino (Make Projects). Auf der Do-it-yourself-Seite make: findet man Projekte aller Größenordnung, die mit dem Arduino realisiert wurden. Ich denke mal, das Speicher-Thema hängt halt auch vom genutzen Controller ab.

s'tickt (nicht)

AVRClock.serendipityThumbNach der Überwindung der anfänglichen SMD-Löt-Frustration "tickt" die Binär-Uhr nach dem Projekt von Thomas Wedemeyer jetzt, d.h. sie zeigt brav die aktuelle DCF77-Zeit an. Es  gab ein paar Verletzte, aber das waren bloß Lötpads und eine LED, die der jeweiligen Lötspitze und meiner Grobmotorik zum Opfer gefallen sind. Ein paar Bauteile weniger fallen auch gar nicht auf, wer braucht schon eine Power-LEDLaughing


Nach einer kleinen Modifikationen funktioniert die Uhr auch mit dem Pollin-DCF-Modul statt der Version von Conrad. Jetzt muss das noch in einen Bilderrahmen eingebaut werden und in ein paar Monaten ist sie dann auch schon fertig, ähem ... 

 

"s'tickt (nicht)" vollständig lesen

Streichholz-Puzzle die zweite

Es lässt mir irgendwie keine Ruhe. Gestern bin ich beim Zappen bei einer der üblichen Schmuddel-Hot-Button-Sendungen hängengebleben die gerade eine Streichholz-Aufgabe 25+52+25=172 zeigte. Unsere Programme können ja nur die Form x+y=z, man müsste ein Script haben, das eine beliebige Aufgabe als String schluckt. Dann braucht man nur noch einen Math-Interpreter zu schreiben oder zu besorgen, der den String ausrechnet und mit True oder False antwortet. Für die Ersetzungen muss man das Ganze nicht binärisieren, sondern kann einfach einzelne Zeichen des Strings ersetzen. Beispiel: Aus 2 kann nur 3 werden. Aus 5 kann 3, 6 oder 9 werden, wobei ein zusätzliches Streichholz gebraucht wird oder nicht. Aus 4 kann 11, 7 oder 9 werden je nachdem, ob man diese Unsauberkeit zulässt (Option). Auch die Operatoren sind ja nur Zeichen, sodass man z. B. aus dem - ein + oder = oder / machen kann. Müsste doch zu schaffen sein...

Schalte mit 10-Kanal-Lauflicht

Front Rückseite (wenig repräsentativ ;-) Schalte1_Pollinboard.serendipityThumb  

Der Vollständigkeit halber hier die Daten zur LED-Bastelei von Freitag:

  • µController: Atmel ATtiny13 mit 64 Bytes (:-)) RAM
  • 10 bernsteinfarbene Superflux-LEDs von Pollin mit 3000 mcd
  • Stromversorgung mit einer Schaltung von www.mikrocontroller.net
  • es werden nur 4 Ausgänge des ATtiny13 benutzt, damit ließen sich 12 LEDs ansteuern ...
  • ... aber nur mit Charlieplexing , kurz gesagt, man schaltet je 2 LEDs paarweise gegeneinander und hängt sie zwischen zwei Ausgänge des Controllers, die man abwechselnd hin- und herschaltet
  • die Schaltung orientiert sich an diesem Beispiel hier (Vorsicht, Musik), auf Basis einer Standard IC-Platine von Conrad (habe sie nicht gezeichnet, lohnt sich nicht - glaube ich)
  • ganz links ist ein alternativer Stromanschluß, der wg. Massepotenzial für die Programmierung des ATtiny in der Schaltung benötigt wird
  • rechts daneben ist der ISP-Anschluss, sehr simpel aus einem alten USB-Verbinderkabel für Mainboards gebastelt
  • mit diesen beiden Anschlüssen kann man das für die Programmierung benutzte Pollin-Board (Anmerkung 18.5.: oha, das scheint es derzeit nicht mehr zu geben, eine Alternative könnte das Funk-Evaluationsboard sein, Artikel 810 046) sozusagen als Konverter zwischen dem seriellen Anschluß des PCs (geht natürlich auch mit dem Parallel-Port) und der Schalte benutzen
  • Programmiert wird mit AVR-Studio und Ponyprog zur Übertragung in Assembler (weil es nicht viel anders ist als 6502-Assembler)
  • das Programm macht Folgendes:
    - es schaltet dauernd alle LEDs mit ihren jeweiligen Helligkeitswerten durch, diese werden im RAM des µC gespeichert
    - die Helligkeitswerte werden für eine Pulsweitenmodulation benutzt (Software-PWM)
    - dann werden diese Helligkeitswerte mit Mustern belegt, die vorher aus dem EEPROM ins RAM kopiert wurden
    - diese Muster ergeben dann die Animation (es wird im Programm nur SEQ1 benutzt), ein Muster ist also 10 Bit lang
    - je 8 Bit werden in einem Byte gespeichert, die anderen beiden Bits sind in Vierergruppen in einem Byte gespeichert (64 Bytes RAM)
    - der Übergang von Aus-Ein und Ein-Aus wird über eine Effektschleife gesteuert, so dass die LEDs langsam ausgeblendet werden und ein "trailing effect" entsteht
    - über den Taster wird die Abspielgeschwindigkeit des Effekts erhöht und nach Erreichen der maximalen Geschwindigkeit wieder zurückgesetzt und der Effekt umgekehrt abgespielt
  • hier ist der Quellcode dazu (belegt 399 Byte)
  • und noch ein kleines Video (7 MB, nicht ganz optimal, weil der Status des RS-232-Interfaces an den LEDs ablesbar ist - ist manchmal auch praktisch)

 

CCzwei Bastelprojekt geht los

Das von Wolfgang & Wolfgang angekündigte neue Bastel-Projekt geht los: Ein Atmel AVR CPU Testboard in Zusammenarbeit mit der guten alten Elektor .

 

Erste Details sind im Forum der CC2 Seiten zu lesen, es gibt ein Bild und den Schaltplan. Lötkolben und Aufbau-Equipment gibts hier bei mir, also wer mitmachen will: Daran soll es nicht scheitern :-)

 

AT