- Απαιτούμενο υλικό
- Διάγραμμα κυκλώματος
- Γράφημα ράβδων LED
- Πρόγραμμα Arduino για παρακολούθηση τάσης μπαταρίας:
- Λειτουργία του δείκτη τάσης μπαταρίας
Οι μπαταρίες συνοδεύονται από ένα ορισμένο όριο τάσης και εάν η τάση υπερβαίνει τα καθορισμένα όρια κατά τη φόρτιση ή την αποφόρτιση, η διάρκεια ζωής της μπαταρίας επηρεάζεται ή μειώνεται. Κάθε φορά που χρησιμοποιούμε ένα πρόγραμμα που λειτουργεί με μπαταρία, μερικές φορές πρέπει να ελέγξουμε το επίπεδο τάσης της μπαταρίας, αν χρειάζεται να φορτιστεί ή να αντικατασταθεί. Αυτό το κύκλωμα θα σας βοηθήσει να παρακολουθείτε την τάση της μπαταρίας σας. Αυτή η ένδειξη τάσης μπαταρίας Arduino υποδεικνύει την κατάσταση της μπαταρίας ανάβοντας LED σε γράφημα ράβδων 10 τμημάτων σύμφωνα με την τάση της μπαταρίας. Δείχνει επίσης την τάση της μπαταρίας σας στην οθόνη LCD που είναι συνδεδεμένη στο Arduino.
Απαιτούμενο υλικό
- Arduino UNO
- Γράφημα ράβδων 10 τμημάτων LED
- LCD (16 * 2)
- Ποτενσιόμετρο-10k
- Αντίσταση (100ohm-10; 330ohm)
- Μπαταρία (προς δοκιμή)
- Σύνδεση καλωδίων
- Προσαρμογέας 12v για το Arduino
Διάγραμμα κυκλώματος
Γράφημα ράβδων LED
Το γράφημα ράβδων LED διατίθεται σε βιομηχανικό πρότυπο μέγεθος με χαμηλή κατανάλωση ενέργειας. Η μπάρα κατηγοριοποιείται για φωτεινή ένταση. Το ίδιο το προϊόν παραμένει σε έκδοση συμβατή με RoHS. Έχει τάση προς τα εμπρός έως 2.6v. Η απορρόφηση ισχύος ανά τμήμα είναι 65mW. Η θερμοκρασία λειτουργίας του ραβδόγραμμα LED είναι -40 ℃ έως 80 ℃. Υπάρχουν πολλές εφαρμογές για το ραβδόγραμμα LED, όπως εξοπλισμός ήχου, πίνακες οργάνων και οθόνη ψηφιακής ανάγνωσης.
Διάγραμμα καρφιτσών
Διαμόρφωση καρφιτσών
Πρόγραμμα Arduino για παρακολούθηση τάσης μπαταρίας:
Ο πλήρης κωδικός Arduino και το βίντεο επίδειξης δίνονται στο τέλος αυτού του άρθρου. Εδώ έχουμε εξηγήσει ορισμένα σημαντικά μέρη του κώδικα.
Εδώ, ορίζουμε τη βιβλιοθήκη LCD και καθορίζουμε τις ακίδες LCD που θα χρησιμοποιηθούν με το Arduino. Η αναλογική είσοδος λαμβάνεται από τον ακροδέκτη A4 για τον έλεγχο της τάσης της μπαταρίας. Έχουμε ορίσει την τιμή ως Float για να φτάσουμε την τάση στα δύο δεκαδικά.
#περιλαμβάνω
int ledPins = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; // μια σειρά από αριθμούς καρφιτσών στους οποίους είναι συνδεδεμένα τα LED κατά pinCount = 10; // ο αριθμός των ακίδων (δηλαδή το μήκος του πίνακα)
Ρύθμιση της οθόνης LCD και των αναλογικών ακίδων (A0, A1, A2, A3) ως καρφιτσών OUTPUT.
άκυρη ρύθμιση () {Serial.begin (9600); // ανοίγει σειριακή θύρα, ορίζει ρυθμό δεδομένων σε 9600 bps lcd.begin (16, 2). //// ρυθμίστε τον αριθμό των στηλών και σειρών της οθόνης LCD: pinMode (A0, OUTPUT); pinMode (A1, OUTPUT); pinMode (A2, OUTPUT); pinMode (A3, OUTPUT); pinMode (Α4, ΕΙΣΟΔΟΣ); lcd.print ("Επίπεδο τάσης"); }
Εδώ, κάνουμε μια λειτουργία για τη χρήση του γραφήματος ράβδων LED για απλή χρήση, μπορείτε ακόμη και να ανάβετε τα LED προγραμματίζοντάς τα ένα προς ένα, αλλά ο κώδικας καθυστερεί.
void LED_function (int stage) {για (int j = 2; j <= 11; j ++) {digitalWrite (j, LOW); } για (int i = 1, l = 2; i <= stage; i ++, l ++) {digitalWrite (l, HIGH); // καθυστέρηση (30) }} Σε αυτό το μέρος, έχουμε διαβάσει την τιμή τάσης χρησιμοποιώντας τον αναλογικό πείρο. Στη συνέχεια, μετατρέπουμε την αναλογική τιμή σε τιμή ψηφιακής τάσης χρησιμοποιώντας τον τύπο αναλογικής σε ψηφιακή μετατροπή και την εμφανίζουμε περαιτέρω σε LCD.
// Τύπος μετατροπής για τάση analogValue = analogRead (A4); Serial.println (analogValue); καθυστέρηση (1000) input_voltage = (analogValue * 5.0) / 1024.0; lcd.setCursor (0, 1); lcd.print ("Τάση ="); lcd.print (input_voltage); Serial.println (input_voltage); καθυστέρηση (100);
Σύμφωνα με την τιμή της τάσης εισόδου, έχουμε δώσει κάποια προϋπόθεση για τον έλεγχο των LED ραβδόγραμμα LED. Η συνθήκη που μπορείτε να ελέγξετε παρακάτω στον κωδικό:
if (input_voltage <0,50 && input_voltage> = 0,00) {digitalWrite (2, ΥΨΗΛΟΣ); καθυστέρηση (30) digitalWrite (2, LOW); καθυστέρηση (30) // όταν η τάση είναι μηδενική ή χαμηλή, το 1ο LED θα υποδείξει αναβοσβήνοντας} αλλιώς εάν (input_voltage <1,00 && input_voltage> = 0,50) {LED_function (2); } αλλιώς εάν (input_voltage <1,50 && input_voltage> = 1,00) {LED_function (3); } αλλιώς εάν (input_voltage <2,00 && input_voltage> = 1,50) {LED_function (4); } αλλιώς εάν (input_voltage <2,50 && input_voltage> = 2,00) {LED_function (5); } αλλιώς εάν (input_voltage <3.00 && input_voltage> = 2.50) {LED_function (6); } αλλιώς εάν (input_voltage <3.50 && input_voltage> = 3.00) {LED_function (7); } αλλιώς εάν (input_voltage <4,00 && input_voltage> = 3,50) {LED_function (8);} αλλιώς εάν (input_voltage <4.50 && input_voltage> = 4.00) {LED_function (9); } αλλιώς εάν (input_voltage <5.00 && input_voltage> = 4.50) {LED_function (10); }}
Λειτουργία του δείκτη τάσης μπαταρίας
Ο δείκτης τάσης μπαταρίας μόλις διαβάσει την τιμή από τον αναλογικό πείρο Arduino και μετατρέψτε τον σε ψηφιακή τιμή χρησιμοποιώντας τον τύπο Analog to Digital Conversion (ADC). Το Arduino Uno ADC έχει ανάλυση 10-bit (έτσι οι ακέραιες τιμές από 0 - 2 ^ 10 = 1024 τιμές). Αυτό σημαίνει ότι θα αντιστοιχίσει τις τάσεις εισόδου μεταξύ 0 και 5 βολτ σε ακέραιες τιμές μεταξύ 0 και 1023. Επομένως, αν πολλαπλασιάσουμε την είσοδο anlogValue σε (5/1024), τότε λαμβάνουμε την ψηφιακή τιμή της τάσης εισόδου. Μάθετε εδώ πώς να χρησιμοποιείτε την είσοδο ADC στο Arduino. Στη συνέχεια, χρησιμοποιείται η ψηφιακή τιμή για να ανάβει ανάλογα το γράφημα ράβδων LED.
Επίσης, ελέγξτε αυτήν την απλή οθόνη επιπέδου μπαταρίας χωρίς κανένα μικροελεγκτή