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
#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 NoneErstellt 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 voidInitialisiert die Bibliothek, die Peripherie und den Framebuffer. Rufen Sie sie einmal in setup() auf.
ReturnsNichts.
display.readBattery()returns doubleSchaltet 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 voidFü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 voidZeichnet 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 voidLegt fest, wo der nächste ausgegebene Text beginnt.
ReturnsNichts.
display.setTextColor(uint16_t c)returns voidLegt die Textfarbe fest, hier INKPLATE_BLUE.
ReturnsNichts.
display.setTextSize(uint8_t s)returns voidLegt die Textvergrößerung fest, hier 2.
ReturnsNichts.
display.print(value, digits)returns size_tGibt 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 voidSendet 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