Υπάρχουν φορές που θέλετε να ελέγξετε την τάση ή κάποιο σημείο σε ένα κύκλωμα, αλλά δεν έχετε βολτόμετρο ή πολύμετρο στο χέρι; Τρέξτε να αγοράσετε; Είναι μακρύ και ακριβό. Πριν το κάνετε αυτό, τι θα λέγατε να φτιάξετε μόνοι σας ένα βολτόμετρο; Μάλιστα, με απλά υλικά μπορείτε να το φτιάξετε μόνοι σας.
Πριν συνδεθείτε, ας καταλάβουμε πρώτα πώς λειτουργεί.
Χρησιμοποιήστε την πλακέτα SunFounder Uno για το κύριο μέρος της επεξεργασίας δεδομένων του βολτόμετρου, LCD1602 ως οθόνη, ένα ποτενσιόμετρο για να ρυθμίσετε την αντίθεση LCD και μια άλλη για να διαιρέσετε την τάση.
Όταν περιστρέφετε το ποτενσιόμετρο που είναι συνδεδεμένο στην πλακέτα Uno, η αντίσταση του ποτενσιόμετρου αλλάζει, μεταβάλλοντας έτσι την τάση σε αυτό. Το σήμα τάσης θα σταλεί στην πλακέτα Uno μέσω του ακροδέκτη A0 και το Uno θα μετατρέψει το λαμβανόμενο αναλογικό σήμα σε ψηφιακή μορφή και θα καταγράψει στην οθόνη LCD. Με αυτόν τον τρόπο μπορείτε να δείτε την τιμή της τάσης στην αντίσταση χωρητικότητας ρεύματος.
Το LCD1602 έχει δύο τρόπους λειτουργίας: 4-bit και 8-bit. Όταν το MCU IO είναι ανεπαρκές, μπορείτε να επιλέξετε λειτουργία 4-bit, η οποία χρησιμοποιεί μόνο τις ακίδες D4~D7.
Ακολουθήστε τον πίνακα για να τα συνδέσετε.
Συνδέστε τη μεσαία ακίδα του ποτενσιόμετρου στην ακίδα Vo στην οθόνη LCD1602 και οποιαδήποτε άλλη ακίδα στο GND.
Συνδέστε τη μεσαία ακίδα του ποτενσιόμετρου στην ακίδα A0 από το SunFounder Uno και μια από τις άλλες στα 5V ενώ την άλλη στο GND.
Αυτός ο κωδικός:
#include /************************************************ ******* *****/ const int analogIn = A0;//ποτενσιόμετρο προσάρτηση σε A0 LiquidCrystal lcd(4, 6, 10, 11, 12, 13);//lcd(RS,E,D4 ,D5,D6.D7) float val = 0;// ορίστε τη μεταβλητή ως value=0 /**************************** ******* *****************/ void setup() ( Serial.begin(9600);//Initialize the serial lcd.begin(16, 2) ;//ορίστε τη θέση των χαρακτήρων στην οθόνη LCD ως Line 2, Column 16 lcd.print("Voltage Value:");//print "Voltage Value:" ) /*********** ******* **************************************/ void loop() ( val = analogRead (A0);//Διαβάστε την τιμή του ποτενσιόμετρου σε val val = val/1024*5.0;// Μετατρέψτε τα δεδομένα στην αντίστοιχη τιμή τάσης με μαθηματικό τρόπο Serial.print(val);//Print the number of val στη σειριακή οθόνη Serial.print ("V"); εδώ οι χαρακτήρες πρέπει να εμφανίζονται lcd.print(val);//Εκτυπώστε τον αριθμό των val στην οθόνη LCD lcd.print("V");//Στη συνέχεια εκτυπώστε τη μονάδα ως V, συντομογραφία για την τάση στην καθυστέρηση LCD( 200); //Περιμένετε 200 ms)
Περιστρέψτε το ποτενσιόμετρο για να ελέγξετε την τάση στην LCD1602 σε πραγματικό χρόνο.
Εδώ είναι ένα δύσκολο πράγμα. Αφού έτρεξα τον κωδικό, η οθόνη LCD έδειξε χαρακτήρες. Στη συνέχεια προσάρμοσα την αντίθεση της οθόνης (σταδιακή αλλαγή από μαύρο σε λευκό) περιστρέφοντας το ποτενσιόμετρο δεξιόστροφα ή αριστερόστροφα έως ότου η οθόνη εμφανίσει καθαρά τους χαρακτήρες.
Πάρτε δύο μπαταρίες για να μετρήσετε την τάση τους: 1,5 V και 3,7 V. Αποσυνδέστε τη σύνδεση του δεύτερου ποτενσιόμετρου στον ακροδέκτη A0 και GND, πράγμα που σημαίνει ότι αφαιρείτε το ποτενσιόμετρο από το κύκλωμα. Σφίξτε το άκρο του σύρματος A0 στην άνοδο της μπαταρίας και το κύκλωμα GND στην κάθοδο. ΜΗΝ τα συνδέετε ξανά στην πρίζα διαφορετικά θα τα πάρετε βραχυκύκλωμαστην μπαταρία. Μια τιμή 0V είναι μια αντίστροφη σύνδεση.
Έτσι, η τάση της μπαταρίας εμφανίζεται στην οθόνη LCD. Μπορεί να υπάρχει κάποιο σφάλμα μεταξύ της τιμής και της ονομαστικής τιμής επειδή η μπαταρία δεν είναι πλήρως φορτισμένη. Και γι' αυτό πρέπει να μετρήσω την τάση για να καταλάβω αν μπορώ να χρησιμοποιήσω την μπαταρία ή όχι.
ΥΓ:Εάν αντιμετωπίζετε προβλήματα με την οθόνη στην οθόνη σας - δείτε αυτές τις Συχνές ερωτήσεις για οθόνες LCD - http://wiki.sunfounder.cc/index.php?title=LCD1602/I2C_LCD1602_FAQ.
Ιδέα συσκευές μέτρησης τάσης, ρεύματος, χωρητικότητας, εκφόρτισης και ίσως φόρτισης προέκυψαν εδώ και πολύ καιρό και όχι μόνο για μένα. Μπορείτε να βρείτε πολλά παιχνίδια που ονομάζονται USB Tester (Doctor) για δοκιμή διάφορες συσκευέςαπό USB. Ενδιαφέρομαι για μια κάπως πιο καθολική συσκευή, ανεξάρτητη από τη διεπαφή, αλλά απλά σχεδιασμένη για συγκεκριμένες τάσεις και ρεύματα. Για παράδειγμα, 0 - 20,00v, 0 - 5,00a, 0 - 99,99Ah. Όσο για τις λειτουργίες, το βλέπω έτσι
Για την υλοποίηση υπολογισμών και μετρήσεων χρειαζόμαστε έναν ελεγκτή. Θυμήθηκα αυτή την ιδέα ως μέρος της γνωριμίας μου με το Arduino, οπότε το χειριστήριο θα είναι ένα απλό δημοφιλές Atmega328 και θα προγραμματίζεται στο περιβάλλον Arduino. Από μηχανικής άποψης, η επιλογή μάλλον δεν είναι η καλύτερη - ο ελεγκτής είναι λίγο χοντρός για την εργασία και το ADC του δεν μπορεί να ονομαστεί μέτρηση, αλλά... θα προσπαθήσουμε.
Υλοποιώ ένα απλό βολτόμετρο με ένα εύρος περίπου 0 - 20V. Αυτή η σημείωση είναι σημαντική, επειδή το ADC του ελεγκτή μας έχει χωρητικότητα 10 bit (1024 διακριτές τιμές), επομένως το σφάλμα θα είναι τουλάχιστον 0,02 V (20 / 1024). Για την υλοποίηση του υλικού, χρειαζόμαστε μια αναλογική είσοδο του ελεγκτή, ένα διαχωριστικό κατασκευασμένο από ένα ζεύγος αντιστάσεων και κάποιο είδος εξόδου (μια οθόνη στην τελική έκδοση, μια σειριακή θύρα μπορεί να χρησιμοποιηθεί για εντοπισμό σφαλμάτων).
Η αρχή της μέτρησης ADC είναι η σύγκριση της τάσης στην αναλογική είσοδο με την αναφορά VRef. Η έξοδος ADC είναι πάντα ακέραιος - 0 αντιστοιχεί σε 0V, 1023 αντιστοιχεί σε τάση VRef. Η μέτρηση πραγματοποιείται λαμβάνοντας μια σειρά διαδοχικών ενδείξεων τάσης και υπολογίζοντας τον μέσο όρο κατά την περίοδο μεταξύ των ενημερώσεων της τιμής στην οθόνη. Η επιλογή της τάσης αναφοράς είναι σημαντική επειδή είναι προεπιλεγμένη στην τάση τροφοδοσίας, η οποία μπορεί να μην είναι σταθερή. Αυτό δεν μας ταιριάζει καθόλου - θα πάρουμε ως βάση μια σταθερή εσωτερική πηγή αναφοράς με τάση 1,1 V, αρχικοποιώντας την καλώντας analogReference(INTERNAL). Στη συνέχεια θα βαθμονομήσουμε την τιμή του χρησιμοποιώντας τις ενδείξεις του πολύμετρου.
Το διάγραμμα στα αριστερά δείχνει μια παραλλαγή με άμεσο έλεγχο της οθόνης (απλά ελέγχεται - δείτε το τυπικό σκίτσο LiquidCrystal\HelloWorld). Στα δεξιά είναι η επιλογή I2C, την οποία θα χρησιμοποιήσω περαιτέρω. Το I2C σάς επιτρέπει να εξοικονομείτε καλώδια (από τα οποία υπάρχουν 10 στη συνηθισμένη έκδοση, χωρίς να υπολογίζεται ο οπίσθιος φωτισμός). Αλλά αυτό απαιτεί μια πρόσθετη ενότητα και πιο περίπλοκη προετοιμασία. Σε κάθε περίπτωση, πρέπει πρώτα να ελεγχθεί η εμφάνιση των χαρακτήρων στη μονάδα και να ρυθμιστεί η αντίθεση - για να γίνει αυτό, πρέπει απλώς να εμφανίσετε οποιοδήποτε κείμενο μετά την προετοιμασία. Η αντίθεση ρυθμίζεται από την αντίσταση R1 ή μια παρόμοια αντίσταση της μονάδας I2C.
Η είσοδος είναι ένας διαιρέτης 1:19, ο οποίος επιτρέπει, σε Vref = 1,1, να λάβουμε μέγιστη τάση περίπου 20 V (συνήθως τοποθετείται ένας πυκνωτής + δίοδος zener παράλληλα στην είσοδο για προστασία, αλλά αυτό δεν είναι σημαντικό για εμάς προς το παρόν ). Οι αντιστάσεις έχουν εξάπλωση, όπως και η αναφορά Vref του ελεγκτή, οπότε μετά τη συναρμολόγηση πρέπει να μετρήσουμε την τάση (τουλάχιστον την τάση τροφοδοσίας) παράλληλα με τη συσκευή μας και ένα πολύμετρο αναφοράς και να επιλέξουμε Vref στον κωδικό μέχρι να ταιριάζουν οι ενδείξεις . Αξίζει επίσης να σημειωθεί ότι κάθε ADC έχει μηδενική τάση μετατόπισης (η οποία χαλάει τις μετρήσεις στην αρχή του εύρους), αλλά δεν θα ασχοληθούμε προς το παρόν.
Θα είναι επίσης σημαντικό να διαχωριστεί η τροφοδοσία και το έδαφος μέτρησης. Το ADC μας έχει ανάλυση ελαφρώς χειρότερη από 1 mV, κάτι που μπορεί να δημιουργήσει προβλήματα εάν η καλωδίωση είναι λανθασμένη, ειδικά σε μια πλακέτα ψησίματος. Επειδή η διάταξη της πλακέτας της μονάδας έχει ήδη γίνει και δεν έχουμε παρά να επιλέξουμε τις ακίδες. Η μονάδα έχει πολλές ακίδες «γείωσης», επομένως πρέπει να βεβαιωθούμε ότι η ισχύς εισέρχεται στη μονάδα μέσω της μίας «γείωσης» και οι μετρήσεις μέσω της άλλης. Στην πραγματικότητα, για να κάνω αλλαγές, χρησιμοποιώ πάντα τον πείρο γείωσης που βρίσκεται πιο κοντά στις αναλογικές εισόδους.
Για τον έλεγχο του I2C, χρησιμοποιείται μια έκδοση της βιβλιοθήκης LiquidCrystal_I2C - στην περίπτωσή μου, υποδεικνύεται το συγκεκριμένο pinout της μονάδας I2C (οι Κινέζοι παράγουν μονάδες με διαφορετικά χειριστήρια). Σημειώνω επίσης ότι το I2C στο Arduino απαιτεί τη χρήση ακίδων A4 και A5 - στην πλακέτα Pro Mini δεν βρίσκονται στην άκρη, κάτι που είναι άβολο για πρωτότυπο στο BreadBoard.
// Μετατροπή σε βολτ (Τιμή: 0..1023 -> (0..VRef) σε κλίμακα Mult) Volt = InVolt * VoltMult * VRef / 1023;
Σκίτσο
int analogInput = A0;
float val = 0,0;
float τάση = 0,0;
float R1 = 100000,0; //Battery Vin-> 100K -> A0
float R2 = 10000,0; //Battery Gnd -> Arduino Gnd and Arduino Gnd -> 10K -> A0
τιμή int = 0;
Κενό setup() (
Serial.begin(9600);
pinMode(analogInput, INPUT);
}
Void loop() (
value = analogRead(analogInput);
val = (τιμή * 4,7) / 1024,0;
τάση = val / (R2/(R1+R2));
Serial.println(τάση);
καθυστέρηση (500);
}
Περιέγραψε πώς να συναρμολογήσετε ένα σπιτικό διπλό βολτόμετρο με βάση την πλατφόρμα Arduino UNOχρησιμοποιώντας την οθόνη LCD 1602A. Σε ορισμένες περιπτώσεις, είναι απαραίτητο να μετρήσετε δύο σταθερές τάσεις ταυτόχρονα και να τις συγκρίνετε. Αυτό μπορεί να απαιτείται, για παράδειγμα, κατά την επισκευή ή τη ρύθμιση ενός σταθεροποιητή τάσης DC για τη μέτρηση της τάσης στην είσοδο και την έξοδο του ή σε άλλες περιπτώσεις.
Χρησιμοποιώντας έναν γενικό μικροελεγκτή Μονάδα ARDUINOΤο UNO και μια οθόνη LCD δύο γραμμών τύπου 1602A (με βάση τον ελεγκτή HD44780) μπορούν εύκολα να φτιάξουν μια τέτοια συσκευή. Σε μια γραμμή θα δείχνει την τάση U1, στην άλλη - την τάση U2.
Ρύζι. 1. Σχηματικό διάγραμμαδιπλό βολτόμετρο με οθόνη 1602A στο Arduino UNO.
Αλλά, πρώτα απ 'όλα, θέλω να σας υπενθυμίσω ότι το ARDUINO UNO είναι μια σχετικά φθηνή έτοιμη ενότητα - μια μικρή PCB, πάνω στο οποίο βρίσκεται ο μικροελεγκτής ATMEGA328, καθώς και όλη η «πλεξούδα» του που είναι απαραίτητη για τη λειτουργία του, συμπεριλαμβανομένου ενός προγραμματιστή USB και τροφοδοτικού.
Για όσους δεν είναι εξοικειωμένοι με το ARDUINO UNO, σας συμβουλεύω να διαβάσετε πρώτα τα άρθρα L.1 και L.2. Το κύκλωμα ενός διπλού βολτόμετρου φαίνεται στο Σχ. 1. Έχει σχεδιαστεί για να μετράει δύο τάσεις από 0 έως 100V (πρακτικά έως 90V).
Όπως φαίνεται από το διάγραμμα, στις ψηφιακές θύρες D2-D7 Πίνακες ARDUINOΤο UNO είναι συνδεδεμένο στη μονάδα οθόνης υγρών κρυστάλλων H1 τύπου 1602A. Η ένδειξη LCD τροφοδοτείται από έναν σταθεροποιητή τάσης 5V που βρίσκεται στην πλακέτα σταθεροποιητή τάσης 5V.
Οι μετρούμενες τάσεις παρέχονται σε δύο αναλογικές εισόδους Α1 και Α2. Υπάρχουν έξι αναλογικές είσοδοι συνολικά, A0-A5, μπορείτε να επιλέξετε οποιαδήποτε δύο από αυτές. Σε αυτήν την περίπτωση επιλέγονται τα Α1 και Α2. Η τάση στις αναλογικές θύρες μπορεί να είναι μόνο θετική και μόνο στην περιοχή από το μηδέν έως την τάση τροφοδοσίας του μικροελεγκτή, δηλαδή, ονομαστικά, έως και 5 V.
Η έξοδος της αναλογικής θύρας μετατρέπεται σε ψηφιακή μορφή από το ADC του μικροελεγκτή. Για να λάβετε το αποτέλεσμα σε μονάδες βολτ, πρέπει να το πολλαπλασιάσετε με 5 (με την τάση αναφοράς, δηλαδή με την τάση τροφοδοσίας του μικροελεγκτή) και να διαιρέσετε με το 1024.
Για να μπορέσετε να μετρήσετε τάσεις μεγαλύτερες από 5 V, ή μάλλον, μεγαλύτερες από την τάση τροφοδοσίας του μικροελεγκτή, επειδή η πραγματική τάση στην έξοδο του σταθεροποιητή 5 volt στην πλακέτα ARDUINO UNO μπορεί να διαφέρει από 5V και συνήθως λίγο πιο κάτω, πρέπει να χρησιμοποιήσετε συμβατικά ωμικά διαχωριστικά στην είσοδο. Εδώ αυτοί είναι διαιρέτες τάσης στις αντιστάσεις R1, R3 και R2, R4.
Ταυτόχρονα, να φέρει τις ενδείξεις του οργάνου στην πραγματική αξία τάση εισόδου, πρέπει να ορίσετε στο πρόγραμμα τη διαίρεση του αποτελέσματος της μέτρησης με τον συντελεστή διαίρεσης του ωμικού διαιρέτη. Και ο συντελεστής διαίρεσης, ας τον συμβολίσουμε "K", μπορεί να υπολογιστεί χρησιμοποιώντας τον ακόλουθο τύπο:
K = R3 / (R1+R3) ή K = R4 / (R2+R4),
αντίστοιχα για διαφορετικές εισόδους του διπλού βολτόμετρου.
Είναι πολύ ενδιαφέρον ότι οι αντιστάσεις στα διαχωριστικά δεν χρειάζεται απαραίτητα να είναι υψηλής ακρίβειας. Μπορείτε να πάρετε συνηθισμένες αντιστάσεις, στη συνέχεια να μετρήσετε την πραγματική τους αντίσταση με ένα ακριβές ωμόμετρο και να αντικαταστήσετε αυτές τις μετρούμενες τιμές στον τύπο. Θα λάβετε την τιμή "K" για έναν συγκεκριμένο διαιρέτη, ο οποίος θα πρέπει να αντικατασταθεί στον τύπο.
Το πρόγραμμα C++ φαίνεται στην Εικόνα 2.
Ρύζι. 2. Πηγαίος κώδικαςπρογράμματα.
Για τον έλεγχο της ένδειξης LCD, αποφασίστηκε να χρησιμοποιηθούν οι θύρες D2 έως D7 της πλακέτας ARDUINO UNO. Κατ 'αρχήν, άλλες θύρες είναι δυνατές, αλλά έτσι αποφάσισα να τις χρησιμοποιήσω.
Για να αλληλεπιδράσει η ένδειξη με το ARDUINO UNO, πρέπει να φορτώσετε μια υπορουτίνα στο πρόγραμμα για να την ελέγξετε. Τέτοιες ρουτίνες ονομάζονται "βιβλιοθήκες" και υπάρχουν πολλές διαφορετικές "βιβλιοθήκες" στη σουίτα λογισμικού ARDUINO UNO. Για να εργαστείτε με μια ένδειξη LCD που βασίζεται στο HD44780, χρειάζεστε τη βιβλιοθήκη LiquidCrystal. Επομένως, το πρόγραμμα (Πίνακας 1) ξεκινά με τη φόρτωση αυτής της βιβλιοθήκης:
Αυτή η γραμμή δίνει την εντολή για φόρτωση αυτής της βιβλιοθήκης στο ARDUINO UNO. Τότε πρέπει να αναθέσετε Θύρες ARDUINO UNO, το οποίο θα λειτουργεί με την ένδειξη LCD. Επέλεξα τις θύρες D2 έως D7. Μπορείτε να επιλέξετε άλλους. Αυτές οι θύρες εκχωρούνται από τη γραμμή:
LiquidCrystal led(2, 3, 4, 5, 6, 7);
Μετά από αυτό, το πρόγραμμα προχωρά στην πραγματική λειτουργία του βολτόμετρου. Για τη μέτρηση της τάσης, αποφασίστηκε η χρήση αναλογικών εισόδων A1 και A2. Αυτές οι εισροές δίνονται στις γραμμές:
int analogInput=1;
int analogInput1=2;
Για να διαβάσετε δεδομένα από αναλογικές θύρες, χρησιμοποιήστε τη λειτουργία analogRead. Η ανάγνωση δεδομένων από αναλογικές θύρες εμφανίζεται στις γραμμές:
vout=analogRead(analogInput);
voutl=analogRead(analoglnput1);
Στη συνέχεια, η πραγματική τάση υπολογίζεται λαμβάνοντας υπόψη τον λόγο διαίρεσης του διαιρέτη τάσης εισόδου:
volt=vout*5.0/1024.0/0.048 ;
volt1=vout1*5.0/1024.0/0.048;
Σε αυτές τις γραμμές, ο αριθμός 5.0 είναι η τάση στην έξοδο του σταθεροποιητή της πλακέτας ARDUINO UNO. Στην ιδανική περίπτωση, θα πρέπει να είναι 5 V, αλλά για να λειτουργεί με ακρίβεια το βολτόμετρο, πρέπει πρώτα να μετρηθεί αυτή η τάση. Συνδέστε την πηγή ρεύματος και μετρήστε την τάση +5V στο βύσμα POWER της πλακέτας με ένα βολτόμετρο αρκετά ακριβείας. Τι συμβαίνει, τότε εισάγετε αυτές τις γραμμές αντί για 5,0, για παράδειγμα, εάν υπάρχει 4,85 V, οι γραμμές θα μοιάζουν με αυτό:
volt=vout*4,85/1024,0/0,048;
volt1=vout1*4.85/1024.0/0.048;
Στο επόμενο στάδιο, θα χρειαστεί να μετρήσετε τις πραγματικές αντιστάσεις των αντιστάσεων R1-R4 και να προσδιορίσετε τους συντελεστές K (που υποδεικνύονται ως 0,048) για αυτές τις γραμμές χρησιμοποιώντας τους τύπους:
K1 = R3 / (R1+R3) και K2 = R4 / (R2+R4)
Ας πούμε K1 = 0,046 και K2 = 0,051, οπότε γράφουμε:
volt=vout*4.85/1024.0/0.046 ;
volt1=vout1*4.85/1024.0/0.051;
Έτσι, πρέπει να γίνουν αλλαγές στο κείμενο του προγράμματος σύμφωνα με την πραγματική τάση στην έξοδο του σταθεροποιητή 5 volt της πλακέτας ARDUINO UNO και σύμφωνα με τους πραγματικούς συντελεστές διαίρεσης των ωμικών διαχωριστών. Μετά από αυτό, η συσκευή θα λειτουργεί με ακρίβεια και δεν θα απαιτεί καμία ρύθμιση ή βαθμονόμηση.
Αλλάζοντας τους συντελεστές διαίρεσης των διαιρετών αντίστασης (και, κατά συνέπεια, τους συντελεστές "K"), μπορείτε να κάνετε άλλα όρια μέτρησης, και όχι απαραίτητα τα ίδια και για τις δύο εισόδους.
Karavkin V. RK-2017-01.
Λογοτεχνία:
Γεια σου, Χαμπρ! Σήμερα θέλω να συνεχίσω το θέμα της «διασταύρωσης» του arduino και του android. Στην προηγούμενη δημοσίευση μίλησα και σήμερα θα μιλήσουμε για ένα βολτόμετρο bluetooth DIY. Μια άλλη τέτοια συσκευή μπορεί να ονομάζεται έξυπνο βολτόμετρο, «έξυπνο» βολτόμετρο ή απλώς έξυπνο βολτόμετρο, χωρίς εισαγωγικά. Το επίθετο είναι λανθασμένο από την άποψη της ρωσικής γραμματικής, ωστόσο, βρίσκεται συχνά στα μέσα ενημέρωσης. Θα υπάρξει ψηφοφορία για αυτό το θέμα στο τέλος του άρθρου, αλλά προτείνω να ξεκινήσετε με μια επίδειξη της λειτουργίας της συσκευής για να καταλάβετε τι θα αφορά το άρθρο.
Σκίτσο
int analogInput = A0;
float val = 0,0;
float τάση = 0,0;
float R1 = 100000,0; //Battery Vin-> 100K -> A0
float R2 = 10000,0; //Battery Gnd -> Arduino Gnd and Arduino Gnd -> 10K -> A0
τιμή int = 0;
Κενό setup() (
Serial.begin(9600);
pinMode(analogInput, INPUT);
}
Void loop() (
value = analogRead(analogInput);
val = (τιμή * 4,7) / 1024,0;
τάση = val / (R2/(R1+R2));
Serial.println(τάση);
καθυστέρηση (500);
}