Πίνακας περιεχομένων:

Απομακρυσμένη καταγραφή δεδομένων υψηλής ακρίβειας χρησιμοποιώντας πολύμετρο/Arduino/pfodApp: 10 βήματα (με εικόνες)
Απομακρυσμένη καταγραφή δεδομένων υψηλής ακρίβειας χρησιμοποιώντας πολύμετρο/Arduino/pfodApp: 10 βήματα (με εικόνες)

Βίντεο: Απομακρυσμένη καταγραφή δεδομένων υψηλής ακρίβειας χρησιμοποιώντας πολύμετρο/Arduino/pfodApp: 10 βήματα (με εικόνες)

Βίντεο: Απομακρυσμένη καταγραφή δεδομένων υψηλής ακρίβειας χρησιμοποιώντας πολύμετρο/Arduino/pfodApp: 10 βήματα (με εικόνες)
Βίντεο: Απομακρυσμένη παρακολούθηση κυψέλης μέσω καταγραφής και ανάλυσης του ήχου των μελισσών 2024, Ιούλιος
Anonim
Απομακρυσμένη καταγραφή δεδομένων υψηλής ακρίβειας χρησιμοποιώντας πολύμετρο/Arduino/pfodApp
Απομακρυσμένη καταγραφή δεδομένων υψηλής ακρίβειας χρησιμοποιώντας πολύμετρο/Arduino/pfodApp
Απομακρυσμένη καταγραφή δεδομένων υψηλής ακρίβειας χρησιμοποιώντας πολύμετρο/Arduino/pfodApp
Απομακρυσμένη καταγραφή δεδομένων υψηλής ακρίβειας χρησιμοποιώντας πολύμετρο/Arduino/pfodApp
Απομακρυσμένη καταγραφή δεδομένων υψηλής ακρίβειας χρησιμοποιώντας πολύμετρο/Arduino/pfodApp
Απομακρυσμένη καταγραφή δεδομένων υψηλής ακρίβειας χρησιμοποιώντας πολύμετρο/Arduino/pfodApp

Ενημερώθηκε στις 26 Απριλίου 2017 Αναθεωρημένο κύκλωμα και πλακέτα για χρήση με μετρητές USB 4000ZC.

Δεν απαιτείται κωδικοποίηση Android

Αυτό το εκπαιδευτικό σάς δείχνει πώς μπορείτε να αποκτήσετε πρόσβαση σε ένα ευρύ φάσμα μετρήσεων υψηλής ακρίβειας από το Arduino σας και επίσης να τους στείλετε από απόσταση για καταγραφή και σχεδίαση. Για καταγραφή δεδομένων υψηλής ταχύτητας (2000 δείγματα/δευτερόλεπτο) δείτε αυτό το εγχειρίδιο, απομακρυσμένη καταγραφή δεδομένων υψηλής ταχύτητας χρησιμοποιώντας Arduino/GL AR150/Android/pfodApp

Ο μετατροπέας AtoD που είναι ενσωματωμένος στο Arduino έχει χαμηλή ακρίβεια, τυπικά +/- 10% και πολύ περιορισμένο εύρος, τυπικά 0 έως 5V DC Volt μόνο. Χρησιμοποιώντας ένα απλό κύκλωμα και βιβλιοθήκη, μπορείτε να τροφοδοτήσετε το Arduino σας με μετρήσεις αυτόματης εμβέλειας υψηλής ακρίβειας από ένα πολύμετρο με οπτικά απομονωμένη σύνδεση RS232. Έχοντας τις μετρήσεις διαθέσιμες στο σκίτσο σας, μπορείτε να ελέγχετε τις εξόδους με βάση τις τιμές. Αυτό το σεμινάριο καλύπτει επίσης την αποστολή της μέτρησης από απόσταση, μέσω WiFi, Bluetooth, Bluetooth Low Energy ή SMS, σε κινητό Android για προβολή, καταγραφή και σχεδίαση χρησιμοποιώντας το pfodApp.

Αυτό το εκπαιδευτικό χρησιμοποιεί έναν πίνακα Arduino Mega2560 5V τον οποίο μπορείτε να συνδυάσετε με μια μεγάλη ποικιλία ασπίδων επικοινωνίας, Ethernet, WiFi, Bluetooth V2 (κλασικό), Bluetooth LE ή SMS. Το υλικό διεπαφής και η βιβλιοθήκη που παρουσιάζονται εδώ μπορούν επίσης να χρησιμοποιηθούν με συμβατούς πίνακες 3.3V Arduino. Εκτός από το Mega2560, μπορείτε να χρησιμοποιήσετε μια μεγάλη ποικιλία από άλλες σανίδες, όπως UNO με και Ehternet shield, έναν βασικό πίνακα ESP8266 (αυτόνομο), έναν πίνακα με ενσωματωμένο Bluetooth Low Energy, όπως το Arduino 101 ή πίνακες που συνδέονται στην επικοινωνία υποσύστημα που χρησιμοποιεί SPI όπως RedBear BLE shield και Adafrut's Bluefruit SPI σανίδες. Το pfodDesignerV2 υποστηρίζει όλους αυτούς τους συνδυασμούς πλακέτας και θα δημιουργήσει τον κώδικα για αυτούς. Η περιοριστική προϋπόθεση είναι ότι πρέπει να έχετε δωρεάν σειριακό υλικό για να συνδεθείτε σε αυτήν την ασπίδα του πολύμετρου RS232.

Το κύκλωμα και ο κώδικας που παρουσιάζονται εδώ λειτουργούν με πολλά πολύμετρα. Ένα άμεσα διαθέσιμο, φθηνό, είναι ένα Tekpower TP4000ZC, γνωστό και ως Digitek TD-4000ZC. Τα πολύμετρα που λειτουργούν με αυτό το κύκλωμα και βιβλιοθήκη περιλαμβάνουν Digitek DT-4000ZC, Digitech QM1538, Digitech QM1537, Digitek DT-9062, Digitek INO2513, Digitech QM1462, PeakTech 3330, Tenma 72-7745, Uni-Trend UT30A, Uni-Trend UT30E -Trend UT60E, Voltcraft VC 820, Voltcraft VC 840

Βήμα 1:

Αυτό το σεμινάριο έχει δύο μέρη:

Το πρώτο μέρος καλύπτει τη διεπαφή υλικού στο πολύμετρο και τη βιβλιοθήκη κώδικα χρησιμοποιώντας ένα Arduino Mega. Εάν θέλετε μόνο να λάβετε τη μέτρηση στο Arduino σας, αυτό είναι το μόνο που χρειάζεστε.

Το δεύτερο μέρος καλύπτει την αποστολή της μέτρησης σε απομακρυσμένο κινητό Android για εμφάνιση, καταγραφή και σχεδίαση. Σε αυτό το παράδειγμα θα χρησιμοποιήσουμε ασπίδα Bluetooth και θα δημιουργήσουμε το βασικό σκίτσο χρησιμοποιώντας το pfodDesignerV2, αλλά μπορείτε επίσης να δημιουργήσετε κώδικα για συνδέσεις WiFi, Ethernet, Bluetooth Low Energy και SMS χρησιμοποιώντας το pfodDesignerV2. Η βιβλιοθήκη πολυμέτρων προστίθεται στη συνέχεια στο βασικό σκίτσο για να συμπληρώσει τον κώδικα. Δεν απαιτείται κωδικοποίηση Android για την εμφάνιση, καταγραφή και σχεδίαση της ανάγνωσης. Όλα ελέγχονται από τον κώδικα Arduino.

Αυτό το έργο είναι επίσης διαθέσιμο on-line στη διεύθυνση www.pfod.com.au

Για απομακρυσμένη απεικόνιση του πολύμετρου, δείτε αυτό το διδακτικό, Arduino Data Glasses For My Multimeter by Alain.

Βήμα 2: Το πολύμετρο

Το πολύμετρο
Το πολύμετρο

Τα πολύμετρα που χρησιμοποιούνται σε αυτό το σεμινάριο είναι το φθηνό (~ US40) Tekpower TP4000ZC (γνωστό και ως Digitek DT-4000ZC) και το παλαιότερο Digitech QM1538, το οποίο δεν πωλείται πλέον. Και οι δύο αυτοί μετρητές είναι οπτικά οι ίδιοι και χρησιμοποιούν την ίδια κωδικοποίηση RS232 της μέτρησης.

Εδώ οι προδιαγραφές για το Tekpower TP4000ZC: -DC Τάση: 400mV/4/40/400V ± 0.5%+5, 600V ± 0.8%AC Τάση: 4/40/400V ± 0.8%+5, 400mV/600V ± 1.2%+ 5DC Ρεύμα: 400/4000μA ± 2.0%+5, 40/400mA ± 1.5%+5, 4/10A 2%+5AC Ρεύμα: 400/4000μA ± 2.5%+3, 40/400mA ± 2%+5, 4 /10A ± 2.5%+5 Αντίσταση: 400Ω/4/40/400kΩ/4MΩ ± 1%+5, 40MΩ ± 2%+5 Χωρητικότητα: 40nF ± 3.5%+10, 400nF/4/40μF ± 3%+5, 100μF ± 3.5% +5 Συχνότητα: 10Hz -10MHz ± 0.1% +5 Κύκλος λειτουργίας: 0.1%-99.9%± 2.5% +5 Θερμοκρασία: 0oC - +40oC ± 3oC, -50oC - +200oC ± 0.75%3oC, +200oC - +750oC ± 1.5% ± 3oC, ανάλυση 0.1oC μέσω του συμπεριλαμβανόμενου θερμοστοιχείου.

Η σύνδεση RS232 του πολύμετρου είναι μόνο ένας τρόπος και δεν μπορείτε να αλλάξετε τις ρυθμίσεις του πολύμετρου από απόσταση, οπότε πρέπει να επιλέξετε χειροκίνητα τον τύπο μέτρησης. Ωστόσο, ο μετρητής λειτουργεί αυτόματα και οι ρυθμίσεις Τάσης και Τρέχουσας χειρίζονται τόσο AC όσο και DC.

Βήμα 3: Το υλικό διεπαφής RS232

Υλικό διεπαφής RS232
Υλικό διεπαφής RS232
Υλικό διεπαφής RS232
Υλικό διεπαφής RS232
Υλικό διεπαφής RS232
Υλικό διεπαφής RS232

Υπάρχουν δύο διεπαφές. Οι νεότεροι μετρητές Digitek DT-4000ZC και Tekpower TP40000ZC διαθέτουν καλώδιο USB. Ενώ στο παλαιότερο Digitek QM1538 παρέχεται ένα καλώδιο σύνδεσης RS232 9pin D. Το παραπάνω κύκλωμα (έκδοση pdf) δείχνει τον τρόπο σύνδεσης του οπτικού ζεύκτη πολλαπλών μέτρων για την οδήγηση ενός σειριακού πείρου Arduino RX. Σημείωση: Αυτό το κύκλωμα έχει ενημερωθεί για να προσθέσει μια άλλη αντίσταση προστασίας, R2, για τους μετρητές Digitek DT-4000ZC και Tekpower TP40000ZC. Αυτή η αντίσταση δεν συμπεριλήφθηκε στην πλακέτα σύνδεσης 9pin D που εμφανίζεται παραπάνω.

Digitek DT-4000ZC και Tekpower TP40000ZC

Για τα Digitek DT-4000ZC και Tekpower TP40000ZC, χρειάζεστε ένα καλώδιο ήχου 3,5 mm αρσενικό σε αρσενικό, στερεοφωνικό ή μονοφωνικό και μια υποδοχή 3,5 mm.

Digitek QM1538

Για το παλαιότερο Digitek QM1538, χρειάζεστε μια υποδοχή 9pin D. Ο σύνδεσμος 9pin D διαθέτει μετατοπισμένες ακίδες που δεν συνδέονται στην ασπίδα πρωτότυπου. Απλώς κόψτε τη σειρά των 4 ακίδων για να κολλήσετε τη φίσα στην πλακέτα, καθώς το κύκλωμα χρησιμοποιεί μόνο ακίδες στη δεύτερη σειρά των 5 ακίδων. Τα πόδια στερέωσης έσκυψαν για να αφήσουν τον σύνδεσμο να παραμείνει επίπεδος και ο σύνδεσμος στερεώθηκε στην πρωτότυπη ασπίδα χρησιμοποιώντας εποξειδική κόλλα 2 μερών ("Araldite") Η διάταξη του πείρου του συνδετήρα φαίνεται παραπάνω είναι από αυτήν την τοποθεσία. Η αντίσταση 10Κ που έρχεται τοποθετημένη μέσα στη φίσα των παρεχόμενων καλωδίων RS232 (συνδεδεμένη μεταξύ των ακίδων 2 και 3) δεν απαιτείται για αυτό το έργο.

Σύνδεση του σήματος σε ακίδα Arduino RX

Αυτό το κύκλωμα θα λειτουργήσει τόσο για πίνακες Arduino 5V όσο και 3.3V. Εδώ χρησιμοποιούμε ένα Mega2560 (5V) Arduino και τοποθετήσαμε το κύκλωμα σε μια πρωτότυπη ασπίδα όπως φαίνεται παραπάνω.

Ένας ιπτάμενος αγωγός χρησιμοποιείται για τη σύνδεση του TP1 στην ασπίδα σε έναν Serial1 RX, pin D19, στο Mega2560.

Σημείωση σχετικά με το Σειρά λογισμικού: Αρχικά αυτή η ασπίδα συνδυάστηκε με ένα UNO χρησιμοποιώντας Σειρά λογισμικού στις ακίδες 10, 11. Ωστόσο, όταν συνδυάστηκε με την Ασπίδα Bluetooth στο Σειριακό στους 9600 baud, ορισμένα bytes λήψης χάθηκαν. Η μεταφορά του RS232 σε σειριακή σύνδεση υλικού έλυσε αυτό το ζήτημα. Έτσι, για αξιόπιστη απομακρυσμένη εμφάνιση και καταγραφή, εάν χρησιμοποιείτε ασπίδα επικοινωνίας που συνδέεται μέσω σειριακής, χρειάζεστε είτε έναν πίνακα με δύο ή περισσότερα Σειρά Υλικού, όπως το Mega2560. Άλλες εναλλακτικές λύσεις είναι ένα UNO with και Ehternet shield, ένας βασικός πίνακας ESP8266 (αυτόνομος), ένας πίνακας με ενσωματωμένο Bluetooth Low Energy όπως το Anduino 101 ή πίνακες που συνδέονται με το υποσύστημα επικοινωνίας χρησιμοποιώντας SPI όπως η ασπίδα RedBear BLE και το Adafrut's Bluefruit SPI σανίδες. Το pfodDesignerV2 υποστηρίζει όλους αυτούς τους πίνακες και θα δημιουργήσει τον κώδικα για αυτούς.

Βήμα 4: Η βιβλιοθήκη PfodVC820MultimeterParser

Το Tekpower TP4000ZC και ένας αριθμός άλλων χιλιομέτρων δεν στέλνουν τη μέτρηση μέσω RS232 ως κείμενο ASCII, αλλά στέλνει 14 byte με bit ρυθμισμένα ανάλογα με τα τμήματα της οθόνης LCD που φωτίζονται. Η κωδικοποίηση των 14 byte εξηγείται σε αυτό το pdf. Η βιβλιοθήκη pfodVC820MeterParser.zip αποκωδικοποιεί αυτά τα bytes σε συμβολοσειρές κειμένου και επιπλέει. (Το VC820 αναφέρεται σε έναν από τους μετρητές που χρησιμοποιεί αυτήν την κωδικοποίηση.) Ανατρέξτε επίσης στο QtDMM για λογισμικό υπολογιστών Windows, Mac και Linux που χειρίζεται ένα ευρύ φάσμα πολύμετρων.

Υπάρχει ένα ελάχιστο παράδειγμα, το MeterParserExample.ino, της χρήσης της βιβλιοθήκης pfodVC820MeterParser. Συνδέστε το μετρητή σε σειριακή σύνδεση 2400 baud και καλέστε στη συνέχεια το haveReading () σε κάθε βρόχο για να επεξεργαστείτε τα byte. Το haveReading () θα επιστρέψει αληθές όταν υπάρχει μια νέα πλήρης ανάγνωση. Στη συνέχεια, μπορείτε να καλέσετε το getAsFloat () για να λάβετε την τιμή (κλιμακωτή) ως float ή getAtStr () για να λάβετε την ένδειξη με κλιμάκωση για εκτύπωση και καταγραφή. Υπάρχουν άλλες διαθέσιμες μέθοδοι για πρόσβαση στον τύπο μέτρησης, getTypeAsStr () και getTypeAsUnicode (), καθώς και άλλες μεθόδους χρησιμότητας.

#include "pfodVC820MeterParser.h" pfodVC820MeterParser meter; // void setup () {Serial.begin (74880); Serial1.begin (2400); meter.connect (& Serial1); } ανάγνωση πλωτήρα? void loop () {if (meter.haveReading ()) {reading = meter.getAsFloat (); // χρησιμοποιήστε αυτό για υπολογισμούς Arduino Serial.print ("Ανάγνωση με μονάδες:"); Serial.print (meter.getDigits ()); Serial.print (meter.getScalingAsStr ()); Serial.print (meter.getTypeAsStr ()); Serial.print (F ("= ως float print (6 ψηφία):")); Serial.println (ανάγνωση, 6); Serial.println ("Time (sec) and Reading as string for logging"); Serial.print (((float) millis ())/1000.0); Serial.print (", sec,"); Serial.print (meter.getAsStr ()); Serial.print (','); Serial.println (meter.getTypeAsStr ()); }}

Με τον μετρητή ρυθμισμένο στο Deg C και χρησιμοποιώντας τον θερμοστοιχείο, το παράδειγμα σκίτσου δίνει αυτήν την έξοδο στη σειριακή οθόνη Arduino IDE

