Arduino Εργασία με πολλά αρχεία (ΔΙΑΒΑΣΤΕ/ΓΡΑΦΤΕ): 4 βήματα
Arduino Εργασία με πολλά αρχεία (ΔΙΑΒΑΣΤΕ/ΓΡΑΦΤΕ): 4 βήματα
Anonim
Arduino Εργασία με πολλά αρχεία (ΔΙΑΒΑΣΤΕ/ΓΡΑΦΤΕ)
Arduino Εργασία με πολλά αρχεία (ΔΙΑΒΑΣΤΕ/ΓΡΑΦΤΕ)

γεια σας παιδιά

Σήμερα σας παρουσιάζω το έργο Arduino που λειτουργεί με ασπίδα RTC που μπορεί να αποθηκεύσει δεδομένα. Το κύριο καθήκον αυτού του έργου είναι η εργασία με πολλά αρχεία που είναι αποθηκευμένα σε κάρτα sc. Αυτό το έργο περιέχει κώδικα που λειτουργεί με τρία αρχεία τα οποία αποθηκεύονται απευθείας στην κάρτα SD με arduino και RTC shield. Επειδή αυτό το έργο λειτουργεί με την ασπίδα DataLogger, αυτά τα δεδομένα θα αποθηκευτούν επίσης την ίδια στιγμή που είναι στον υπολογιστή σας.

Αυτό το έργο είναι αναβαθμισμένη έκδοση του τελευταίου μου έργου. Αυτό το έργο μπορεί να βρεθεί στον ιστότοπο με οδηγίες με το όνομα Arduino Data Logger Shield Small Project. Εάν αντιμετωπίζετε κάποια προβλήματα με την κατανόηση αυτού του έργου, σας προτείνω να δείτε πρώτα ένα πιο εύκολο.

Η κύρια διαφορά μεταξύ αυτών των δύο έργων είναι ότι αυτό το έργο χρησιμοποιεί 3 αρχεία κειμένου, επίσης αυτή τη φορά διαβάζουμε δεδομένα από δύο από αυτά. Επειδή μπορούμε να διαβάσουμε δεδομένα, μπορούμε να πάρουμε μέση τιμή υγρασίας και θερμοκρασίας, που αποθηκεύονται στην κάρτα sd. Αυτό θα εμφανιστεί επίσης στην οθόνη LCD που είναι συνδεδεμένη στο Arduino.

Για άλλη μια φορά, εάν είστε νέοι στο Arduino και αυτό είναι το πρώτο σας έργο που χρησιμοποιεί το DataLogger, προτείνω να πάτε και να ελέγξετε αυτόν τον σύνδεσμο https://www.instructables.com/id/Arduino-Data-Logg… και όταν λάβετε τα πάντα Ελάτε εδώ και διασκεδάστε. Ας αρχίσουμε.

Βήμα 1: Μέρη

Ανταλλακτικά
Ανταλλακτικά
Ανταλλακτικά
Ανταλλακτικά
Ανταλλακτικά
Ανταλλακτικά

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

Μέρη:

  • Arduino uno rev3
  • Ασπίδα καταγραφής Arduino Data
  • Κάρτα μνήμης SD
  • LCD 1602 πράσινη οθόνη με I2C (μπορείτε να χρησιμοποιήσετε οποιαδήποτε άλλη οθόνη)
  • DHT22 (το DHT11 λειτουργεί επίσης καλά, αλλά η ακρίβειά του δεν είναι ίδια με το dht22)
  • Λίγα καλώδια βραχυκυκλωτήρων
  • Breadboard
  • Μπαταρία 9v

Μπορείτε να αλλάξετε ορισμένα μέρη. Η καλή πλευρά αυτού του έργου είναι ότι μπορεί να χρησιμοποιηθεί για την αποθήκευση δεδομένων από οποιονδήποτε άλλο αισθητήρα. Θα προσπαθούσα να δουλέψω με αισθητήρα καπνού ή αισθητήρα υπερύθρων. Λειτουργεί με οποιονδήποτε άλλο αισθητήρα. Μπορείτε επίσης να αλλάξετε το Arduino σας, αλλά λάβετε υπόψη ότι το Arduino είναι το καλύτερο για να ταιριάξετε το Data logger.

Βήμα 2: Σύνδεση όλων των εξαρτημάτων μαζί

Συνδέοντας όλα τα μέρη μαζί
Συνδέοντας όλα τα μέρη μαζί

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

