Πίνακας περιεχομένων:
- Βήμα 1: Λίστα στοιχείων
- Βήμα 2: Συνδέσεις:
- Βήμα 3: Διαδικασία
- Βήμα 4: Κωδικός Arduino:
- Βήμα 5: Εφαρμογή Android:
Βίντεο: Καταγραφέας θερμοκρασίας και υγρασίας από Arduino σε τηλέφωνο Android με μονάδα κάρτας SD μέσω Bluetooth: 5 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:36
Γεια σε όλους, Αυτό είναι το πρώτο μου Instructable ever, Ελπίζω να βοηθήσω την κοινότητα των κατασκευαστών καθώς έχω επωφεληθεί από αυτό.
Συχνά χρησιμοποιούμε αισθητήρες στα έργα μας, αλλά η εξεύρεση τρόπου συλλογής δεδομένων, αποθήκευσης και μεταφοράς τους Τα τηλέφωνα ή άλλες συσκευές αμέσως και ασύρματα δεν ήταν μια έτοιμη διαδικασία. Αυτό το Instructable θα σας καθοδηγήσει
- Απόκτηση δεδομένων από αισθητήρα (DHT 11) - αισθητήρας θερμοκρασίας και υγρασίας.
- Αποθήκευση των δεδομένων που αποκτήθηκαν σε κάρτα SD με μονάδα κάρτας SD.
- Μεταφορά δεδομένων ασύρματης χρήσης μέσω Bluetooth σε μια προσαρμοσμένη εφαρμογή Android.
- Αποθήκευση των ληφθέντων τιμών αισθητήρα ως αρχείου κειμένου (αρχείο.txt).
Βήμα 1: Λίστα στοιχείων
Ας κατεβούμε να μαζέψουμε τα στρατεύματα για να κάνουμε αυτό το φοβερό έργο.
- Arduino Uno (οποιοδήποτε άλλο arduino θα είναι επίσης κατάλληλο)
- μονάδα κάρτας micro SD.
- Μονάδα κάρτας SD (αυτή που χρησιμοποιώ είναι 8 GB, συνιστάται η χρήση> = 32 GB)
- HC05 - μονάδα Bluetooth
- DHT11 (Αισθητήρας θερμοκρασίας και υγρασίας)
- Μάτσο άλτες.
- Τηλέφωνο Android
Βήμα 2: Συνδέσεις:
Η συναρμολόγηση και η σύνδεση εξαρτημάτων έχει γίνει στα μισά του έργου. Τα προϊόντα που αναφέρονται είναι εύκολα διαθέσιμα στα περισσότερα ηλεκτρονικά καταστήματα λιανικής και διαδικτυακούς ιστότοπους όπως το Amazon.
Arduino - σύνδεση HC05 (Bluetooth):
- +5V - Vcc
- Gnd - Gnd
- Pin 0 - Tx
- Καρφίτσα 1 - Rx
Arduino - Σύνδεση μονάδας SDcard:
- +5V - Vcc
- Gnd - Gnd
- Καρφίτσα 11 - MOSI (Master Out Slave In)
- Καρφίτσα 12 - MISO (Master In Slave Out)
- Pin 13 - SCk (Clock synchronous)
- Καρφίτσα 4 - CS (Επιλογή τσιπ)
Arduino - σύνδεση HC05 (Bluetooth):
- +5V - Vcc
- Gnd - Gnd
- Καρφίτσα A0 - Σήμα
Βήμα 3: Διαδικασία
Συνδέστε όλα τα μέρη όπως αναφέρθηκε στο προηγούμενο βήμα, Με αυτό μπορούμε να γράψουμε κώδικα στο Arduino Ide για να φτάσουμε στον στόχο μας.
Το δεύτερο μέρος του έργου μας είναι να έχουμε μια εφαρμογή Android να λαμβάνει τις τιμές των αισθητήρων, να εμφανίζει τις τιμές και να την αποθηκεύει σε ένα αρχείο στο κινητό. Έχω χρησιμοποιήσει το Thunkable για να κάνω την εφαρμογή Android και επίσης έχω δώσει το apk και το aia για αυτό.
Βήμα 4: Κωδικός Arduino:
Ο κώδικας Arduino έχει δοθεί και εξηγηθεί παρακάτω.
Ο κώδικας arduino είναι κυρίως αυτονόητος με βιβλιοθήκη κάρτας SD και βιβλιοθήκη DHT11. Το bluetooth χρησιμοποιεί σειριακό υλικό που είναι pin0 και pin1 του arduino, επομένως η μεταφορά bluetooth γίνεται με τις σειριακές εκτυπώσεις () που χρησιμοποιούν το πρωτόκολλο I2C και η μονάδα κάρτας SD χρησιμοποιεί το πρωτόκολλο SPI για επικοινωνία με αυτό.
/*
* Κάρτα SD προσαρτημένη στο δίαυλο SPI ως εξής:
** MOSI - pin 11 ** MISO - pin 12 ** CLK - pin 13 ** CS - pin 4 (for MKRZero SD: SDCARD_SS_PIN) * * HC 05 module connection: ** TX - pin 0 (default) [μπορεί να είναι άλλαξε αν χρησιμοποιείται Softwareserial] ** RX - pin 1 (προεπιλογή) [μπορεί να αλλάξει αν χρησιμοποιείται Softwareserial]
*/
#περιλαμβάνω
#συμπεριλάβω #συμπεριλάβω
Αρχείο myFile;
dht DHT; #define DHT11_PIN A0
void setup () {
// Ανοίξτε σειριακές επικοινωνίες και περιμένετε να ανοίξει η θύρα: Serial.begin (9600); Serial.println ("Τύπος, / tΚατάσταση, / tΥγρασία (%), / tΘερμοκρασία (C)"); ενώ (! Σειριακό) {; // περιμένετε να συνδεθεί η σειριακή θύρα. Απαιτείται μόνο για εγγενή θύρα USB} DHTAcq (); sdCardWrite ("test3.txt"); sdCardRead ("test3.txt");
}
άκυρο DHTAcq ()
{Serial.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); Serial.print (DHT. Υγρασία, 1); Serial.print (", / t"); Serial.print (θερμοκρασία DHT., 1); καθυστέρηση (2000). }
void sdCardWrite (String fileNameStr)
{Serial.println ("Αρχικοποίηση κάρτας SD"); if (! SD.begin (4)) {Serial.println ("Η απομίμηση απέτυχε."); ΕΠΙΣΤΡΟΦΗ; } Serial.println ("Η απομίμηση έγινε!"); // ανοίξτε το αρχείο. Σημειώστε ότι μόνο ένα αρχείο μπορεί να είναι ανοιχτό κάθε φορά, // οπότε πρέπει να το κλείσετε πριν ανοίξετε ένα άλλο. myFile = SD.open (fileNameStr, FILE_WRITE); // εάν το αρχείο ανοίξει εντάξει, γράψτε σε αυτό: if (myFile) {myFile.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); myFile.print (DHT. υγρασία, 1); myFile.print (", / t"); myFile.print (θερμοκρασία DHT., 1); myFile.close (); Serial.println ("έγινε!"); καθυστέρηση (200)? /*Serial.print("Γράφοντας στο test.txt … "); myFile.println ("δοκιμή 1, 2, 3."); // κλείστε το αρχείο: myFile.close (); Serial.println ("έγινε."); */} else {// εάν το αρχείο δεν άνοιξε, εκτυπώστε ένα σφάλμα: Serial.println ("σφάλμα ανοίγματος test.txt"); }}
void sdCardRead (Όνομα αρχείου συμβολοσειράς)
{// ανοίξτε ξανά το αρχείο για ανάγνωση: myFile = SD.open (όνομα αρχείου); if (myFile) {Serial.println ("test.txt:"); // διαβάστε από το αρχείο μέχρι να μην υπάρχει τίποτα άλλο σε αυτό: while (myFile.available ()) {Serial.write (myFile.read ()); } // κλείστε το αρχείο: myFile.close (); } else {// εάν το αρχείο δεν άνοιξε, εκτυπώστε ένα σφάλμα: Serial.println ("σφάλμα ανοίγματος test.txt"); }}
void loop () {
// τίποτα δεν συμβαίνει μετά τη ρύθμιση //Serial.println("test 1.. 2.. 3 "); // καθυστέρηση (1000); }
Βήμα 5: Εφαρμογή Android:
Η εφαρμογή Android έχει δημιουργηθεί με εφαρμογή Thunkable με προγραμματισμό drag and drop. Θα καταγράψει τα δεδομένα στην ετικέτα στην οθόνη και μόλις πατηθεί το κουμπί Αποθήκευση δεδομένων στη θέση AppInventor/Data με το όνομα αρχείου που έχει δοθεί ο κωδικός.
Το έργο μπορεί να επεκταθεί ώστε να έχει αποθήκευση εκτός σύνδεσης ό, τι δεδομένα αισθητήρων θέλουμε αντικαθιστώντας με τις επιθυμητές μονάδες αισθητήρα και η εφαρμογή μπορεί να επεκταθεί για να ανακτήσει τα δεδομένα από τον αποθηκευτικό χώρο και να χειριστεί ανάλογα με την εφαρμογή.
Συνιστάται:
Παρακολούθηση ποιότητας αέρα με MQ135 και εξωτερικός αισθητήρας θερμοκρασίας και υγρασίας πάνω από MQTT: 4 βήματα
Παρακολούθηση ποιότητας αέρα με MQ135 και εξωτερικός αισθητήρας θερμοκρασίας και υγρασίας πάνω από MQTT: Αυτό είναι για δοκιμαστικούς σκοπούς
Δημιουργία ειδοποιήσεων μέσω ηλεκτρονικού ταχυδρομείου για τον αισθητήρα ασύρματης θερμοκρασίας και υγρασίας NCD με χρήση του Κόμβου-Κόκκινου: 22 Βήματα
Δημιουργία ειδοποιήσεων μέσω ηλεκτρονικού ταχυδρομείου για τον αισθητήρα ασύρματης θερμοκρασίας και υγρασίας NCD χρησιμοποιώντας το Node-Red: Χρησιμοποιούμε εδώ τον αισθητήρα θερμοκρασίας και υγρασίας του NCD, αλλά τα βήματα παραμένουν ίσα για οποιοδήποτε προϊόν ncd, οπότε αν έχετε άλλους ασύρματους αισθητήρες ncd, δοκιμάστε δωρεάν παρατηρήστε παράλληλα. Με τη διακοπή αυτού του κειμένου, πρέπει να
Arduino με μονάδα θερμοκρασίας και υγρασίας DHT 11: 7 βήματα
Arduino With DHT 11 Temperature and Humidity Module: «Ο Άρης σπρώχνει την ανθρώπινη φαντασία όπως κανένας άλλος πλανήτης. Με ισχυρότερη δύναμη από τη βαρύτητα, προσελκύει το βλέμμα στη λαμπερή κόκκινη παρουσία στον καθαρό νυχτερινό ουρανό ». Το μάθημα της φυσικής μας έχει αναλάβει να κατασκευάσει ένα κάθισμα κύβου 10 x 10 x 10 cm
Ένδειξη θερμοκρασίας και υγρασίας και συλλογή δεδομένων με Arduino και επεξεργασία: 13 βήματα (με εικόνες)
Εμφάνιση θερμοκρασίας και υγρασίας και συλλογή δεδομένων με Arduino και επεξεργασία: Εισαγωγή: Πρόκειται για ένα έργο που χρησιμοποιεί έναν πίνακα Arduino, έναν αισθητήρα (DHT11), έναν υπολογιστή Windows και ένα πρόγραμμα επεξεργασίας (δωρεάν λήψη) για την εμφάνιση δεδομένων θερμοκρασίας, υγρασίας σε ψηφιακή και φόρμα γραφήματος, εμφάνιση ώρας και ημερομηνίας και εκτέλεση χρόνου αντίστροφης μέτρησης
Geek - Κάτοχος πιστωτικής κάρτας/επαγγελματικής κάρτας από παλιό σκληρό δίσκο φορητού υπολογιστή: 7 βήματα
Geek - Κάτοχος πιστωτικής κάρτας / επαγγελματικής κάρτας από παλιό σκληρό δίσκο φορητού υπολογιστή: Ένας εξειδικευμένος επιχειρηματίας / κάτοχος πιστωτικής κάρτας. Μου ήρθε αυτή η τρελή ιδέα όταν ο σκληρός δίσκος του φορητού υπολογιστή μου πέθανε και ουσιαστικά κατέστη άχρηστος. Έχω συμπεριλάβει τις ολοκληρωμένες εικόνες εδώ