Gast
#3282204
Auch ich bin der Versuchung erlegen, mit einem Raspberry Pi zu experimentieren. Was mir dabei gut gefallen hatte war die Möglichkeit, ohne Umweg über einen Microcontroller direkt vom PC aus Kontakt mit der Außenwelt aufzunehmen, IO-Pins zu schalten, via TWI-Bus Sensoren auszulesen und TWI-Slaves zu dirigieren. Allerdings ist der mit 700MHz getaktete Raspberry bei diesen Übungen völlig unterfordert. So entstand der Gedanke, die IO- und TWI-Funktionalität des Raspberry auf einem wesentlich einfacheren und preiswerteren ATMega88 nachzubilden. Der "Rasp"-Mega Pi IO stellt zur Verfügung: - 16x IO-Pins als programmierbare Ein- oder Ausgangspins, - 16x IO-Pins für externe PinChange Interrupts programmierbar, - 2x IO-Pins für externe, einstellbare Interrupts programmierbar (INT0/INT1), - 4x Eingänge als 10-Bit ADC verwendbar, - 6x Eingänge zum Auslesen von DS18B20 Temperatursensoren vorbereitet, - 1x TWI-Bus, der als TWI-Master / TWI-Slave arbeitet, - 1x SPI-Bus (wegen fehlenden Bedarfes z.Z. nicht implementiert) - Die Stromaufnahme des ATMega beträgt im Idle-Modus unter 1mA. Vom PC aus kann man mit jeder Software, die via Serieller Schnittstelle senden und empfangen kann (z.B. mit Python - oder im einfachsten Fall mit Hilfe eines Terminalprogramms wie HTerm) auf den ATMega zugreifen, seine IO-Pins konfigurieren, setzen, auslesen, Temperaturen mit dem DS18B20 messen und über seinen TWI-Bus auf angeschlossene Aktoren, Sensoren etc. zugreifen. Die Hardwarekosten für den "Rasp"-Mega betragen ca. 2-6 Euro, je nach Ausbaustufe. Der Sourcecode in C und das Hexfile für den ATMega88 sind in der Datei "Raspmega_c.zip" beigefügt. Das verwendete Protokoll für die binäre Kommunikation mit dem ATMega ist in der Datei "Doku.pdf" dokumentiert. In der Readme.pdf habe ich einige Interna zur Software auf dem ATMega zusammenfasst und mein "Experimentierboard" schematisch dargestellt. Im Archiv "Python.zip" gib es eine Reihe von Programmbeispielen für Python3.2/Tkinter, die während der Entwicklung begleitend entstanden. Viel Spaß beim Experimentieren, Michael S.