Arduino Entwicklungsboard "AVR Playground"

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • 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.

  • Die erste "microBus"-Platine ist fertig und läuft einwandfrei. Verbaut sind 3 Stück WS2812 so wie ein LDR. Die Versorgungsspannung kann zwischen 3V3 und 5V per Lötjumper gewählt werden. Da die meisten meiner Projekte mit 3V3 laufen, habe ich diese Spannung eingestellt. Die kleine grüne LED dient nur der Überprüfung der Spannungsversorgung.

    Der Adafruit-Beispielsketch funktioniert einwandfrei.

  • Die nächste Platine ist getestet. Dieser Adapter für eine Micro-SD Karte darf nur mit 3V3 betrieben werden, weshalb es keinen Lötjumper gibt.

    Leider wird die Größe der eingelegten Karte mit diesem Sketch nicht richtig erkannt. Es ist eine 8GB Karte, die vom Klappcomputer als solche erkannt wird. Auch nach erneuter Formatierung werden die 8GB vom AVR nicht erkannt. Die beiden auf dem Computer testweise erstellten Dateien werden aber korrekt gelesen.

    Initializing SD card...Wiring is correct and a card is present.

    Card type: SDHC

    Volume type is FAT32

    Volume size (bytes): 3679588352
    Volume size (Kbytes): 3593348
    Volume size (Mbytes): 3509

    Files found on the card (name, date and size in bytes):
    TEST1.TXT 2017-08-24 16:34:52 10
    TST.TXT 2017-08-24 16:35:08 17

  • Als nächste Aufsteckplatine habe ich den MCP 23017 fertig gestellt. Auch hier kann die Spannung zwischen 3V3 und 5V über einen Lötjumper gewählt werden. Auf PB6 und PB7 ist wie auf dem Arduino (Pin 13) jeweils eine LED zu Kontrollzwecken installiert. Die I²C-Adresse des MCP kann über Lötjumper gewählt werden.

    Die Betriebsspannung für die angeschlossenen Sensoren, etc. kann über die sechs Pins oberhalb des MCP bezogen werden.

  • Servus Neueinsteiger,
    dieser "MikroBus" wird doch auch auf den XPress Boards von MPLAB verwendet, oder?
    Ich hatte mal eines von meinem Bruder geschenkt bekommen ( DM164140 Entwicklungs-System von Microchip ... ) ...
    Deine Erweiterungen müssten dann doch da auch verwendet werden können und umgekehrt, oder?
    Da fällt mir dann schon wieder so was wie ein AVR-MCU- oder ESP8266-Board für z.B. das DM164140 ... ;)

    Das eröffnet irgendwie schon wieder ganz neue Möglichkeiten ;)

    Jedenfalls Klasse gemacht ...
    Ich bin schon gespannt auf das Live-Erlebnis :) ...

    cheers,
    -ds-

  • Eine Platine für den ESP8266 habe ich natürlich auch erstellt. Als Vorlage habe ich den Schaltplan genommen, der vom Hersteller des Originals hier veröffentlicht ist:
    https://download.mikroe.com/documents/add-…ematic-v101.pdf

    Wobei er eine andere ESP-Version genommen hat als ich. Bei meiner Boardversion mit dem ESP-12 sind alle GPIO ausgeführt und auch nutzbar. Die im oben verlinkten Schaltplan vorgesehenen Verbindungen zu den Pins des Playground sind über Lötjumper aktivierbar. Zusätzlich habe ich zwei Taster vorgesehen, über die theoretisch auch ein Flashen des ESP möglich wäre. Leider bin ich noch nicht dazu gekommen, die Platine zu testen.

  • Hallo Neueinsteiger,
    jetzt ist gerade das Plaground Board angekommen.
    Echt Wahnsinn ... das Ding ist wirklich jeden Cent wert ...

    Da eröffnen sich wieder Möglichkeiten ohne Ende.
    Perfekte Arbeit, Hut ab ... :thumbs1:

    Vielen Dank für Deine Mühe, auch mal rückblickend auf Deine ganzen anderen Projekte hier,
    -ds-

  • Ich habe aus aktuellem Anlass ein weiteres Aufsteckboard entworfen. Ich brauche für ein Projekt ein kleines aber helles Display. Für die Projektentwicklung habe ich mal wieder den AVR Playground genutzt.

    Es ist ganz banal ein Adapter für die 1306 OLED 0.96" Displays. Da manche Anbieter Vcc und GND vertauschen, habe ich dafür je einen Lötjumper vorgesehen. Wichtig ist, dass diese Displays nur 3V3 vertragen! Um die Adresse des verwendeten Displays heraus zu finden ist dieser Sketch hilfreich:

    https://playground.arduino.cc/Main/I2cScanner

    Hier noch ein paar Fotos:

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!