Ich bau grad für meinen kleinen Bruder (geht in die 5te) nen Miniroboter, mit nem Attiny26. (als Weihnachtsgeschenk)
Er wollte nen Roboter, aber nur irgendson einfachteil mit vorgefertigten abläufen wäre ja langweilig. Darum bau ich ihm einen mit MC. (ATiny weil man damit die meisten Grundlagen lernen und nutzen kann. Und wenn er dann doch nicht mit MCs weitermachen will, ist auch nichts verloren. Es gibt auch nicht allzuviele Spielereien)
Ich möchte meinem Bruder das Programmieren spielerisch damit beibringen. Es soll nicht soo ausführlich werden, aber immerhin die Grundlagen vermitteln (Pins ansprechen/ Auslesen, div. Schleifen, ADCs...). Zum Programmieren geb ich ihm die 4kB-Version von Bascom mit.
ISP-Adapter und Hauptplatine mit 2 H-Brücken (noch ungetestet und an 4 Pins fest angeschlossen), 2 Tastern vorne und einem hinten (beliebig anschließbar), n paar LEDs mit Vorwiederständen und ein Spannungsteiler aus Fotowiederstand und festem R (alles auch beliebig anschließbar) und ISP-Anschluss sind schon fertig. Motoren und Fahrgestell fehlen noch.
Der Attiny26 hat ja nen vollständigen Port A und auch B (PA0-PA7 und PB0-PB7). Da an PB schon ISP-Eingänge und Reset liegt, hab ich die 4 freien Pins von Port B an die H-Brücken fest angeschlossen. Port A ist durch IC-stecksockeldinger (KA wie die heißen) frei belegbar (mit LEDs, Tastern, dem Fotowiderstand oder ext. zeugs, das er sich frei selber bauen kann). Die ISP-Anschlüsse sind ja auser bei der Programmierung nicht belegt und können für eventuelle Erweiterungen herhalten (Lautsprecher etc., ist ja auch Vcc und GND dabei)
Es wird auch immer angegeben, was wo angeschlossen sein muss, damit die Programme (wie er sie von mir dann auf CD bekommt) funktionieren.
Ich habe mir dabei sowas gedacht:
- Kurze Einführung und Erklärung von Microcontrollern (Ports und deren Pins, wo die sitzen, also der Belegungsplan dazu). Dann noch wie er den Robby zum programmieren an den PC anschließt.
- 1. Programm: einfach eine LED blinken lassen, dazu die Erklärungen als Kommentare (ein wenig à la RN-Wiki, "erstes Programm übertragen")
[$regfile, $crystal, $hw/swstack, $framesize; Do-Loop; Pin als Ausgang deklarieren und im Programm schalten (1 oder 0); Waitms KURZ erklären]
(schon geschrieben, ich will aber noch einbauen, dass er die Pins mal verändern soll, und gucken soll was dann passiert.)
Auch eine Erklärung zum benutzen von BASCOM-AVR.
- 2. Programm: einen Eingang deklarieren und mittels If-(Else-)End if-Schleife auslesen lassen (auch wieder durch Kommentare erklärt, auch die internen Pullups)
- 3. Programm: hier weiß ich nicht so recht, ich würde noch nicht mit ADCs anfangen. vlt 'While-Wend'-Schleifen oder 'Do-Loop until...'? Oder doch ein wenig mit verschachtelten Schleifen anfangen? (mehrere if ineinander)
- dann vlt einfach eine Aufgabe :
'Schreibe ein Programm bei dem eine Rote LED an PA0 schnell blinkt, wenn der hintere Taster gedrückt ist, und wenn beide vorderen gedrückt sind, soll eine gelbe LED an PA2 leuchten. Ist einer der vorderen Taster aus, soll auch die gelbe LED aus sein. Ist der hintere Taster aus, soll auch die rote LED aus sein.'
( .txt-Datei, dann hats auch den passenden Stil :-] )
- wie weiter??? Da bräuchte ich hilfe...
- und dann natürlich noch die Steuerung der Motoren
Und nochn Bildle vom bisherigen Aufbau:
Bild hier
Die 4 grauen Kabel rechts oben sind für die Motoren. der größere der beiden Schalter ist zum resetten (bei nem Taster könnte man ausversehen drankommen, wenn man schusselig ist...) die anderen kabel sind die Stromzufuhr
Gruß, AlKi
Jeder Mensch lebt wie ein Uhrwerk, wie ein Computer programmiert...
==> UMPROGRAMMIEREN!
Kubuntu
Lesezeichen