Schimpfroboter im Eigenbau, Teil 2: Mehr Hirn für Schimpfolino
Schimpfolino bekommt ein EEPROM, um noch mehr Schimpfwörter zusammensetzen zu können. In diesem Artikel zeigen wir auch, wie man den Stromverbrauch drosselt.
- Nikolai Radke
Im letzten Artikel haben wir Schimpfolino auf einem Steckbrett zum Leben erweckt. Dieser Artikel beschäftigt sich mit den Fragen, wie größere Datenmengen in einem externen EEPROM gespeichert werden können, wie sie ausgelesen werden und vor allem, wie sie da schnell reinkommen. Anschließend werden, wenn auch ziemlich trocken, Techniken zum Stromsparen und nachhaltigen Beleidigen vorgestellt.
EEPROMs haben diverse Vorteile: Es ist wiederbeschreibbar und behält auch ohne Stromversorgung seine Daten. Somit eignet es sich z. B. hervorragend für das Loggen von Sensordaten. Praktischerweise bringen die ATtiny25 / 45 / 85 ein internes EEPROM in den jeweiligen Größen 128 / 256 / 512 Bytes mit.
- EEPROMs extern mit einem seriellen Terminal beschreiben
- Schimpfolino um ein externes EEPROM ergänzen
- Stromspartechniken mit dem ATtiny
Checkliste
Zeitaufwand: 2 bis 4 Stunden
Kosten: ca 1 Euro
Material
- 24AA64 EEPROM oder größer
- 2 × 2-kΩ-Widerstände (optional)
- Arduino UNO
Software
- Arduino IDE 2.x
- Serielles Terminal, z. B. CoolTerm
Der Zugriff über die Arduino IDE ist denkbar einfach: Mit der Library EEPROM.h stehen die wichtigsten Befehle zur Verfügung. Der Befehl EEPROM.write(adresse,wert);
schreibt ein Byte (wert
) an eine Adresse im EEPROM. Die Adresse ist vom Typ Integer und startet ab 0. Analog dazu wird mit wert = EEPROM.read(adresse);
ein Byte aus einer Adresse ausgelesen. Da eine Adresse immer auf ein Byte zeigt, muss bedacht werden, dass bei größeren Datentypen die Adresse für den nächsten Eintrag entsprechend erhöht werden muss, um nicht versehentlich einen Teil des anderen Datentyps zu überschreiben, sofern es aus mehreren Bytes besteht.