Programmierwettbewerb zum ATtiny13  

Oster-Contest 2013                 

Elektronik-Labor  Projekte  AVR 

 

Haben Sie um Ostern herum etwas Zeit zum Programmieren? Dann machen Sie doch mit bei diesem kleinen Programmierwettbewerb!

Immer wenn ich eine kleine überschaubare Aufgabe im Bereich Messen und Steuern lösen will, schaue ich zuerst auf den kleinsten Controller der AVR-Serie, den Tiny13. Ich finde das faszinierend, was der alles kann, und das bei Kosten unter einem Euro. Und meistens verwende ich Bascom, weil es damit einfach schneller geht. Bascom macht Spaß! Aber auch Assembler sollte man kennen! Und auch C ist natürlich nicht zu verachten.

Und was die Hardware angeht, so kommt in den meisten Fällen meine kleine Platine aus dem Lernpaket Mikrocontroller zum Einsatz, und zwar meistens mit dem dort verwendeten Bootloader. Das Lernpaket selbst  verwendet zwar im Schwerpunkt Assembler, und Bascom und C werden nur kurz vorgestellt. Aber seitdem ist Bascom mehr und mehr zu meinem wichtigsten Werkzeug geworden. Aber wenn es um höchste Effektivität geht, kommt man nicht an Assembler oder C vorbei.


Der Assembler-Kurs

Zurück zu den Wurzeln! Das ist die Devise für diesen zeitgleich abgehaltenen Assembler-Kurs von Heinz D. Stellen Sie sich vor, Sie hätten zwar einen Tiny13, aber keinen PC, oder es gibt einen kompletten Stromausfall, nichts geht mehr. Dann können Sie nicht einmal mehr Ihren Tiny13 programmieren, dachten Sie? Dachte ich auch. Aber dieser Kurs zeigt, wie es trotzdem geht! Am besten ausdrucken und für Notfälle bereitlegen. Wer genau weiß wie es geht, der kann auf alle Hilfsmittel verzichten. Eine Steckplatine, zwei Tastschalter, eine Batterie oder Solarzelle, und schon können Sie den Controller Bit für Bit programmieren. Das ganze erinnert etwas an die Tastenprogrammierbare Steuerung (TPS)  und heißt deshalb auch Tasten programmierbarer AVR (TPA).

Eins muss man allerdings zugeben, Maschinenprogramme mit zwei Tasten eintippen ist nur etwas für die ganz harten Programmierer. Falls Sie sich nicht dazu zählen, bietet der Kurs aber auch Alternativen an. Sie können die Platine aus dem Lernpaket Mikrocontroller zusammen mit der Programmiersoftware verwenden. Und Sie können sogar Bascom einsetzen und im Quelltext Assembler verwenden. Da schließt sich der Kreis. Wer das im Griff hat kann sogar gemischte Bascom/Assembler-Projekte entwickeln. 



Jetzt habe ich mal nachgesehen, welche Beispiele für den Tiny13 hier schon zu finden sind. Es sind jetzt bereits mehr als 30 Projekte, teilweise sehr einfache und teilweise sehr komplexe Anwendungen. Sie können als Basis für die eigene Einarbeitung dienen und eine Quelle für weitere Ideen werden:

Bascom-Beispielprojekte für den Tiny13  

Sechs LEDs an drei Ports
Fahrrad-Rücklicht mit Reaktiv-Modus
Tiny13 Touch-Slider
Tiny13-Steuercomputer für den SI4735
Programmierbarer Quarzgenerator
Milli-Lux messen
Tiny13-Morse-Uhr
Seriell-Morse-Wandler
Attiny13-Elbug
ATtiny13-Mutteruhr
Sailor's Clock
ATtiny13-IR-Fernsteuerung
Quarzpendler-Funkfernsteuerung
Tiny13 steuert 12-Bit-DA-Wandler
Zeitrelais mit dem ATtiny13
Gamma-Zufallszahlen-Generator
Radio-Stummschaltung mit Tiny13  
NF-Sinusoszillatoren mit Tiny13
Bewegter LED-Lauftext

Sammlung zehn kleiner Tiny13-Projekte:

Assembler-Beispiele für den Tiny13

Kaffeemühlen-Timer
Funkschalter FS20
Lauflicht mit Attiny13
Melodiengenerator, Herzfrequenz und Sirene

C-Projekte für den Tiny13

Ampelmodell und Lauflicht
Soft-UART


Der Wettbewerb

Es gibt hier zwar schon viele Projekte für den Tiny13, aber mit Ihrer Hilfe könnten es noch mehr werden! Deshalb wird dieser kleinen Programmierwettbewerb auszurufen. Wer schreibt das kleinste und feinste Tiny13-Programm in Bascom, C oder Assembler? Oder vielleicht haben Sie das passende Projekt ja schon in der Schublade...

Dies sind die Teilnahmebedingungen:
Auf spezielle Nachfrage: Eine Beschränkung zusätzlicher Hardware gibt es nicht, jeder darf dranbauen was er möchte.

