Zum Hauptinhalt springen

Akkuspannung

Was dieses Beispiel zeigt​

Liest alle 10 Sekunden die Spannung des Li-Ion-Akkus am JST-Connector aus und zeigt sie neben einem Akkusymbol an. Für einen sinnvollen Messwert muss ein Akku angeschlossen sein. Das Symbol stammt aus battSymbol.h im Beispielordner.

Beispielcode​

Select Board
Inkplate7SPECTRA_Read_Battery_Voltage.ino
#include "Inkplate.h" // Include Inkplate library to the sketch
#include "battSymbol.h" // Include the battery voltage bitmap
// It is in same folder as this sketch. You can even open it (read it) by clicking on battSymbol.h tab in Arduino IDE
Inkplate display; // Create an object on Inkplate library

void setup()
{
display.begin(); // Init Inkplate library (you should call this function ONLY ONCE)
Serial.begin(115200);
}

void loop()
{
float voltage = display.readBattery(); // Read battery voltage
display.clearDisplay(); // Clear everything in frame buffer of e-paper display
display.drawBitmap(100, 100, battSymbol, battSymbol_w, battSymbol_h,
INKPLATE_BLUE); // Draw battery symbol at position X=100 Y=100
display.setCursor(210, 120);
display.setTextColor(INKPLATE_BLUE);
display.setTextSize(2);
display.print(voltage, 2); // Print battery voltage
display.print('V');
display.display(); // Send everything to display (refresh the screen)*/
delay(10000); // Wait 10 seconds before new measurement
}

Verwendete Funktionen​

Inkplate()returns None

Erstellt das Inkplate-Objekt. Inkplate 7SPECTRA hat nur einen Sechs-Farben-Modus, daher benötigt der Konstruktor kein Modus-Argument.

ReturnsKonstruktor; kein Rückgabewert.

display.begin()returns void

Initialisiert die Bibliothek, die Peripherie und den Framebuffer. Rufen Sie sie einmal in setup() auf.

ReturnsNichts.

display.readBattery()returns double

Schaltet den Spannungsteiler für die Akkumessung über den Pin P1-1 des GPIO-Expanders ein, liest IO1 mit 12 Bit Auflösung aus, schaltet den Teiler wieder aus und rechnet den Messwert um. Der Teiler halbiert die Akkuspannung, und die Funktion skaliert sie wieder zurück.

ReturnsAkkuspannung in Volt.

display.clearDisplay()returns void

Füllt den Framebuffer mit Weiß. Das Panel wird dadurch nicht verändert.

ReturnsNichts.

display.drawBitmap(int16_t x, int16_t y, const uint8_t bitmap[], int16_t w, int16_t h, uint16_t color)returns void

Zeichnet eine 1-Bit-Bitmap mit der oberen linken Ecke bei (x, y), hier das Akkusymbol in Blau. Aus der Klasse Adafruit GFX.

ReturnsNichts.

display.setCursor(int16_t x, int16_t y)returns void

Legt fest, wo der nächste ausgegebene Text beginnt.

ReturnsNichts.

display.setTextColor(uint16_t c)returns void

Legt die Textfarbe fest, hier INKPLATE_BLUE.

ReturnsNichts.

display.setTextSize(uint8_t s)returns void

Legt die Textvergrößerung fest, hier 2.

ReturnsNichts.

display.print(value, digits)returns size_t

Gibt Text wie Serial.print() in den Framebuffer aus. Bei einem Float legt das zweite Argument die Anzahl der Nachkommastellen fest, hier 2.

ReturnsAnzahl der ausgegebenen Bytes.

display.display(bool _leaveOn = 0)returns void

Sendet den gesamten Framebuffer an das Panel und aktualisiert es.

ReturnsNichts.

Was Sie erwartet​

Ein blaues Akkusymbol erscheint nahe der oberen linken Ecke, daneben die Akkuspannung in Blau, mit zwei Nachkommastellen und einem V. Der Wert wird alle 10 Sekunden aktualisiert, jedes Mal mit einem vollständigen Refresh. Der Sketch startet Serial, gibt darüber aber nichts aus.

🔗Vollständiges Beispiel öffnen

examples/Inkplate7SPECTRA/Advanced/Other/Inkplate7SPECTRA_Read_Battery_Voltage

→