Πίνακας περιεχομένων:
- Βήμα 1: Μέρη
- Βήμα 2: Ρύθμιση υλικού
- Βήμα 3: Προγραμματισμός αισθητήρα χρώματος
- Βήμα 4: Ρύθμιση του Raspbian για RFID RC522
- Βήμα 5: Δημιουργήστε μια ροή Node-RED για να διαβάσετε την ετικέτα RFID και τον αισθητήρα χρώματος
- Βήμα 6: Ανάπτυξη και Πίνακας ελέγχου
- Βήμα 7: Μέλλον
Βίντεο: RFID + Color Sensor IoT Project: 7 Βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:35
Η ιδέα αυτού του έργου είναι να ανταμείψει τους ανθρώπους που πίνουν από φλιτζάνια καφέ και να τα απορρίψουν σωστά. Πάρτε για παράδειγμα μια εταιρεία όπως ο Tim Hortons. το 2014, ηχογράφησαν να σερβίρουν 2 δισεκατομμύρια φλιτζάνια καφέ ετησίως. Παρόλο που τα φλιτζάνια τους μπορούν να ανακυκλωθούν, δεν γίνονται αποδεκτά για ανακύκλωση παντού αυτή τη στιγμή. Όπως αναφέρεται στον ιστότοπό τους, «αυτήν τη στιγμή έχουμε προγράμματα σε πολλά εστιατόρια σε όλο τον Καναδά όπου συλλαμβάνουμε το χάρτινο ποτήρι μας (και άλλες συσκευασίες) για ανακύκλωση ή κομποστοποίηση. Ο αριθμός των τοποθεσιών όπου προσφέρουμε ανακύκλωση στο κατάστημα συνεχίζει να αυξάνεται καθώς συνεργαζόμαστε με τοπικές εταιρείες διαχείρισης απορριμμάτων για να επεκτείνουμε το πρόγραμμά μας… »
Έτσι, καθώς συνεχίζουν να επεκτείνονται και να ανεβαίνουν τη βιομηχανία ως εταιρεία που φροντίζει το περιβάλλον, πιστεύουμε ότι μπορούν επίσης να αυξήσουν τον αριθμό των πελατών και να ευαισθητοποιήσουν δημιουργώντας ένα σύστημα βραβείων κινήτρων.
Αυτό το έργο είναι μια προσπάθεια ανάπτυξης ενός βασικού συστήματος γύρω από αυτήν την ιδέα.
Βήμα 1: Μέρη
- Raspberry Pi 3
- Arduino Mega
- Μίνι σανίδα ψωμιού
- Γυναικεία. Αρσενικά καλώδια
- 2 x LED (κόκκινο και πράσινο)
- 2 αντιστάσεις 330 Ohm
- Αισθητήρας χρώματος TCS3200
- RC522 RFID Αναγνώστης και ετικέτες
- Καλώδιο USB 2.0 τύπου A/B
- Υπολογιστής και Διαδίκτυο
- Φλυτζάνι καφέ
Βήμα 2: Ρύθμιση υλικού
Σύνδεση του TCS 3200 με το Arduino
VCC 5V
GND GND
S0 4
S1 5
S2 6
S3 7
E0 GND
ΕΞΩ 8
Συνδέστε RFID/LED στο Raspberry Pi
SDA 24
SCK 23
MOSI 19
MISO 21
GND 6
RST 22
3.3V 1
ΠΡΑΣΙΝΟ LED 12 και 330 Ohm έως GND
RED LED 11 και 330 Ohm έως GND
Βήμα 3: Προγραμματισμός αισθητήρα χρώματος
Το TCS3200 ανιχνεύει το έγχρωμο φως μέσω μιας εσωτερικής συστοιχίας φωτοδιόδων 8 x 8. Ένας μετατροπέας συχνότητας ρεύματος χρησιμοποιείται για τη μετατροπή της ένδειξης από τη φωτοδίοδο σε τετράγωνο κύμα του οποίου η συχνότητα είναι ανάλογη με την ένταση του φωτός.
Οι φωτοδιόδους έχουν τρία διαφορετικά φίλτρα χρώματος. Υπάρχουν 16 κόκκινα φίλτρα, 16 πράσινα φίλτρα, 16 μπλε φίλτρα και άλλα 16 φωτοδιόδια χωρίς φίλτρο.
Για να αφήσουμε τη φωτοδίοδο να διαβάσει το χρώμα, πρέπει να ελέγχουμε τις ακίδες S2 και S3.
Χρωματικός πίνακας
Χρώμα S2 S3
Κόκκινο ΧΑΜΗΛΟ ΧΑΜΗΛΟ
Μπλε ΧΑΜΗΛΟ Υ HIGHΗΛΟ
Πράσινο Υ HIGHΗΛΟ Υ HIGHΟΣ
Κάθε αισθητήρας μπορεί να διαφέρει ελαφρώς στη συχνότητα. Φέρνοντας τον αισθητήρα κοντά στο κύπελλο. Χρησιμοποιήστε τον κώδικα Colour_Tester.ino για να βρείτε τις σωστές τιμές για το συγκεκριμένο κύπελλο και να θυμηθείτε τις δεδομένες τιμές στη Σειριακή οθόνη. Στη συνέχεια, γράψτε αν δηλώσεις για έξοδο "ναι" ή "όχι" εάν ο αισθητήρας ανιχνεύει το κύπελλο όπως φαίνεται στο Sensor_Data.ino.
Μόλις ολοκληρωθεί, συνδέστε το Arduino στο Raspberry Pi μέσω καλωδίου USB.
Βήμα 4: Ρύθμιση του Raspbian για RFID RC522
1. Ενεργοποιήστε το SPI (Serial Peripheral Interface), ανοίγοντας το τερματικό και εκτελώντας την ακόλουθη εντολή.
sudo raspi-config
2. Χρησιμοποιήστε τα πλήκτρα βέλους για να επιλέξετε "5 Επιλογές διασύνδεσης" και πατήστε Enter.
3. Χρησιμοποιήστε τα πλήκτρα βέλους για να επιλέξετε "P4 SPI" και πατήστε Enter.
4. Τώρα θα ερωτηθείτε εάν θέλετε να ενεργοποιήσετε τη διεπαφή SPI, επιλέξτε Ναι με τα βέλη και πατήστε Enter για να συνεχίσετε.
5. Μόλις ενεργοποιηθεί επιτυχώς η διεπαφή SPI, θα πρέπει να δείτε το ακόλουθο κείμενο να εμφανίζεται στην οθόνη "Η διεπαφή SPI είναι ενεργοποιημένη". Επανεκκινήστε το Raspberry Pi πατώντας Enter και μετά ESC. Πληκτρολογήστε την ακόλουθη εντολή στο τερματικό στο Raspberry Pi για να επανεκκινήσετε το Raspberry Pi.
sudo επανεκκίνηση
6. Μόλις ολοκληρωθεί η επανεκκίνηση του Raspberry Pi, ελέγξτε για να βεβαιωθείτε ότι έχει πράγματι ενεργοποιηθεί. Εκτελέστε την ακόλουθη εντολή για να δείτε αν εμφανίζεται το spi_bcm2835.
lsmod | grep spi
7. Εγκαταστήστε το Python-dev και το git με την εντολή.
sudo apt-get install python-dev git
8. Ξεκινήστε το Node-Red για να δημιουργήσετε έναν φάκελο ~/.node στον αρχικό σας φάκελο. Εκτελέστε την εντολή
κόμβος-κόκκινο-εκκίνηση
Αποκτήστε πρόσβαση στη διεπαφή χρήστη χρησιμοποιώντας το πρόγραμμα περιήγησής σας, δείξτε τη διεύθυνση https://: 1880. Για παράδειγμα, το Pi μου βρίσκεται στο δίκτυο γραφείου του σπιτιού μου στη διεύθυνση 192.168.0.17, οπότε για πρόσβαση στο Node-RED περιηγούμαι στη διεύθυνση
Τώρα σταματήστε τον διακομιστή Node-Red με την εντολή.
κόμβος-κόκκινο-στάση
9. Εγκαταστήστε τον κόμβο Daemon και τον σειριακό κόμβο.
cd ~./κόμβος-κόκκινο
npm i node-red-node-daemon npm i node-red-node-serialport
10. Εγκαταστήστε το SPI-Py.
cd
git clone https://github.com.lthiery/SPI-Py.git cd SPI-Py/sudo python setup.py install
11. Εξαγάγετε αυτά τα αρχεία από το zip στον κεντρικό κατάλογο του χρήστη σας - δηλ. /Home /pi.
12. Κάντε επανεκκίνηση του pi και Start Node-Red για άλλη μια φορά.
13. Δοκιμάστε το πρόγραμμα ανάγνωσης καρτών εκτελώντας το σενάριο από τη γραμμή εντολών
cd
python rfidreader.py
Όταν κυματίζετε μια ετικέτα σε απόσταση ~ 1cm από την κύρια περιοχή του προγράμματος ανάγνωσης καρτών, το σενάριο θα εκτυπώσει το μοναδικό UID της κάρτας και τον τύπο της. Υπάρχουν διάφοροι τύποι καρτών, οι πιο συνηθισμένοι ονομάζονται MIFARE 1KB, αλλά υπάρχουν και άλλοι. Δεν χρησιμοποιούν όλες οι κάρτες το ίδιο πρωτόκολλο επικοινωνίας RF, οπότε μην εκπλαγείτε εάν μια τυχαία κάρτα που παραλαμβάνετε δεν αναγνωριστεί. Θυμηθείτε το UID των ετικετών σας για αργότερα.
Βήμα 5: Δημιουργήστε μια ροή Node-RED για να διαβάσετε την ετικέτα RFID και τον αισθητήρα χρώματος
Συνδεθείτε στο Node-RED στο Pi σας χρησιμοποιώντας ένα πρόγραμμα περιήγησης-είτε από άλλο υπολογιστή είτε από το ίδιο το Pi.
1. Κάντε κλικ στο εικονίδιο χάμπουργκερ δίπλα στο κόκκινο κουμπί ανάπτυξης στην επάνω δεξιά γωνία.
2. Μεταβείτε στην επιλογή Εισαγωγή και κάντε κλικ στο Πρόχειρο.
3. Αντιγράψτε ολόκληρο το περιεχόμενο του κειμένου στο αρχείο node-red-flow.txt και επικολλήστε το στο πρόχειρο και πατήστε Εισαγωγή.
4. Πρέπει να διασφαλίσουμε ότι όλα έχουν ρυθμιστεί σωστά. Πρώτον, κάντε κλικ στον πορτοκαλί σειριακό κόμβο (επάνω αριστερά). Κάντε κλικ στο εικονίδιο Pen και στη συνέχεια στο εικονίδιο Viewfinder και επιλέξτε τη σειριακή θύρα στην οποία είναι συνδεδεμένο το Arduino. Στη συνέχεια, κάντε κλικ στο κόκκινο κουμπί Ενημέρωση, ακολουθούμενο από το κόκκινο κουμπί Τέλος.
5. Στη συνέχεια θα διαμορφώσουμε τον μοβ κόμβο MQTT (δίπλα στον σειριακό κόμβο). Κάντε κλικ στο εικονίδιο Pen. Πληκτρολογήστε τη διεύθυνση IP όπου θέλετε να είναι ο μεσίτης. Μόλις ολοκληρωθεί, κάντε κλικ στο κόκκινο κουμπί Ενημέρωση και το κόκκινο κουμπί Τέλος.
6. Τέλος, διαμορφώνουμε τον πορτοκαλί κόμβο συνάρτησης που ονομάζεται JSON σε Αντικείμενο δίπλα στον κόμβο RFIDReader. Η συνάρτηση περιέχει μια εντολή switch. Αυτό θα πάρει το UID των ετικετών και θα τα μετονομάσει. Στην περίπτωσή μας, είχαμε δύο ετικέτες τις οποίες μετονομάσαμε Χρήστης 1 και Χρήστης 2.
ΣΗΜΑΝΤΙΚΗ ΣΗΜΕΙΩΣΗ: Εάν σκοπεύετε να χρησιμοποιήσετε περισσότερες από δύο ετικέτες, θα πρέπει να αλλάξετε τα σενάρια/ροή.
Βήμα 6: Ανάπτυξη και Πίνακας ελέγχου
Όλα είναι ρυθμισμένα και έτοιμα. Πατήστε το κόκκινο κουμπί Ανάπτυξη επάνω δεξιά.
Κάντε κλικ στο εικονίδιο του γραφήματος ράβδων κάτω από αυτό, ακολουθούμενο από το εικονίδιο που φαίνεται να είναι πλαίσιο με βέλος. Θα πρέπει να εμφανιστεί ένα νέο παράθυρο με τα γραφικά στοιχεία RFID & SENSOR TABLE και RFID-RC522.
Πατήστε το κουμπί Δημιουργία για να ξεκινήσετε έναν νέο πίνακα και να ξεκινήσετε τον έλεγχο των ετικετών σας. Θα πρέπει να δείτε τον πίνακα που δείχνει τις διαφορετικές ετικέτες τον αριθμό των σημείων/φορές που έχει εντοπιστεί και την ημερομηνία/ώρα. Εν τω μεταξύ στο breadboard, το πράσινο led θα ανάβει κάθε φορά που ανιχνεύεται μια ετικέτα, αν όχι το κόκκινο φως θα ανάψει. (Για να καθαρίσετε τον πίνακα πατήστε Διαγραφή και για να διαγράψετε τον πίνακα πατήστε Διαγραφή). Ο αισθητήρας χρώματος πρέπει να λειτουργεί με τον ίδιο τρόπο. Εάν εντοπιστεί το κύπελλο, τότε η μαύρη κουκκίδα θα γίνει πράσινη.
Βήμα 7: Μέλλον
- Καλύτερη εμφάνιση UI
- Περισσότεροι χρήστες
- Βάση δεδομένων κάμερας/φωτογραφίας για ακριβέστερη ανίχνευση φλιτζανιών καφέ
- Στείλτε ενημερώσεις σημείων σε λογαριασμούς twitter
Συνιστάται:
Arduino Brick Color Sorter Project: 5 βήματα
Arduino Brick Color Sorter Project: Σε αυτό το σεμινάριο Arduino, θα μάθουμε πώς να ανιχνεύουμε τα χρώματα του τούβλου παιχνιδιών μου χρησιμοποιώντας το Arduino και τον αισθητήρα χρωμάτων TCS3200. Μπορείτε να διαβάσετε το γραπτό σεμινάριο παρακάτω για περισσότερες λεπτομέρειες. Υλικά: Arduino Leonardo x 1TCS3200 x 1Πολύ χαρτόνι 180 σερβο
RPi-Zero IoT Event Indicator / Color Lamp: 6 βήματα (με εικόνες)
RPi-Zero IoT Event Indicator / Color Lamp: Δεν υπάρχει επιπλέον μικροελεγκτής & Δεν απαιτείται πρόσθετη μονάδα HAT. Το RPi-Zero τα κάνει όλα. Ακόμα καλύτερα χρησιμοποιήστε ένα RPi-Zero W! Δείγμα χρήσης: Δείκτης κατάστασης υπηρεσίας Web (π.χ. παρακολούθηση DowJonesIndex), ένδειξη κατάστασης πολιτικής ή αθλητικής εκδήλωσης, φως διάθεσης
Παιχνίδι IR-Remote Color Guessing Color: 3 Βήματα
Παιχνίδι IR-Remote Color Guessing Color: Σε αυτό το διδακτικό, θα σας δείξω πώς να ελέγχετε ένα led RGB χρησιμοποιώντας ένα IR-remote και να κάνετε ένα διασκεδαστικό παιχνίδι από αυτό
A Talking Color Sensor, Βασισμένο στο AIY Voice Kit: 4 Βήματα
A Talking Color Sensor, Based on the AIY Voice Kit: Έχοντας μάθει λίγα πράγματα για τη γραφή Braille πρόσφατα, αναρωτιόμουν αν θα μπορούσα να φτιάξω κάτι χρησιμοποιώντας το κιτ φωνής AIY για το Raspberry Pi, το οποίο μπορεί να έχει ένα πραγματικό όφελος για άτομα με προβλήματα όρασης Το Έτσι περιγράφεται παρακάτω, θα βρείτε ένα πρωτότυπο
Arduino + Sensor De Color TCS230: 4 Βήματα
Το Arduino + Sensor De Color TCS230: AbstractΤο ARDINO + COLOR SENSOR TCS230 είναι ένα έργο που απευθύνεται σε μαθητικό περιβάλλον, έτσι ώστε ο δάσκαλος να το χρησιμοποιεί ως διαδραστικό μαθησιακό αντικείμενο αλλά και στους μαθητές, επιτυγχάνοντας ότι οι στόχοι επιτυγχάνουν ένα εννοιολογικό, μεθοδολογικό και λειτουργικό