PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : I²C Kummunikation zwischen ATTinY 26 u. ATMEGA 16. Aber wie?



RoBoBo
19.05.2007, 16:34
Hallo RN user!
Ich habe heute mein Lieniensensorboard fertig gelötet. Und siehe da : alles hat auf anhieb geklappt! (*FREU*)
Nun aber zum Problem:
Auf dem Board sitzt ein ATTINY ,der die Analogwerte von 9 CNY70s auslesen soll und dann auf Befehl vom Master per i²C an den Master (Mega 16) auf der RN-Control senden.
Ich weis aber noch nicht wie das gehen soll ,da das mein erstea Projekt ist wo ich i²c brauche.
Ich wäre für Hilfe dankbar und würde mich sehr über Codebeispiele freuen.

RoBoBo

Dirk
19.05.2007, 16:49
Hallo RoBoBo,

da wird dein ATTiny ja wohl der I2C-Slave sein wollen.

PicNick hat vor längerer Zeit eine wunderschöne Lib (MyI2C.zip) vorgestellt, die du auf seiner Homepage http://www.oldformation.at/electronic/download/down.htm runterladen kannst.

Damit könntest du erst 'mal ein bisschen experimentieren.

Gruß Dirk

RoBoBo
19.05.2007, 17:20
Hallo Dirk!
Danke für deine schnelle Antwort.
Ich habe jetzt die KIB Datei in das LIB Verzeichniss von Bascom kopiert. Ich weis aber nicht was ich jetzt damit machen soll. :-k

Dirk
19.05.2007, 20:46
Hallo RoBoBo,

hier noch etwas zum lesen:

1. Wiki-Artikel dazu: https://www.roboternetz.de/wissen/index.php/Bascom_Soft-I2c_Library

2. Ein Thread dazu: https://www.roboternetz.de/phpBB2/viewtopic.php?t=21164
Da geht's auch um die Servo-Ansteuerung, aber im weiteren Verlauf auch um einen I2C-Sklaven allgemein, insbesondere sieh dir i2cslave.zip vom 3.7.2006 an. Da werden Bytes hin und her gesendet.

Was must du machen:
-> Das Beispiel 2313.bas aus der zip an deine Hardware (Tiny26) anpassen.
-> Ein Test-Prog für deinen M16 schreiben, dass einige Bytes über I2C an den Tiny26 sendet und wieder von ihm empfängt.
Wenn das klappt, must du dir für dein Projekt ein "Datenformat" überlegen, mit dem der Tiny26 den Wert der 9 CNYs sendet, wenn er vom M16 dazu den Befehl bekommt.

Wenn du Testprogramme brauchst, bei denen du nicht mehr ganz soviel ändern must, schreib mir eine Mailadresse via PM.

Gruß Dirk

RoBoBo
21.05.2007, 13:42
Hallo Dirk
Ich habe mir das mit der 2313.bas nochhmal angeguckt ich verstehe da aber nicht viel von.
Was ich erstmal zum üben gut fände wäre ein Programm ,wo der tiny ein byte an den m16 schickt ,und wenn der m16 das byte erhalten hat ,soll er die 8 Leuchtdioden anmachen.(oder so in der Art)
Hätte da jemand mal n Tipp oder ein Beispielcode für mich???
Wäre nett da ich sonst mit meinem schönen Sensor nicht viel anfangen kann.
](*,)

Dirk
21.05.2007, 17:09
Hallo RoBoBo,


Hätte da jemand mal n Tipp oder ein Beispielcode für mich???

Habe ich dir als PM geschickt! O:)

Übrigens: Eine ATtiny26-Platine für 9 Liniensensoren. Das ist schon einen kleinen Bericht (Schaltplan ...) hier im Forum wert! Oder? Ich hätte jedenfalls Interesse. :-b
Damit müßte man ja das Linienfolgen gut auslagern können und den Haupt-uC von Arbeit entlasten. Der tiny26 hat da ja gute Ressourcen! Auf jeden Fall eine "Luxus-Lösung"!

Gruß Dirk

robin
21.05.2007, 18:27
hi,

kannst du den beispielcode nicht hier reinstellen? ich hätte da auch interrese dran.

Dirk
21.05.2007, 18:32
@robin
Welche Hardware hast du denn? D.h. welche beiden uCs willst du über I2C "quasseln" lassen?

Gruß Dirk

robin
21.05.2007, 19:30
ich hab nen mega168 und bei dem zweiten bin ich mir noch nicht sicher, aber des is doch egal, die einstellung kann ma doch selber mache, oder? mich interresiert, des kernprogramm.

Olle_Filzlaus
22.05.2007, 07:35
Hallo,

Also an dem B eispielprogramm hätte ich auch interesse.

Ich beschäfftige mich gerade mit I2C und hae da nocch einige Probleme das zu verstehen (irgendwie machen mich die datenblätte zu dden bauteilen ganz wuschig). Da wäre das ne Alternative um das zu testen.

thx arno

Dirk
22.05.2007, 18:13
@robin
@Olle_Filzlaus

Leute, es ist doch alles hier im Netz schon von PicNick veröffentlicht!
Ich hab's oben weiter (19.5.) schon eingestellt,- guckt 'mal da rein:

2. Ein Thread dazu: https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=21164
..., insbesondere sieh dir i2cslave.zip vom 3.7.2006 an.
Im Zip (i2cslave.zip) sind die Dateien 2313.bas und M32s.bas, die zeigen, wie das gehen kann mit dem I2C-Slave und Master!

Gruß Dirk

robin
22.05.2007, 20:06
achso, du hast robobo nur des programm geschickt, ea hat sich so angehört, als ob du selber ein programm geschrieben hättest.