Hallo,
ich habe mir für meine Präsentationsleistung in Informatik das Thema
Robotik ausgesucht und habe als Aufgabe eine Einleitung in die
Mikrokontroller Programmierung zu machen.
Dazu wurde mir ein fertiger Roboter gestellt mit einem ATMega 644-20PO.
Der Roboter ist mit einigen Sensoren und 2 Motoren ausgestattet.
Leider habe ich sozusagen keinerlei Vorkenntnisse in diesem Bereich und
alles was ich an Erklärung mit auf den Weg bekommen habe ist diese
Präsentation.
Ich habe mir überlegt das man den Roboter "ganz einfach" nach vorne
fahren lassen könnte und anhand dieses Beispiel dann die Funktion und
Verwendung von I²C und die Programmierung erklärt (so in etwa).
Leider werde ich aus diesem Dokument überhaupt nicht schlau. Ich glaube,
dass ich die Motoren irgendwie über IC $C6... bzw IC $C4... - weil das
ja ihre Adressen sind - ansprechen kann doch wie genau das
funktioniert...
Ich habe noch ein Beispielprogramm in dem die Motoren verwendet werden.
Das habe ich mal als Word Dokument mit angehängt.
Ich bin wirklich über jede Hilfe dankbar.
Liebe Grüße
Dominique Rademacher schrieb:> Ich habe noch ein Beispielprogramm in dem die Motoren verwendet werden.> Das habe ich mal als Word Dokument mit angehängt.
/Ironiemodus_an
ich sehe, du kennst dich aus. Alle gängigen Compiler verstehen
heutzutage docx-Quellcode, und unterstützen Microsoft Formate.
/Ironiemodus_aus
...
Ich kann auch die .bas Datei posten. Ich dachte vielleicht lässt es sich
ja so besser für andere lesen. Außerdem programmiere ich den
Mikrokontroller direkt und spiele die Programme nicht drauf.
/Ironiemodus_an
Aber vielen Dank.
/Ironiemodus_aus
Dann muss ich dir leider sagen, dass hier keiner freiwillig ein DOCX
File aufmachen wird.
Programmtext ist einfach nur Text. Mach dir nicht soviel Arbeit, sondern
poste den Text so wie er ist: Nackte Buchstaben ohne Formatierung.
Dominique Rademacher schrieb:> alles was ich an Erklärung mit auf den Weg bekommen habe ist diese> Präsentation.
Ich hoffe einige Lehrer oder die sich dafür halten,
lesen in diesem Forum auch mal mit.
Ich bin (als Ausbilder für Facharbeiter) immer wieder
geradezu geschockt, was andere Pädagogen unter
projektorientierter Ausbildung verstehen.
Aber sie können sich tagelang mit Power-Point
beschäftigen. Toll
Das musste ich einmal loswerden.
Eigentlich nag ich meinen Informatiklehrer sehr gerne.
Letztes Jahr hab ich meine Präsentationsleistung über Künstliche
Neuronale Netzte gehalten. Mich selbstständig ins Thema eingelesen und
dann ein Netz programmiert das gezeichnete Buchstaben erkennen konnte.
Das hat mir ziemlich Spaß gemacht.
Dieses Jahr läuft das allerdings nicht so gut... Ich steh ziemlich auf
dem Schlauch...
Deshalb hoffe ich hier Hilfe zu finden :)
> Leider werde ich aus diesem Dokument überhaupt nicht schlau.> Ich glaube, dass ich die Motoren irgendwie über IC $C6... bzw> IC $C4... - weil das ja ihre Adressen sind - ansprechen kann> doch wie genau das funktioniert...
Offenbar korrespondieren die IC Anweisungen mit den jeweils vorstehenden
DA Anweisungen.
Mittels DA werden die Daten festgelegt, die über I2C in die jeweiligen
Peripherie-Register geschrieben werden sollen und IC realisiert dann den
Transfer
DA 0,$15,$3
IC I,0,2
Das DA legt 2 Werte, beginnend ab einer Datenadresse 0 fest. Die Werte
sind $15 und $3
und IC überträgt dann diese beiden Werte per I2C an einen Baustein mit
der Adresse die sich in I befindet (zb $C2)
Die $15 scheinen konstant zu sein. das zweite Byte legt offenbar die
Geschwindigkeit der Motoren fest. Jeweils eine Hex-Ziffer pro Motor.
Soweit meine Arbeitshypothese. Ob das allerdings zur Beschreibung von
I2C taugt, wage ich mal dahinzustellen.
seltsamer Dialekt ist das ... Gosubs mit festen Zeilennummern ... ist ja
ätzend, bei Programmänderungen muss man das ganze Gesumse durch gehen
und die Zeilennummern anpassen. Sowas hab ich seit dem C64 nicht mehr
gesehen.
Der wichtigste Teil aber für I2C steht ganz unten versteckt: PCA9533
Schau Dir das Datenblatt von dem Kerl an, da sollte die Kommunikation
via I2C konkret drinnen beschrieben sein.
http://www.nxp.com/documents/data_sheet/PCA9533.pdf
4-Bit I2C LED-dimmer
EDIT: Hab mir das PDF mal angeschaut ... da steht ja alles schön drinnen
... hast Du das Ding auch mal gelesen oder gleich hier rein gestellt
dass andere sich Deinen Kopf zerbrechen?
Oooooh... natürlich! Jeweils eine Hex-Ziffer pro Motor -> daruaf wäre
ich wohl nie gekommen -.-
Dann hat sich der Rest auch grad geklärt außer, wieso $15?
Und wieso wird dann hier:
Dominique Rademacher schrieb:> Oooooh... natürlich! Jeweils eine Hex-Ziffer pro Motor -> daruaf wäre> ich wohl nie gekommen -.-> Dann hat sich der Rest auch grad geklärt außer, wieso $15?>> Und wieso wird dann hier:>
1
>'Motorschneller
2
>S=S+1:IFS>255S=255
3
>DA0,$14,S
4
>ICI,0,2
5
>RET
6
>
>> $14 verwendet?
RTFM ... steht im Datenblatt ... anderes Register, andere Funktion.
S.4 folgende
Soll das Deine Präsentationsleistung werden oder die des Forums?
ich denke in diesem speziellen Fall ist das nicht so kritisch... aber
über die Bedeutung von
>> COMPANY CONFIDENTIAL <<
sollte man schon einmal nachdenken, wenn man ein PDF öffentlich ins Netz
stellt.