Στο επάνω μέρος αυτού του βήματος μπορείτε να δείτε σχηματικά κατασκευασμένα με φρεζάρισμα. Το εύκολο πράγμα είναι ότι πρέπει να συνδέσετε τον καταγραφέα δεδομένων στο επάνω μέρος του arduino σας. Συνδέστε την κάρτα sd σας με τον καταγραφέα δεδομένων και το τελευταίο πράγμα που πρέπει να κάνετε είναι να συνδέσετε τον αισθητήρα dht και τον LCD. Χρησιμοποιούμε 5V από το arduino για + μέρος στο breadboard, GND για - μέρος, και ακολουθώντας αυτή τη γραμμή συνδέετε επίσης + γραμμή αισθητήρα και LCD σε + γραμμή της σανίδας ψωμιού. Το ίδιο ισχύει για - μέρη, απλά πηγαίνουν στη γραμμή που ακολουθεί -. Ο αισθητήρας Dht είναι συνδεδεμένος στο pin 7 αυτή τη φορά. Η οθόνη LCD είναι συνδεδεμένη σε A4 και A5. Εύκολο, έτσι δεν είναι;

ΟΘΟΝΗ ΥΓΡΟΥ ΚΡΥΣΤΑΛΛΟΥ:

  • VCC σε 5V (+ μέρος στο ψωμί)
  • GND σε gnd (-μέρος στο breadboard)
  • SDA σε αναλογικό pin A4
  • SCL στην αναλογική ακίδα A5

DHT22:

Χρησιμοποίησα dht με σανίδα στην οποία υπάρχουν τρεις ακίδες που πρέπει να χρησιμοποιηθούν:

  • + έως 5V
  • - στο GND
  • έξω στην ψηφιακή ακίδα 7

Βήμα 3: Κωδικοποίηση

Αυτός ο κωδικός ώρας είναι πιο περίπλοκος. Ένα καλό μέρος του σχολιάζεται ώστε να μπορείτε να το καταλάβετε με ευκολία.

Θα εξηγήσω αυτόν τον κώδικα σε λίγα σύντομα μέρη.

1. Πρώτα απ 'όλα να έχετε κατά νου ότι αυτός ο κώδικας θα χρειαστεί λίγες βιβλιοθήκες εγκατεστημένες στον υπολογιστή σας. Αυτά είναι: Time (TimeLib), Wire, LiquidCrystal, DHT, OneWire, SPI, SD, RTClib. Μπορείτε πιθανώς να χρησιμοποιήσετε κάποιες άλλες βιβλιοθήκες, αλλά αυτές οι βιβλιοθήκες λειτούργησαν για μένα. Στη συνέχεια, καθορίζουμε όλα όσα χρειάζονται για αυτό το έργο. Ο αισθητήρας DHT είναι εύκολο να οριστεί, απλά πρέπει να πείτε τον πείρο στον οποίο είναι συνδεδεμένος ο αισθητήρας και τον τύπο του αισθητήρα. Στη συνέχεια, πρέπει να ορίσετε ορισμένες ακίδες που θα χρησιμοποιηθούν για κάρτα SD και καρφίτσα RTC. Και μετά από αυτό μπορείτε να δείτε μεταβλητές που χρησιμοποιούνται για αυτό το έργο.

3. Το Project χρησιμοποιεί λίγες μεθόδους και όλες είναι για εργασία με αισθητήρα DHT. Εάν εργάζεστε σε έργο με αυτόν τον τύπο αισθητήρα, μπορείτε να τον χρησιμοποιήσετε. Αυτές οι μέθοδοι είναι getTemperature (), getMidTemperature (), getHumidity (), getMidHumidity (), readSensorData (), printLcdTemperature (), printHumidity (), printLcdMidTemperature (), printMidHumidity ().

4. Στη ρύθμιση υπάρχουν λίγα πράγματα που χρειάζονται για να γίνουν. Πρώτα απ 'όλα πρέπει να ορίσετε τον χρόνο. Επειδή χρησιμοποιούμε RTC εδώ θέλουμε να έχουμε τον κατάλληλο χρόνο όταν το Arduino μας αποθηκεύει δεδομένα από τον αισθητήρα. Αυτό το μέρος θα σχολιαστεί με κώδικα. Εάν κάνετε σχόλιο //RTC.adjust(DateTime(_DATE_, _TIME_)); γραμμή μπορείτε να ορίσετε χρόνο στο έργο σας. Αφού ορίσετε την κατάλληλη ώρα, μπορείτε να σχολιάσετε ξανά αυτό το μέρος και μπορείτε να χρησιμοποιήσετε το arduino χωρίς υπολογιστή. Αυτό είναι υπέροχο επειδή μπορείτε να χρησιμοποιήσετε τον αισθητήρα θερμοκρασίας σε κάποιο άλλο δωμάτιο και να παρακολουθείτε τη θερμοκρασία χωρίς να χρειάζεστε τον υπολογιστή σας. Το δεύτερο μέρος που πρέπει να γίνει είναι η χρήση της κάρτας SD στην οποία θα αποθηκευτούν δεδομένα. Το Shield θα προσπαθήσει να δει αν υπάρχει κάρτα και να το προετοιμάσει. Εάν δεν υπάρχει, το μήνυμα σφάλματος θα εμφανιστεί στην οθόνη Serial στο Arduino IDE.

Κατά τη ρύθμιση είναι το πρώτο βήμα όπου δουλεύουμε με την εγγραφή αρχείων στην κάρτα μνήμης. Το πρώτο πράγμα που είναι γραμμένο στην κάρτα είναι στο αρχείο datalog.txt. Αυτή τη φορά γράφουμε μόνο την ώρα καταγραφής της συσκευής μας και δημιουργούμε επίσης μια μικρή σειρά ονομάτων (μεταβλητές που χρησιμοποιούνται για εξοικονόμηση και επίσης χρόνο)

Το τελευταίο μέρος της ρύθμισης είναι η προετοιμασία της οθόνης LCD και ο αισθητήρας dht.

5. Το τμήμα βρόχου είναι το κύριο μέρος του έργου. Η εργασία με τον αισθητήρα αυτή τη φορά είναι πολύ εύκολη επειδή χρησιμοποιεί μόνο μία μέθοδο η οποία διαβάζει τις τιμές που λαμβάνει ο αισθητήρας. Το τμήμα LCD είναι επίσης πολύ εύκολο. Το επόμενο μέρος είναι ένα που πρέπει να εξηγήσουμε εδώ. Αυτό το έργο κάνει κάτι κάθε λεπτό. Ένα λεπτό αποθηκεύει δεδομένα στο datalog.txt. Αυτά τα δεδομένα μπορεί να διαβαστεί από κάποιον που δεν ξέρει καν τον προγραμματισμό του arduinos. Στην άλλη πλευρά. Ένα λεπτό εξοικονομεί θερμοκρασία στο datalogB.txt και ένα λεπτό εξοικονομεί υγρασία στο datalogC.txt. Χρειαζόμαστε datalogB.txt και dataLogC.txt για να μπορούμε να διαβάζουμε από την κάρτα μνήμης μας. Έτσι, αν συνεχίσουμε να διαβάζουμε τον κωδικό μας, μπορείτε επίσης να δείτε ότι αυτός ο κώδικας διαβάζει τις μέσες τιμές της θερμοκρασίας και της υγρασίας και τις αποθηκεύει σε μια σειρά. Wantedθελα να φτιάξω μια συσκευή που παίρνει μόνο τα τελευταία δέκα ψηφία στο αρχείο. Αυτό το έργο εκτελείται πάντα μέσω των τιμών από την κάρτα και αποθηκεύει τα τελευταία δέκα ψηφία. Αυτά τα ψηφία που είναι αποθηκευμένα σε γραμμές χρησιμοποιούνται έτσι ώστε να μπορούμε να λάβουμε τη μέση τιμή της θερμοκρασίας και τη μέση τιμή της υγρασίας. Τα οποία εμφανίζονται επίσης στην οθόνη LCD μετά από κάποιο χρονικό διάστημα

Βήμα 4: Χρήση Arduino και κάρτας SD στη συνέχεια

Χρησιμοποιώντας το Arduino και την κάρτα SD στη συνέχεια
Χρησιμοποιώντας το Arduino και την κάρτα SD στη συνέχεια
Χρησιμοποιώντας το Arduino και την κάρτα SD στη συνέχεια
Χρησιμοποιώντας το Arduino και την κάρτα SD στη συνέχεια
Χρησιμοποιώντας το Arduino και την κάρτα SD στη συνέχεια
Χρησιμοποιώντας το Arduino και την κάρτα SD στη συνέχεια
Χρησιμοποιώντας το Arduino και την κάρτα SD στη συνέχεια
Χρησιμοποιώντας το Arduino και την κάρτα SD στη συνέχεια

Εδώ μπορείτε να δείτε τι εμφανίζεται στην οθόνη LCD και πώς λειτουργεί το έργο. Επίσης, βάζω εδώ φωτογραφίες των καταλόγων δεδομένων που έχω αποθηκεύσει. Το Datalog.txt είναι αυτό που μπορεί να χρησιμοποιηθεί για να δείτε πώς η συσκευή αποθηκεύει κάθε τιμή. DatalogB και datalogC υπάρχουν, ώστε να μπορείτε να δείτε πώς φαίνονται. Είναι γραμμένα έτσι ώστε να μπορείτε να χρησιμοποιήσετε τη μέθοδο ανάλυσης και να διαβάσετε δεδομένα χωρίς προβλήματα.

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

Ευχαριστώ παιδιά που διαβάσατε αυτό το έργο. Ελπίζω να σας βοηθήσει. Σας ευχαριστώ.

Με σεβασμό Σεμπάστιαν

Συνιστάται: