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

Καταγραφέας θερμοκρασίας και υγρασίας από Arduino σε τηλέφωνο Android με μονάδα κάρτας SD μέσω Bluetooth: 5 βήματα
Καταγραφέας θερμοκρασίας και υγρασίας από Arduino σε τηλέφωνο Android με μονάδα κάρτας SD μέσω Bluetooth: 5 βήματα

Βίντεο: Καταγραφέας θερμοκρασίας και υγρασίας από Arduino σε τηλέφωνο Android με μονάδα κάρτας SD μέσω Bluetooth: 5 βήματα

Βίντεο: Καταγραφέας θερμοκρασίας και υγρασίας από Arduino σε τηλέφωνο Android με μονάδα κάρτας SD μέσω Bluetooth: 5 βήματα
Βίντεο: Arduino | Αισθητήρας θερμοκρασίας υγρασίας αέρα | 2024, Νοέμβριος
Anonim
Καταγραφέας δεδομένων θερμοκρασίας και υγρασίας από το Arduino στο τηλέφωνο Android με μονάδα κάρτας SD μέσω Bluetooth
Καταγραφέας δεδομένων θερμοκρασίας και υγρασίας από το Arduino στο τηλέφωνο Android με μονάδα κάρτας SD μέσω Bluetooth

Γεια σε όλους, Αυτό είναι το πρώτο μου 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
Εφαρμογή Android
Εφαρμογή Android
Εφαρμογή Android

Η εφαρμογή Android έχει δημιουργηθεί με εφαρμογή Thunkable με προγραμματισμό drag and drop. Θα καταγράψει τα δεδομένα στην ετικέτα στην οθόνη και μόλις πατηθεί το κουμπί Αποθήκευση δεδομένων στη θέση AppInventor/Data με το όνομα αρχείου που έχει δοθεί ο κωδικός.

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

Συνιστάται: