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

Δημιουργία καταγραφής δεδομένων με το Raspberry Pi: 3 βήματα (με εικόνες)
Δημιουργία καταγραφής δεδομένων με το Raspberry Pi: 3 βήματα (με εικόνες)

Βίντεο: Δημιουργία καταγραφής δεδομένων με το Raspberry Pi: 3 βήματα (με εικόνες)

Βίντεο: Δημιουργία καταγραφής δεδομένων με το Raspberry Pi: 3 βήματα (με εικόνες)
Βίντεο: Νέα Raspberry Pi 3 Tutorial - Πώς να δημιουργήσει για Gaming & Entertainment Έργα 2024, Νοέμβριος
Anonim
Δημιουργία καταγραφής δεδομένων με το Raspberry Pi
Δημιουργία καταγραφής δεδομένων με το Raspberry Pi

Αυτός ο απλός καταγραφέας δεδομένων λαμβάνει τακτικές μετρήσεις φωτός με ένα αναλογικό LDR (Photoresistor) και τα αποθηκεύει σε ένα αρχείο κειμένου στο Raspberry Pi. Αυτός ο καταγραφέας δεδομένων μετρά και καταγράφει το επίπεδο φωτισμού κάθε 60 δευτερόλεπτα, επιτρέποντάς σας να παρακολουθείτε πώς αλλάζει η φωτεινότητα σε μεγάλο χρονικό διάστημα.

Εάν θέλουμε να χρησιμοποιήσουμε αναλογικούς αισθητήρες με το Raspberry Pi, θα πρέπει να είμαστε σε θέση να μετρήσουμε την αντίσταση του αισθητήρα. Σε αντίθεση με το Arduino, οι ακίδες GPIO του Raspberry Pi δεν μπορούν να μετρήσουν την αντίσταση και μπορούν να αντιληφθούν μόνο εάν η τάση που τους παρέχεται είναι πάνω από μια ορισμένη τάση (περίπου 2 βολτ). Για να ξεπεράσετε αυτό το ζήτημα, μπορείτε να χρησιμοποιήσετε έναν Μετατροπέα Αναλογικού σε ηφιακό (ADC) ή αντ 'αυτού να χρησιμοποιήσετε έναν σχετικά φθηνό πυκνωτή.

Βήμα 1: Τι θα χρειαστείτε

Αυτό που θα χρειαστείτε
Αυτό που θα χρειαστείτε
Αυτό που θα χρειαστείτε
Αυτό που θα χρειαστείτε
Αυτό που θα χρειαστείτε
Αυτό που θα χρειαστείτε
Αυτό που θα χρειαστείτε
Αυτό που θα χρειαστείτε

- Ένα RaspberryPi με ήδη εγκατεστημένο το Raspbian. Θα χρειαστεί επίσης να έχετε πρόσβαση στο Pi χρησιμοποιώντας οθόνη, ποντίκι και πληκτρολόγιο ή μέσω απομακρυσμένης επιφάνειας εργασίας. Μπορείτε να χρησιμοποιήσετε οποιοδήποτε μοντέλο Raspberry Pi. Εάν διαθέτετε ένα από τα μοντέλα Pi Zero, μπορεί να θέλετε να κολλήσετε μερικές καρφίτσες κεφαλίδας στη θύρα GPIO.

- Μια αντίσταση εξαρτώμενη από το φως (επίσης γνωστή ως LDR ή Photoresistor)

- Κεραμικός πυκνωτής 1 uF

- Ένα Solderless Prototyping Breadboard

- Μερικά καλώδια από άνδρες έως γυναίκες

Βήμα 2: Δημιουργήστε το κύκλωμά σας

Δημιουργήστε το κύκλωμά σας
Δημιουργήστε το κύκλωμά σας
Δημιουργήστε το κύκλωμά σας
Δημιουργήστε το κύκλωμά σας

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

Αφού ελέγξετε το κύκλωμά σας, συνδέστε προσεκτικά τα καλώδια βραχυκυκλωτή στις ακίδες GPIO του Raspberry Pi ακολουθώντας το παραπάνω διάγραμμα.

Βήμα 3: Δημιουργήστε ένα σενάριο Python για ανάγνωση και καταγραφή των δεδομένων σας

Δημιουργήστε ένα σενάριο Python για ανάγνωση και καταγραφή των δεδομένων σας
Δημιουργήστε ένα σενάριο Python για ανάγνωση και καταγραφή των δεδομένων σας

Ανοίξτε το IDLE στο Raspberry Pi (Μενού> Προγραμματισμός> Python 2 (IDLE)) και ανοίξτε ένα νέο έργο (Αρχείο> Νέο αρχείο). Στη συνέχεια, πληκτρολογήστε τα ακόλουθα:

εισαγωγή RPi. GPIO ως GPIO

ώρα εισαγωγής εισαγωγή datetime loginterval = 60 #log interval in seconds savefilename = "lightlevels.txt" SensorPin = 17 TriggerPin = 27

GPIO.setmode (GPIO. BCM)

cap = 0.000001 #1uf adj = 2.130620985

def αντίσταση μέτρησης (mpin, tpin):

GPIO.setup (mpin, GPIO. OUT) GPIO.setup (tpin, GPIO. OUT) GPIO.output (mpin, False) GPIO.output (tpin, False) time.sleep (0.2) GPIO.setup (mpin, GPIO IN) time.sleep (0,2) GPIO.output (tpin, True) starttime = time.time () endtime = time.time () while (GPIO.input (mpin) == GPIO. LOW): endtime = time.time () επιστροφή λήξης χρόνου λήξης def defeline (txt, fn): f = open (fn, 'a') f.write (txt+'\ n') f.close () i = 0 t = 0 while True: stime = time.time () για μια περιοχή (1, 11): res = (αντίσταση μέτρησης (SensorPin, TriggerPin)/cap)*adj i = i+1 t = t+res αν a == 10: t = t/i εκτύπωση (t) γραμματοσειρά (str (datetime.datetime.now ())+","+str (t), savefilename) i = 0 t = 0 ενώ stime+loginterval> time.time (): #περιμένετε έως ότου έχει πέρασε ο χρόνος. ύπνος (0.0001)

Αποθηκεύστε το έργο σας ως datalogger.py (Αρχείο> Αποθήκευση ως) στο φάκελο Έγγραφα.

Τώρα ανοίξτε το Τερματικό (Μενού> Αξεσουάρ> Τερματικό) και πληκτρολογήστε την ακόλουθη εντολή:

python datalogger.py

Το σενάριο θα δημιουργήσει ένα αρχείο κειμένου με το όνομα "lightlevels.txt" και θα το ενημερώνει κάθε 60 δευτερόλεπτα. Μπορείτε να αλλάξετε αυτό το όνομα αρχείου στη γραμμή 6. Μπορείτε επίσης να προσαρμόσετε τη συχνότητα ενημέρωσης του καταγραφικού δεδομένων αλλάζοντας τη γραμμή 5.

Συνιστάται: