Zum Hauptinhalt springen

Batteriespannung

Die Bibliothek des Zumo 32u4 stellt zwei Funktionen für die Analyse der Spannungsversorgung bereit. Beide Funktionen können direkt, also ohne die Verwendung eines Objektes verwendet werden.

uint16_t readBatteryMillivolts()

int spannung = readBatteryMillivolts();  // Batteriespannung in mV einlesen

Misst die Batteriespannung und gibt sie in Millivolt (mV) zurück. Kann verwendet werden, um die Batteriespannung anzuzeigen.

Da der Zumo 32u4 keine Schaltung zum Ausschalten bei geringer Batteriespannung hat, sollte die Spannung (insbesonders bei Verwendung von Akkus) bei jedem Start überprüft werden, um Tiefentladung zu vermeiden.

Beispiel

/* Spannungsstester:
Bei angeschlossenem USB den Zumo ein/ausschalten. */

#include <Pololu3piPlus32U4.h> // Bibliothek für den 3pi+
using namespace Pololu3piPlus32U4;

Zumo32U4LCD lcd; // Objekt für das LCD-Display
int uMin = 4000; // Minimal Batteriespannung

void setup() { /* bleibt leer */}

void loop() {
int uBat = readBatteryMillivolts(); // Batteriespannung einlesen
lcd.gotoXY(0, 0); lcd.print(uBat);
lcd.print(" mV");

lcd.gotoXY(0, 1);
if (uBat < uMin) {
lcd.print("BAT. LOW");
}
else {
lcd.print("BAT. OK ");
}
delay(100);
}

bool usbPowerPresent()

Die Funktion usbPowerPresent() gibt true zurück, wenn am USB-Anschluss eine Spannung anliegt, der Roboter also mit dem PC verbunden ist.

Beispiel

#include <Pololu3piPlus32U4.h>
using namespace Pololu3piPlus32U4;

void setup(){
// ohne Inhalt
}
void loop(){
if (usbPowerPresent ())
{
ledYellow(1); // Led ist an, wenn der USB-Anschluss verwendet wird
}
else
{
ledYellow(0); // Led ist aus, wenn der USB-Anschluss nicht verwendet wird
}
}