Hallo Falkenroby,

warum benutzt du für deine I2C-Erweiterung keinen zweiten ATmega8 als I2C-Slave? 16 zusätzliche digitale I/O's sind ja nicht schlecht, aber was willst du denn daran alles anschließen? Die meisten Sensoren (und die fehlen dem ASURO ja letztendlich) liefern doch analoge Signale (siehe ASURO-Bücher Band I und Band II) und Prallschalter sind ja auch so schon reichlich vorhanden.

Das ist ja eigentlich das Fatale am ASURO, dass man immer nur eine Erweiterung aus den Büchern anschließen kann und dafür auch noch die Sensorik für die Linienverfolgung "opfern" muss.

Sieh dir das mal an:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=27719

Mit einem zweiten ATmega8 hast du ausreichend digitale I/O's, 4 zusätzliche ADC-Eingänge für analoge Sensoren (z.B. GP2D12) und weitere Peripherie, wie den Analog-Komparator für ein US-Modul, 3 Timer, ..., zur freien Verfügung. Wenn du dann auch noch, wie von mir praktiziert, den Resonator entfernst, auf "internen 8MHz-Betrieb" umstellst und die beiden freien Leitungen, die der Resonator belegte, für das I2C-Interface nutzt, kannst du sogar die Linien-Sensorik behalten.

Noch besser wäre es, wenn man die vorhandene Software des ASURO so umschreibt, dass der ATmega8 als I2C-Slave mit Liniensensor und PID-Regelung für die Motoren arbeitet und einen I2C-Master mit z.B. einem ATmega32 aufbaut, der dann die Auswertung der verschiedensten Sensoren und die Steuerung des Slave übernimmt.

Peter (Ronny10)