In einer der letzten Ausgaben der Zeitschrift elektor wurde ein Projekt unter dem Namen "AVR Playground" vorgestellt. Für diejenigen, die sich intensiver mit dem Thema AVR und Arduino beschäftigen ist es die eierlegende Wollmilchsau. Auf der Platine ist ein ATmega328 mit den Buchsenleisten im Raster eines Arduino UNO untergebracht, wodurch herkömmliche Shields verwendet werden können. Da mir die Beschriftung auf der Originalplatine sehr unübersichtlich erschien, habe ich diese auf die wirklich benötigten Angaben reduziert und zur besseren Lesbarkeit eine weiße Platine erstellen lassen.
Da er sowohl mit 5V als auch mit 3V3 betrieben werden kann, ist er "nur" mit 8Mhz getaktet. Der Takt kann sowohl intern als auch extern über ein Quarz vorgegeben werden. Wird der Takt intern erzeugt, stehen (per Jumper) die beiden I/O XTAL1 und XTAL2 zusätzlich zur Verfügung. Das Board wird unter anderem auf youtube vorgestellt.
Ein neuer Sketch lässt sich wie beim UNO über eine USB-Verbindung aufspielen. Um alle Möglichkeiten des Boards nutzen zu können, ist es sinnvoll, den folgenden Link in den Voreinstellungen der Arduino IDE zu hinterlegen und über die Boardverwaltung das passende Board herunter zu laden.
https://raw.githubusercontent.com/ElektorLabs/ar…ards_index.json
Über die DIP-Switches lassen sich diverse Zustände (HIGH, LOW, INPUT, OUTPUT, etc.) und Verbindungen schalten. Die Eingabe kann über die verbauten Taster so wie zwei Potentiometer und einen Drehimpulsgeber erfolgen. Jeder I/O ist mit einer kleinen LED verbunden, die den Zustand anzeigt. Die LED können separat (PB0 - PB7, PC0 - PC7 und PD0 - PD7) aktiviert oder deaktiviert werden. Auch ist ein Buzzer auf dem Board installiert und kann bei Bedarf aktiviert werden.. Zusätzlich ist ein 2x16 LCD verbaut, dass bei Bedarf über I²C genutzt werden kann, wodurch nur 2 I/O benötigt werden. Über eine Steckerleiste ist der I²C Bus zusätzlich extern zugänglich.
Eine sehr nützliche Funktion ist der ON/OFF Schalter oben rechts. Darüber schaltet man die Versorgungsspannung ab, ohne aber den USB-Seriell-Wandler abzuschalten. Der Vorteil gegenüber einem Arduino ist, dass hierdurch der Port immer der Selbe bleibt und man nicht vor einem erneuten Aufspielen des Sketches erst nachschauen muss, ob der Port noch stimmt.
Eine genaue Beschreibung der einzelnen Funktionen ist im verlinkten Artikel zu finden.
Die Spannungsversorgung kann über USB oder über ein externes Netzteil (7-18V) erfolgen. Besonders gelungen finde ich die Idee, einen mikroBus-Expansion-Slot vorzusehen, auf den eine große Auswahl von Erweiterungen gesteckt werden können.
Da mir der Preis für die Originale in Summe etwas hoch erschien, habe ich selber ein paar Exemplare entworfen, die ich mehr oder weniger regelmäßig benötige.
- ESP8266 (verbunden über Rx und Tx)
- MCP 23017 Portexpander (I²C)
- LED (WS2812) und LDR
- Micro SD Card Slot
- RTC 3231 (I²C)
- TSOP 31236
Diese Erweiterungen werde ich in den nächsten Tagen noch genauer vorstellen. Aktuell fehlt mir dazu die Zeit.
Wer Interesse an dem Projekt (Platine bestückt oder unbestückt) hat, darf sich gerne bei mir melden. Ich habe noch drei Platinen des AVR Playground und ein paar mehr von den Erweiterungen, die ich nicht benötige.