Ανάγνωση με μονάδες: 25.7C = ως float (6 ψηφία): 25.700000 Χρόνος (δευτερόλεπτο) και Ανάγνωση ως συμβολοσειρά για καταγραφή 2.40, δευτ., 25.7, C

Βήμα 5: Μέρος 2 - Απομακρυσμένη εμφάνιση, καταγραφή και σχεδίαση

Αυτό το μέρος του σεμιναρίου καλύπτει τον τρόπο απομακρυσμένης εμφάνισης, καταγραφής και σχεδίασης της ένδειξης του μετρητή στο κινητό σας Android. Το pfodApp χρησιμοποιείται για τον χειρισμό της οθόνης, την καταγραφή και τη σχεδίαση στο κινητό σας Android. Δεν απαιτείται προγραμματισμός Android. Όλες οι οθόνες, η καταγραφή και η σχεδίαση ελέγχονται πλήρως από το σκίτσο του Arduino. Η δωρεάν εφαρμογή pfodDesignerV2 σάς επιτρέπει να σχεδιάσετε το μενού και το γράφημα Android και, στη συνέχεια, να δημιουργήσετε ένα σκίτσο Arduino για εσάς.

Το pfodApp υποστηρίζει έναν αριθμό τύπων σύνδεσης, Ethernet, WiFi, Bluetooth V2 (κλασικό), Bluetooth LE ή SMS. Αυτό το σεμινάριο χρησιμοποιεί το Arduino 101 (Bluetooth Low Energy) για καταγραφή δεδομένων και σχεδίαση. Υποστηρίζονται και άλλες πλακέτες χαμηλής κατανάλωσης Bluetooth. Αυτό το σεμινάριο χρησιμοποιεί SMS για σύνδεση στο pfodApp. Μπορείτε να χρησιμοποιήσετε το pfodDesignerV2 για να προσθέσετε καταγραφή δεδομένων και γραφήματα σε αυτό το παράδειγμα SMS. Το pfodDesignerV2 διαθέτει επίσης επιλογές για τη δημιουργία κώδικα Arduino σε ασπίδα Bluetooth V2 (κλασική) για σύνδεση με το pfodApp.

Για αυτό το παράδειγμα θα χρησιμοποιήσουμε ένα Iteadstudio Bluetooth Shield V2.2 που συνδέεται στο Arduino Mega2560 μέσω σειριακής σύνδεσης 9600 baud. Χρησιμοποιώντας τη δωρεάν εφαρμογή pfodDesignerV2, δημιουργήσαμε ένα απλό μενού που έχει μόνο μια ετικέτα για να δείχνει την ένδειξη του μετρητή και ένα κουμπί για να ανοίξει το γράφημα. Αυτή η σελίδα διαθέτει μια σειρά από μαθήματα pfodDesignerV2. Μόλις έχουμε ένα βασικό σκίτσο, θα το τροποποιήσουμε για να προσθέσουμε τον μετρητή ανάλυσης και να στείλουμε την ανάγνωση και τα δεδομένα του μετρητή για καταγραφή και χαρτογράφηση.

Σχεδιάζοντας το μενού

Σε αυτήν την ενότητα θα σχεδιάσουμε ένα μενού Android/pfodApp που θα εμφανίζει την ένδειξη του μετρητή και ένα κουμπί για να ανοίξει ένα γράφημα των ενδείξεων. Οι ενδείξεις αποθηκεύονται επίσης σε ένα αρχείο στο κινητό Android

Βήμα 6: Προσθήκη ετικέτας

Προσθήκη ετικέτας
Προσθήκη ετικέτας
Προσθήκη ετικέτας
Προσθήκη ετικέτας
Προσθήκη ετικέτας
Προσθήκη ετικέτας

Εγκαταστήστε το δωρεάν pfodDesignerV2 και ξεκινήστε ένα νέο μενού.

Ο προεπιλεγμένος στόχος είναι Serial στα 9600baud, αυτό είναι που χρειάζεται για το Iteadstudio Bluetooth Shield V2.2. Εάν συνδέεστε χρησιμοποιώντας συσκευή Bluetooth χαμηλής ενέργειας ή Wi -Fi ή SMS, κάντε κλικ στο Target για να αλλάξετε την επιλογή.

Για να προσθέσετε μια ετικέτα για να εμφανιστεί η ένδειξη του μετρητή, κάντε κλικ στο Προσθήκη στοιχείου μενού και επιλέξτε κύλιση προς τα κάτω για να επιλέξετε Ετικέτα.

Επιλέξτε το κατάλληλο μέγεθος γραμματοσειράς και χρώματα. Αφήστε το κείμενο ως ετικέτα καθώς θα τροποποιήσουμε τον κωδικό που δημιουργήθηκε για να τον αντικαταστήσουμε με τη μέτρηση του μετρητή αργότερα. Εδώ έχουμε ορίσει το μέγεθος γραμματοσειράς σε +7, το χρώμα γραμματοσειράς σε Κόκκινο και το φόντο σε Ασημί.

Επιστρέψτε στην οθόνη Editing Menu_1 και ορίστε ένα διάστημα ανανέωσης 1 δευτερόλεπτο. Το pfodApp θα ζητήσει εκ νέου το μενού περίπου μία φορά το δευτερόλεπτο για να εμφανιστεί η τελευταία ένδειξη στην Ετικέτα.

Βήμα 7: Προσθήκη κουμπιού γραφήματος

Προσθήκη κουμπιού γραφήματος
Προσθήκη κουμπιού γραφήματος
Προσθήκη κουμπιού γραφήματος
Προσθήκη κουμπιού γραφήματος
Προσθήκη κουμπιού γραφήματος
Προσθήκη κουμπιού γραφήματος
Προσθήκη κουμπιού γραφήματος
Προσθήκη κουμπιού γραφήματος

Κάντε ξανά κλικ στην επιλογή Προσθήκη στοιχείου μενού για να προσθέσετε ένα κουμπί γραφήματος.

Επεξεργαστείτε το κείμενο του κουμπιού γραφήματος σε κάτι κατάλληλο, π.χ. απλώς "Διάγραμμα" και επιλέξτε μέγεθος και χρώματα γραμματοσειράς.

Στη συνέχεια, κάντε κλικ στο κουμπί "Διάγραμμα" για να ανοίξετε την οθόνη επεξεργασίας του σχεδίου. Θα υπάρχει μόνο ένα διάγραμμα, οπότε κάντε κλικ στα κουμπιά Επεξεργασία γραφήματος 2 και Επεξεργασία γραφήματος 3 και κάντε κύλιση προς τα κάτω και κάντε κλικ στο Απόκρυψη σχεδίου για καθένα από αυτά.

Επεξεργαστείτε την ετικέτα γραφήματος σε κάτι κατάλληλο, π.χ. "Πολύμετρο". Δεν χρειάζεται να αλλάξετε καμία από τις άλλες ρυθμίσεις γραφήματος καθώς θα τροποποιήσουμε το σκίτσο για αποστολή διαφορετικής ετικέτας άξονα y ανάλογα με τη ρύθμιση του πολύμετρου.

Τέλος, επιστρέψτε στο μενού Επεξεργασία_1 και στην Επεξεργασία προτροπής, αυτό ορίζει το κείμενο στο κάτω μέρος του μενού και το συνολικό χρώμα φόντου του μενού. Εδώ έχουμε ορίσει την προτροπή σε "Απομακρυσμένο πολύμετρο" με μέγεθος γραμματοσειράς +3 και χρώμα φόντου Ασημί.

Τώρα μπορείτε να επιστρέψετε στο μενού Επεξεργασία_1 και να κάνετε κλικ στο μενού Προεπισκόπηση για να κάνετε προεπισκόπηση του σχεδιασμού του μενού.

Εάν δεν σας αρέσει το σχέδιο, μπορείτε να το αλλάξετε πριν δημιουργήσετε τον κώδικα. Εάν θέλετε να απομακρύνετε την ετικέτα από το κουμπί, μπορείτε να προσθέσετε μερικές κενές ετικέτες όπως περιγράφονται εδώ. Η προσθήκη ενός γραφήματος και η καταγραφή δεδομένων σχετικά με τον τρόπο εμφάνισης/σχεδίασης δεδομένων Arduino στο Android είναι ένα άλλο σεμινάριο σχετικά με την καταγραφή και τη χάραξη δεδομένων pfodDesignerV2/pfodApp.

Βήμα 8: Δημιουργία του σκίτσου Arduino

Δημιουργία του σκίτσου Arduino
Δημιουργία του σκίτσου Arduino
Δημιουργία του σκίτσου Arduino
Δημιουργία του σκίτσου Arduino

Για να δημιουργήσετε τον κώδικα Arduino που θα εμφανίζει αυτό το μενού στο pfodApp, επιστρέψτε στην οθόνη Επεξεργασία Μενού_1 και μετακινηθείτε προς τα κάτω και κάντε κλικ στο κουμπί Δημιουργία κώδικα.

