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.
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.
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).
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.
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));
}
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)
#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