Mitglieder der Jury sind:

Burkhard Kainka als Herausgeber dieser Seite
Heinz D.  (der seine eigenen Beiträge nicht selbst bewertet)
Ein erfahrener und zwei junge Leser des Elektronik-Labors, die anonym arbeiten möchten

Die Entscheidung der Jury ist verbindlich, der Rechtsweg ist wie immer ausgeschlossen.


Preise

Die fünf Einsender mit den besten Beiträgen erhalten je einen USB/Seriell-Wandler mit dem FT232R auf einer Experimentierplatine, die auch im Lernpaket Elektronik-Start mit USB verwendet wird.



www.ak-modul-bus.de/stat/usb_experimentierplatine_mit_dem_ft232r.html



Beiträge

TPA mit LED-Anzeige zweier Bytes  von Hermann Nieder 

Bascom:
50Hz-Taktquelle für den Attiny13-Timer von Ralf Beesner    
Lux-Meter, von DonElko   
Porterweiterung mit Portbaustein 82C43, von Michael Gaus   
Helligkeitsempfindliche LED, von Stefan Speckmann   
Tiny Candle, von  Stefan Speckmann
Go-Slow-Servosteuerung, von Volker S.
Multischalter MS1, von  Holger Fritzsch       
Sondersignalanlage für Modellfahrzeuge, von Martin Müller       
Nimm(5), von Volker S.         
Doppelblitz-Controller , von Paul Korn                
DMX Test-Sender, von Paul Korn     
LeoBot1, von Lukas(8) und Heinz D.     
Thermometer mit AD22100, von Ludwig Schüler
Wordclock13, von Heinz D.  (24.4.13)
Ganganzeige, von Heinz D.   (24.4.13)

    

Assembler:
Servotester, von Heinz D. (außer Konkurrenz)
Tiny-Fish, von Thomas Baum
VU-Meter oder Voltmeter,  von Heinz D.
Temperaturmessung ohne externe Hardware, von Thomas Baum
Würfeln mit Tiny15/13, von Gerd Sinnung
Melodiengenerator, von Alexander Fuchs        
Automatischer Klangregler, von Alexander Fuchs
Rauschgenerator, von Gerd Sinning
Timer ATtiny15/13,  von Gerd Sinning
Audio-Player, von Arne Rossius
Serielle Schnittstelle für UT70A,  von Arne Rossius            
Solar Charger, von Peter Krüger          
Stroboskop, von Gerd Sinning
Hex-Editor, von Thomas Baum

C:
Teeuhr, von Thomas Weihs
 

1.5.13: Wettbewerb beendet

Ich danke allen Teilnehmern für diese 30 spannenden Beiträge! Die Beiträge zeigen eine interessante Aufteilung auf die einzelnen Programmiersprachen. Bascom wurde am meisten verwendet und ist vor allem für kleine Projekte und den schnellen Einstig optimal. Sehr aufwendige Projekte kommen oft an Assembler nicht vorbei, denn damit holt man am meisten aus dem kleinen Controller heraus. C dagegen spielt seine Vorteile erst bei größeren Controllern aus und wird daher nicht so oft mit dem Tiny13 eingesetzt.  Der Tiny ist hier eher das Sprungbrett zu größeren Systemen.

Nun beginnt die Arbeit der Jury. Es gibt drei Kriterien: Originalität und Nutzen für den Leser, technische Qualität und die Qualität der Dokumentation. Es kann ein paar Tage dauern, bis alle Juroren ihre Einschätzungen abgegeben haben. Die Bekanntgabe der Sieger folgt dann an dieser Stelle.

Nachtrag: Die beiden letzten Bascom-Beiträge stammen vom 24.4.13, waren aber bis zum 1.5.13 in den Tiefen meiner Festplatte verschollen und werden jetzt nachgereicht. Und noch zwei Assembler-Beiträge habe ich mit etwas Verspätung bearbeitet. Jetzt sind insgesamt 30 Beiträge zusammengekommen. Durch den Contest ist eine stattliche Sammlung zahlreicher Tiny13-Projekte entstanden, die auch in Zukunft noch erweitert werden kann. 


Die Gewinner

Die Entscheidung war schwierig, weil viele Beiträge jeweils auf ihre Art den ersten Platz verdient hätten. Deshalb hat die Jury entschieden, nicht fünf Plätze zu ermitteln, sondern fünf gleichwertige Gewinner, sozusagen fünfmal den ersten Platz. Und dies sind die Gewinner in alphabetischer Reihenfolge:

Thomas Baum, Temperaturmessung ohne externe Hardware
Alexander Fuchs,  Melodiengenerator    
Arne Rossius,  Serielle Schnittstelle für UT70A         
Gerd Sinning, Rauschgenerator
Volker S., Go-Slow-Servosteuerung


Elektronik-Labor  Projekte  AVR