Κάντε κλικ στο κουμπί "Γράψτε κώδικα σε αρχείο" για να εξάγετε το σκίτσο του Arduino στο αρχείο /pfodAppRawData/pfodDesignerV2.txt στο κινητό σας. Στη συνέχεια, βγείτε από το pfodDesignerV2. Μεταφέρετε το αρχείο pfodDesignerV2.txt στον υπολογιστή σας χρησιμοποιώντας είτε σύνδεση USB είτε εφαρμογή μεταφοράς αρχείων, όπως το wifi file transfer pro. Ένα αντίγραφο του δημιουργημένου σκίτσου είναι εδώ, pfodDesignerV2_meter.txt

Φορτώστε το σκίτσο στο Arduino IDE και προγραμματίστε τον πίνακα Uno (ή Mega). Στη συνέχεια, προσθέστε το Iteadstudio Bluetooth Shield V2.2. Εγκαταστήστε το pfodApp στο κινητό σας Android και δημιουργήστε μια νέα σύνδεση Bluetooth με όνομα, για παράδειγμα, Πολύμετρο. Ανατρέξτε στο pfodAppForAndroidGettingStarted.pdf για τον τρόπο δημιουργίας νέων συνδέσεων. Στη συνέχεια, όταν χρησιμοποιείτε το pfodApp για να ανοίξετε τη σύνδεση του πολύμετρου, θα δείτε το σχεδιασμένο μενού σας.

Το άνοιγμα του διαγράμματος δεν εμφανίζει τίποτα ενδιαφέρον γιατί δεν έχουμε προσθέσει υλικό/λογισμικό πολυμέτρων.

Βήμα 9: Προσθήκη του πολύμετρου

Προσθήκη του πολύμετρου
Προσθήκη του πολύμετρου
Προσθήκη του πολύμετρου
Προσθήκη του πολύμετρου
Προσθήκη του πολύμετρου
Προσθήκη του πολύμετρου

Θα τροποποιήσουμε το δημιουργημένο σκίτσο για να προσθέσουμε τον πολυμετρικό αναλυτή και να στείλουμε τα δεδομένα του στο κινητό σας Android. Το πλήρες τροποποιημένο σκίτσο είναι εδώ, pfod_meter.ino

Αυτές οι τροποποιήσεις προσθέτουν τον πολυμετρικό αναλυτή και ένα χρονόμετρο 5 δευτερολέπτων. Εάν δεν υπάρχει νέα έγκυρη ανάγνωση εκείνη τη στιγμή, το σκίτσο σταματά να στέλνει δεδομένα και ενημερώνει την οθόνη Android/pfodApp σε " - - -". Καθώς αλλάζει η χειροκίνητη επιλογή του μετρητή, οι ετικέτες γραφήματος ενημερώνονται, αλλά πρέπει να βγείτε από το γράφημα και να το επιλέξετε ξανά για να δείτε τις νέες ετικέτες. Από την άλλη πλευρά, η ένδειξη του μετρητή ενημερώνεται αυτόματα κάθε δευτερόλεπτο. Τέλος, το pfodApp χειρίζεται το Unicode από προεπιλογή, οπότε όταν εμφανίζεται ο μετρητής που διαβάζει, η μέθοδος getTypeAsUnicode () χρησιμοποιείται για την επιστροφή του Unicode για ohms, Ω και degsC, ℃ για την οθόνη του μετρητή.

Το κουμπί γραφήματος εμφανίζει ένα ενημερωμένο γράφημα των ενδείξεων:-

Τα δεδομένα γραφήματος, σε μορφή CSV, αποθηκεύονται επίσης σε ένα αρχείο στο κινητό σας Android στο /pfodAppRawData/Mulitmeter.txt για μεταφορά αργότερα στον υπολογιστή σας και εισαγωγή σε υπολογιστικό φύλλο για περαιτέρω υπολογισμούς και γραφήματα.

