Arduino Pro Mini

Der Arduino Pro Mini ist ein recht kleiner (platzsparender) Vertreter aus der Arduino-Familie, der zwar von den technischen Spezifikationen dem Arduino Uno gleichwertig erscheint (IC, Taktfrequenz, etc.) jedoch einige Unterschiede mit sich bringt.

Arduino Pro Mini

Verwendete Bauteile

Programmierung

Es gibt verschiedene Arten, den Pro Mini zu programmieren. Nicht möglich ist die Programmierung über USB direkt am PC, da er über keine eigene USB-Schnittstelle verfügt. Es gibt die Möglichkeiten, den Pro Mini mit einem FDTI-Adapter (ähnlich wie beim Lilypad) an den PC anzuschließen, den Arduino Uno (siehe: ATtiny) als ISP zu benutzen (Vorsicht: 3,3V!) oder wie im folgenden beschriebenen Fall, das Arduino Uno-Board direkt als Programmer zu verwenden.

Vorbereitung

Zunächst wird der ATMega328-Chip vorsichtig vom Arduino Uno Board entfernt. Dies kann man durch vorsichtiges Anheben mit einem Schraubenzieher leicht bewerkstelligen (siehe folgendes Bild).

Entfernen des ATMega328-Chips vom Arduino Uno

Anschlüsse

Nun wird der Pro Mini mit dem Arduino-Board folgendermaßen verbunden:

Arduino Pro Mini Arduino Uno
VCC 3,3V bzw. 5V (je nach Modell des Pro Mini)
GND GND
DTR RESET
TX TX (Pin 1)
RX RX (Pin 0)

In der Arduino IDE wählt man nun unter "Werkzeuge → Board:" den "Arduino Pro Mini" aus, selektiert dann noch den verwendeten Chip, Spannungsversorgung und Port und man kann den Pro Mini nun wie gewohnt programmieren.

Sketch

Als kleiner Test wird hier eine leicht modifizierte Variante des Blink-Sketches verwendet.

void setup()
{
    pinMode(LED_BUILTIN, OUTPUT);
}

void loop()
{
    digitalWrite(LED_BUILTIN, HIGH);
    delay(random(100, 2000));
    digitalWrite(LED_BUILTIN, LOW);
    delay(random(100, 2000));
}

Stromersparnis

Im folgenden Experiment soll geprüft werden, wieviel Stromverbrauch der Arduino Pro Mini im sogenannten Sleep-Mode verbraucht. Dies ist vor allem für batteriebetriebene Projekte wichtig. Hier will man eine möglichst lange Laufzeit der Batterien/Akkus erreichen.
Der Aufbau der Schaltung ist recht einfach, denn es wird nur eine beliebige LED mit einem Vorwiderstand an einen der Pins (hier: 13) gehängt. Der folgende Sketch lässt die LED zunächst für 4 Sekunden aufleuchten, dann 4 Sekunden erlöschen und geht dann 4 Sekunden in den Sleep-Mode. Als Stromquelle wird hier ein 18650-Li-Ionen-Akku mit einem Batterie-Board verwendet (3V-Ausgang). (Es wird hier die Library LowPower verwendet, die vor dem Kompilieren des Sketches installiert werden muss)

Aufbau auf dem Breadboard
#include "LowPower.h"

void setup()
{
    pinMode(LED_BUILTIN, OUTPUT);
}

void loop()
{
    digitalWrite(LED_BUILTIN, HIGH);
    delay(4000);

    digitalWrite(LED_BUILTIN, LOW);
    delay(4000);

    LowPower.idle(SLEEP_4S, ADC_OFF, TIMER2_OFF, TIMER1_OFF, TIMER0_OFF, SPI_OFF, USART0_OFF, TWI_OFF);
}

Der gemessene Stromfluss in den drei verschiedenen Phasen ist folgendermaßen:
1. LED an: 8,3mA
2. LED aus: 6,3mA
3. Sleep-Mode: 1,9mA

Für weitere Stromersparnis kann auch noch die rote Power-LED bzw. der Spannungsregulator entfernt werden. Dies bedeutet jedoch einen Eingriff auf der Platine selbst und kann z.B. auf der Website von Andreas Rohner nachgelesen werden.

zurück