Bemerkung

Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten.

Warum beitreten?

  • Expertenunterstützung: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams.

  • Lernen & Teilen: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern.

  • Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.

  • Spezialrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.

  • Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.

👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [hier] und treten Sie heute bei!

3.1.5 Batterieanzeige

Einführung

In diesem Projekt erstellen wir ein Gerät zur Batterieanzeige, das den Batteriestatus auf einem LED-Balkendiagramm visuell darstellen kann.

Benötigte Komponenten

Für dieses Projekt benötigen wir die folgenden Komponenten.

../_images/list_Battery_Indicator.png

Es ist sicherlich praktisch, ein ganzes Kit zu kaufen, hier ist der Link:

Name

ARTIKEL IN DIESEM KIT

LINK

Raphael Kit

337

Raphael Kit

Sie können sie auch einzeln über die untenstehenden Links kaufen.

KOMPONENTENVORSTELLUNG

KAUF-LINK

GPIO-Erweiterungsplatine

BUY

Steckbrett

BUY

Jumper-Kabel

BUY

Widerstand

BUY

LED-Balkendiagramm

-

ADC0834

-

Schaltplan

T-Board Name

physical

wiringPi

BCM

GPIO17

Pin 11

0

17

GPIO18

Pin 12

1

18

GPIO27

Pin 13

2

27

GPIO25

Pin 22

6

25

GPIO12

Pin 32

26

12

GPIO16

Pin 36

27

16

GPIO20

Pin 38

28

20

GPIO21

Pin 40

29

21

GPIO5

Pin 29

21

5

GPIO6

Pin 31

22

6

GPIO13

Pin 33

23

13

GPIO19

Pin 35

24

19

GPIO26

Pin 37

25

26

../_images/Schematic_three_one5.png

Experimentelle Verfahren

Schritt 1: Schaltung aufbauen.

../_images/image248.png

Schritt 2: Zum Ordner des Codes navigieren.

cd ~/raphael-kit/c/3.1.5/

Schritt 3: Code kompilieren.

gcc 3.1.5_BatteryIndicator.c -lwiringPi

Schritt 4: Die ausführbare Datei starten.

sudo ./a.out

Nachdem das Programm gestartet wurde, verbinden Sie den 3. Pin des ADC0834 und GND jeweils mit einem Kabel und führen Sie diese dann zu den beiden Polen einer Batterie. Sie können sehen, wie die entsprechende LED auf dem LED-Balkendiagramm aufleuchtet, um den Leistungsstand anzuzeigen (Messbereich: 0-5V).

Bemerkung

Wenn es nach dem Starten nicht funktioniert oder ein Fehlerhinweis erscheint: "wiringPi.h: No such file or directory", verweisen Sie bitte auf Installieren und Überprüfen von WiringPi.

Code-Erklärung

void LedBarGraph(int value){
    for(int i=0;i<10;i++){
        digitalWrite(pins[i],HIGH);
    }
    for(int i=0;i<value;i++){
        digitalWrite(pins[i],LOW);
    }
}

Diese Funktion dient zur Steuerung des Ein- oder Ausschaltens der 10 LEDs auf dem LED-Balkendiagramm. Wir geben diesen 10 LEDs zuerst hohe Levels, um sicherzustellen, dass sie ausgeschaltet sind, und entscheiden dann, wie viele LEDs durch Ändern des empfangenen Analogwertes eingeschaltet werden.

int main(void)
{
    uchar analogVal;
    if(wiringPiSetup() == -1){ //when initialize wiring failed,print messageto screen
        printf("setup wiringPi failed !");
        return 1;
    }
    pinMode(ADC_CS,  OUTPUT);
    pinMode(ADC_CLK, OUTPUT);
    for(int i=0;i<10;i++){       //make led pins' mode is output
        pinMode(pins[i], OUTPUT);
        digitalWrite(pins[i],HIGH);
    }
    while(1){
        analogVal = get_ADC_Result(0);
        LedBarGraph(analogVal/25);
        delay(100);
    }
    return 0;
}

analogVal produziert Werte (0-255) bei unterschiedlichen Spannungswerten (0-5V), z.B., wenn eine 3V an einer Batterie erkannt wird, wird der entsprechende Wert 152 auf dem Voltmeter angezeigt.

Die 10 LEDs auf dem LED-Balkendiagramm werden verwendet, um die analogVal-Ablesungen anzuzeigen. 255/10=25, also jedes Mal, wenn der Analogwert um 25 steigt, wird eine weitere LED eingeschaltet, z.B., wenn “analogVal=150 (etwa 3V), sind 6 LEDs eingeschaltet.”

Phänomen-Bild

../_images/image249.jpeg