Βήμα 10: Οι τροποποιήσεις σκίτσου σε λεπτομέρεια

  1. Κατεβάστε τη βιβλιοθήκη pfodVC820MeterParser.zip και ανοίξτε το Arduino IDE και κάντε κλικ στο Sketch → Include Library → Add.zip για να προσθέσετε αυτήν τη βιβλιοθήκη στο IDE σας.
  2. Προσθέστε τη βιβλιοθήκη pfodVC820MeterParser στο σκίτσο. Κάντε κλικ στο Sketch → Include Library → pfodVC820MeterParser. Αυτό θα προσθέσει τις δηλώσεις συμπερίληψης στο πάνω μέρος του σκίτσου.
  3. Επεξεργασία pfodParser_codeGenerated parser ("V1"); σε pfodParser_codeGenerated parser (""); Αυτό απενεργοποιεί την προσωρινή αποθήκευση μενού στο pfodApp, ώστε να εμφανίζονται οι αλλαγές του μενού σας. Μπορείτε να επιστρέψετε στο "V3" όταν ολοκληρώσετε όλες τις αλλαγές για να ενεργοποιήσετε ξανά την προσωρινή αποθήκευση μενού.
  4. Προσθέστε αυτές τις γραμμές για να δημιουργήσετε τα αντικείμενα για το σειριακό λογισμικό και το πολύμετρο. pfodVC820MeterParser meter;
  5. Στο τέλος της εγκατάστασης () προσθέστε Serial1.begin (2400). meter.connect (& Serial1);
  6. Πάνω βρόχος () προσθέστε ανυπόγραφο long validReadingTimer = 0; const ανυπόγραφο μακρύ VALID_READINGS_TIMEOUT = 5000; // 5secs bool haveValidReadings = true; // να οριστεί σε true όταν έχουν έγκυρες αναγνώσεις int μέτρησηςType = meter. NO_READING; και στο επάνω μέρος του βρόχου () προσθέστε if (meter.haveReading ()) {if (meter.isValid ()) {validReadingTimer = millis (); haveValidReadings = true; } int newType = meter.getType (); εάν (μέτρησηType! = newType) {// εξάγει νέους τίτλους καταγραφής δεδομένων parser.print (F ("sec",)); parser.println (meter.getTypeAsStr ()); } μέτρησηType = newType; } if ((millis () - validReadingTimer)> VALID_READINGS_TIMEOUT) {haveValidReadings = false; // καμία νέα έγκυρη ανάγνωση τα τελευταία 5 δευτ.}
  7. Πιο κάτω στον βρόχο αντικαταστήστε το parser.print (F ("{= Πολύμετρο | χρόνος (δευτερόλεπτα) | Plot_1 ~~~ ||}")); με parser.print (F ("{= Πολύμετρο | χρόνος (δευτερόλεπτα) | Ανάγνωση μετρητή ~~~")); parser.print (meter.getTypeAsStr ()); parser.print (F ("||}"));
  8. Στο κάτω μέρος του βρόχου () αντικαταστήστε το sendData (). με if (haveValidReadings) {sendData (); }
  9. Στο sendData () αντικαταστήστε το parser.print (','); parser.print (((float) (plot_1_var-plot_1_varMin)) * plot_1_scaling + plot_1_varDisplayMin); με parser.print (','); parser.print (meter.getAsStr);
  10. Στο sendMainMenu () αντικαταστήστε το parser.print (F ("el Label")); με parser.print ('~'); if (haveValidReadings) {parser.print (meter.getDigits ()); parser.print (meter.getScalingAsStr ()); parser.print (meter.getTypeAsUnicode ()); } else {parser.print (F (" - - -")); }
  11. Στο sendMainMenuUpdate () προσθέστε parser.print (F ("|! A")); parser.print ('~'); if (haveValidReadings) {parser.print (meter.getDigits ()); parser.print (meter.getScalingAsStr ()); parser.print (meter.getTypeAsUnicode ()); } else {parser.print (F (" - - -")); } Για να ενημερώσετε την ανάγνωση όταν χρησιμοποιείτε την προσωρινή αποθήκευση μενού.

συμπέρασμα

Αυτό το σεμινάριο έχει δείξει πώς να συνδέσετε ένα φθηνό πολύμετρο σε ένα Arduino Mega2560 μέσω RS232. Υποστηρίζονται επίσης πολλοί άλλοι πίνακες. Η pfodVC820MeterParserlibrary αναλύει τα δεδομένα του πολύμετρου σε floats για υπολογισμούς Arduino και συμβολοσειρές για εμφάνιση και καταγραφή. Το pfodDesignerV2 χρησιμοποιήθηκε για τη δημιουργία ενός βασικού σκίτσου για την εμφάνιση της ένδειξης του πολύμετρου και την εμφάνιση μιας γραφικής παράστασης των τιμών σε ένα κινητό Android χρησιμοποιώντας το pfodApp. Δεν απαιτείται προγραμματισμός Android. Σε αυτό το βασικό σκίτσο προστέθηκε ο χειρισμός του πολύμετρου και το τελικό σκίτσο εμφανίζει την τρέχουσα ανάγνωση του πολύμετρου στο κινητό σας Android, καθώς και σχεδιάζει τις ενδείξεις και τις καταγράφει σε ένα αρχείο στο κινητό σας για μελλοντική χρήση.

Συνιστάται: