klar geht das, über die Kommunikation von AVRs per TWI(ist dasselbe wie I²C) wurde hier im Forum schon oft diskutiert und auch Code gepostet
du müsstest noch sagen, mit welcher Programmiersprache du arbeitest, dann kann man dir besser helfen
Hallo
Ich habe folgendes Problem...
Mein Roboter verfügt über einen DS1621 (Temperatursensor), IC2-Ansteuerbar sowie über einen CMPS03 (Kompassmodul), IC2 ansteuerbar sowie eine ganze Armada an Kollisionssensoren, IR-Sensoren, Lichtsensoren, ein LCD Display, 2 Motoren zum ansteuern... usw.
Das ist so viel, dass ein ATmega32 damit nicht fertig wird. Die Pins von dem reichen einfach nirgends hin. Man muss ja auch bedenken, dass man für den Kompass und das LCD noch einige Taster zur Bedienung braucht. Kostet alles IO-Pins. Deswegen wollte ich die Sensoren und das ganze Zeug auf 2 Mega32 aufteilen, die sich dann per I2C verständigen.
Nun kenne ich mich mit I2C leider nicht so aus und wollte euch fragen wie das ist....kann ich zum Beispiel an den Mega32*1 meine Motoren hinhängen und der Mega32*2 kann meinem Mega32*1 sagen wie er diese zu steuern hat? Und umgekehrt dass mein Mega32*1 über den Mega32*2 auf das LCD Display schreiben kann?
klar geht das, über die Kommunikation von AVRs per TWI(ist dasselbe wie I²C) wurde hier im Forum schon oft diskutiert und auch Code gepostet
du müsstest noch sagen, mit welcher Programmiersprache du arbeitest, dann kann man dir besser helfen
Ich arbeite mit Bascom
Also ist das problemlos möglich, dass sich die 2 ATmega32 _gegenseitig_ Daten schicken können und sich gegenseitig Befehle erteilen können?
Ich dachte mal irgendwann gelesen zu haben, dass es dort auch einen Master und n-Slaves gibt und nur der Master die Kontrolle hat?
das stellt in gewisser Weise dann wohl doch ein Problem dar, ich arbeite normalerweise mit C, deswegen betrifft mich das nicht, aber ich habe schon des öfteren gelesen, dass man bei Bascom für den TWI-Hardware-Slave ein Zusatzmodul benötigt(das so um die 15€ kostet)Ich arbeite mit Bascom
nicht umsonst ist der TWI-Bus ein mutltimaster-bus, soll heißen, jedes Gerät(sofern bei diesem die Funktion dafür vorgesehen ist) am Bus kann Master seinIch dachte mal irgendwann gelesen zu haben, dass es dort auch einen Master und n-Slaves gibt und nur der Master die Kontrolle hat?
Ein Zusatzmodul??
Für was bräuchte ich das genau?
das brauchst du, wenn du mit normalen Bascom-Befehlen den AVR als (Hardware)TWI-Slave verwenden willst
TWI-Master dürfte auch ohne Zusatzlib funktionieren
kannst du den kompass nicht auch über I2C auslesen? weiss ja nicht wieviele i/os du dadurch sparst.. und den temp-sensor dann auch...
-> MEIN PROJEKTBLOG <-
Das will ich ja aber ich komm insgesamt OHNE I2C (wo der Kompass und der Temp-Sensor dranhängen) auf 49 I/O Pins!! Minimalst dann 45 aber weniger geht echt nicht mehr.Zitat von Goblin
Lesezeichen