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

Αισθητήρας υπερύθρων ζαριών: 5 βήματα
Αισθητήρας υπερύθρων ζαριών: 5 βήματα

Βίντεο: Αισθητήρας υπερύθρων ζαριών: 5 βήματα

Βίντεο: Αισθητήρας υπερύθρων ζαριών: 5 βήματα
Βίντεο: Υλοποίηση κυκλώματος Arduino UNO με αισθητήρα υπέρυθρων HC-SR04 - 4ο ΔΣ Καλαμαριάς 2024, Νοέμβριος
Anonim
Αισθητήρας υπερύθρων ζαριών
Αισθητήρας υπερύθρων ζαριών
Αισθητήρας υπερύθρων ζαριών
Αισθητήρας υπερύθρων ζαριών

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

Αυτή τη στιγμή είμαι φοιτητής του Πανεπιστημίου Taylor που σπουδάζει Μηχανική Υπολογιστών και η ομάδα μου και μου ζητήθηκε να σχεδιάσω και να δημιουργήσω έναν μηχανισμό που μπορεί να ταξινομήσει οποιοδήποτε αντικείμενο μπορεί να χωρέσει σε 1 τετράγωνο. Θα μπορούσαμε να είχαμε πάρει την εύκολη διαδρομή και να επιλέγαμε να ταξινομήσουμε τα m & m χρησιμοποιώντας έναν απλό αισθητήρα χρώματος, αλλά αποφασίσαμε να ξεπεράσουμε και να ταξινομήσουμε τα ζάρια με τον αριθμό που εμφανίζεται. Μετά από αμέτρητες ώρες προσπάθειας να βρω έναν οδηγό για το πώς να διαβάσω το πρόσωπο των ζαριών, συνάντησα αυτόν τον σύνδεσμο εδώ:

makezine.com/2009/09/19/dice-reader-versio…

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

Προμήθειες

Πάμε τώρα στις προμήθειες:

Θα χρειαστείτε:

1 x Arduino Uno

5 x δέκτες IR

5 x Εκπομπές IR

www.sparkfun.com/products/241

5 x 270 ohm αντιστάσεις

5 x 10k ohm αντιστάσεις

1 x τσιπ 74HC595N

διάφορες ανδρικές κεφαλίδες

1 x πλακέτα πρωτότυπου (εάν δεν λαμβάνετε έναν προσαρμοσμένο αλεσμένο πίνακα)

Βήμα 1: Κατανόηση του τρόπου λειτουργίας

Κατανόηση του πώς λειτουργεί
Κατανόηση του πώς λειτουργεί
Κατανόηση του πώς λειτουργεί
Κατανόηση του πώς λειτουργεί

Αυτός ο αισθητήρας χρησιμοποιεί 5 θέσεις για να διαβάσει τις όψεις του ζαριού. Χρησιμοποιεί υπέρυθρο φως για να αναπηδήσει από το πρόσωπο του ζαριού σε αυτές τις θέσεις και λέει στον ελεγκτή εάν είναι λευκό ή μαύρο.

Mayσως αναρωτιέστε, γιατί τότε μόνο 5 τοποθεσίες pip; Δεν θα χρειαστείτε και τα 9 για να διαβάσετε αποτελεσματικά τα ζάρια;

Λοιπόν, λόγω της συμμετρίας του ζαριού, η χρήση 5 συγκεκριμένων θέσεων στο ζάρι μπορεί να είναι αρκετή για να πει τη διαφορά μεταξύ των διαφορετικών αριθμών στα ζάρια ανεξάρτητα από τον προσανατολισμό (εικόνα 1). Αυτό καθιστά τον αισθητήρα ζαριών πιο αποδοτικό επειδή αναζητά μόνο αυτό ακριβώς που χρειάζεται και τίποτα επιπλέον.

Ο πομπός πηγαίνει ακριβώς κάτω από τον δέκτη στον αισθητήρα σε κάθε μία από αυτές τις 5 θέσεις pip, ο αισθητήρας στη συνέχεια εκπέμπει το φως IR και στη συνέχεια ο δέκτης διαβάζει την ποσότητα του φωτός IR που αναπηδά στο πρόσωπο του ζαριού. (εικόνα 3) Εάν η τιμή που λαμβάνεται είναι μεγαλύτερη από τους καθορισμένους αριθμούς βαθμονόμησης, τότε ο αισθητήρας θα δει αυτό το σημείο ως τελεία, αν όχι τότε είναι λευκός χώρος. (εικόνα 2)

Βήμα 2: Σχεδιασμός και προγραμματισμός

Σχεδιασμός και προγραμματισμός
Σχεδιασμός και προγραμματισμός
Σχεδιασμός και προγραμματισμός
Σχεδιασμός και προγραμματισμός
Σχεδιασμός και προγραμματισμός
Σχεδιασμός και προγραμματισμός
Σχεδιασμός και προγραμματισμός
Σχεδιασμός και προγραμματισμός

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

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

Έχω συμπεριλάβει επίσης τη διάταξη της πλακέτας μου για τον αισθητήρα που έχω σχεδιάσει με τον πίνακα αλλαγών.

Για να αρχίσετε να σχεδιάζετε τον πίνακα, έχετε 5 δέκτες IR και 5 εκπομπούς IR, οι δέκτες απαιτούν αντίσταση 10k και οι εκπομπούς απαιτούν αντίσταση 270 ohm, οπότε για καθένα από αυτά τα στοιχεία, πηγαίνετε από:

VCC (5V) -> Resistor -> Analog Read Pin -> IR δέκτης -> GND

VCC (5V) -> Αντίσταση -> πομπός IR -> GND

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

Στον προσαρμοσμένο πίνακα μου, χρησιμοποιώ τον καταχωρητή βάρδιας για να παρέχω ισχύ σε κάθε ένα από τα ζεύγη εκπομπής και δέκτη ένα κάθε φορά για να αποφύγω τυχόν αιμορραγία φωτός IR από τους άλλους εκπομπούς. Αυτό μου δίνει μια ακόμα πιο ακριβή ανάγνωση από κάθε μία από τις θέσεις των pip, αν επιλέξατε να μην χρησιμοποιήσετε τον καταχωρητή βάρδιας, θα εξακολουθήσει να λειτουργεί για εσάς, ίσως να είναι ελαφρώς λιγότερο ακριβής. Στο μητρώο βάρδιας, μπορείτε να ενώσετε τις ακίδες 3-4 και 7-8 μαζί, καθώς δεν είναι απολύτως απαραίτητο να τις έχετε ως κεφαλίδες. Τα άφησα ως κεφαλίδες και έβαλα άλτες στις κεφαλίδες σε περίπτωση που ήθελα να κάνω ανάπτυξη στο μέλλον.

Αφού σχεδιάσετε το σχηματικό, πρέπει να κάνετε μια διάταξη πίνακα του σχηματικού σας. Αυτό το μέρος μπορεί να γίνει πολύ δύσκολο γιατί πρέπει να βεβαιωθείτε ότι οι διαδρομές σας δεν επικαλύπτονται και να βεβαιωθείτε ότι οι διαδρομές και οι τρύπες σας πληρούν τις προδιαγραφές του μηχανήματός σας. Η διάταξη του πίνακα που επισυνάπτω είχε τα συγκεκριμένα μεγέθη για το μηχάνημα που χρησιμοποιούσα για να αλέσω τον πίνακα μου. Περνάω μερικές ώρες για να βάλω τον πίνακα να είναι όσο πιο μικρός θα μπορούσα να το κάνω. Υπήρχαν ακόμη περιθώρια βελτίωσης σε αυτόν τον πίνακα, αλλά λειτούργησε για μένα, οπότε το άφησα ως έχει. Υπάρχει μια έκδοση με χάλκινο GND που συνδέει όλα τα στοιχεία Ground και μια έκδοση χωρίς συνημμένο.

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

Μόλις έχετε το σχέδιο του πίνακα, μπορείτε να προχωρήσετε στο επόμενο βήμα!

Βήμα 3: Χτίζοντας το Διοικητικό Συμβούλιο

Χτίζοντας το Διοικητικό Συμβούλιο
Χτίζοντας το Διοικητικό Συμβούλιο
Χτίζοντας το Διοικητικό Συμβούλιο
Χτίζοντας το Διοικητικό Συμβούλιο
Χτίζοντας το Διοικητικό Συμβούλιο
Χτίζοντας το Διοικητικό Συμβούλιο

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

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

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

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

Μόλις τα συγκολλήσετε και τα προσθέσετε στην πλακέτα, προγραμματίζετε τον αισθητήρα.

Βήμα 4: Προγραμματισμός του Διοικητικού Συμβουλίου

Προγραμματισμός του Διοικητικού Συμβουλίου
Προγραμματισμός του Διοικητικού Συμβουλίου
Προγραμματισμός του Διοικητικού Συμβουλίου
Προγραμματισμός του Διοικητικού Συμβουλίου

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

Για να ξεκινήσετε πρέπει να έχετε ένα Arduino για διασύνδεση με αυτόν τον αισθητήρα. Χρησιμοποιεί 5 αναλογικές ακίδες και 3 ψηφιακές ακίδες.

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

Στον αισθητήρα, οι ακίδες 1-5 Κόκκινο πηγαίνουν στο Α0-Α4, έτσι το Κόκκινο 1 πηγαίνει στο Α0 και ούτω καθεξής. Οι καρφίτσες 1-8 White απαιτούν λίγο περισσότερη εξήγηση.

Λευκό 1 - Καρφίτσα δεδομένων, εδώ το Arduino στέλνει τα δεδομένα στον καταχωρητή αλλαγής. Ρύθμιση αυτής της ακίδας σε ψηφιακή ακίδα 3 στο Arduino

Λευκό 2 - Q0, παρωχημένο σε αυτήν την περίπτωση, το συμπεριέλαβα σε περίπτωση που αποφάσισα να επεκταθώ καθόλου

Λευκό 3 & 4 - Θα συνδυαστεί, μπορείτε είτε να κολλήσετε αυτά τα δύο μαζί είτε να χρησιμοποιήσετε ένα άλτης όπως έκανα.

Λευκός πείρος 5 μανδάλωσης, ένας πολύ σημαντικός πείρος που είναι το τελευταίο βήμα στη διαδικασία για να δείτε τα pips να ενεργοποιούνται και να απενεργοποιούνται. Έβαλα αυτόν τον πείρο στην καρφίτσα 12 στο Arduino

Λευκό 6 - Καρφίτσα ρολογιού, Αυτό παρέχει το ρολόι από το Arduino στον καταχωρητή αλλαγής ταχυτήτων. Το έθεσα σε ψηφιακή ακίδα 13.

Λευκό 7 & 8 - Θα συνδυαστεί, μπορείτε είτε να κολλήσετε αυτά τα δύο μαζί είτε να χρησιμοποιήσετε ένα άλτη όπως έκανα εγώ.

Δίπλα στο λευκό πλαίσιο έχετε τις καρφίτσες Ground και VCC. Πρέπει να παρέχετε 5v από το Arduino ή άλλη πηγή για να τροφοδοτήσετε αυτόν τον αισθητήρα.

Οι αριθμοί θέσης PIP βρίσκονται στον κωδικό.

Τώρα που πρέπει να το συνδέσετε, πρέπει να το βαθμονομήσουμε. Ο στόχος μου ήταν να δημιουργήσω ένα σενάριο που θα μπορούσε να το βαθμονομήσει για εσάς, αλλά μου έλειψε ο χρόνος για να το κάνω. Κατά τη βαθμονόμηση, πρέπει να βεβαιωθείτε ότι ο αισθητήρας βρίσκεται σε περιβάλλον ελεγχόμενου φωτισμού, ότι είναι ευαίσθητος στο εξωτερικό υπεριώδες φως. Πρέπει να λάβετε μια τιμή από κάθε θέση pip με μια μαύρη κουκίδα και μια λευκή κουκίδα και να υπολογίσετε τη διαφορά κατά μέσο όρο. Χρησιμοποίησα μόνο δύο πλευρές του ζαριού για βαθμονόμηση, χρησιμοποίησα την πλευρά 1, την πλευρά 6 και την πλευρά 6 που περιστράφηκε 90 μοίρες. Μόλις έχετε έναν αριθμό για το άσπρο και το μαύρο για κάθε θέση pip, πρέπει να τον κάνετε κατά μέσο όρο και να βρείτε τη μέση των δύο αριθμών. Έτσι, για παράδειγμα, αν πήρα 200 για λευκό από την πρώτη θέση pip και 300 για τη σκοτεινή τιμή της πρώτης θέσης pip, τότε ο αριθμός βαθμονόμησης θα ήταν 250. Μόλις το κάνετε αυτό και για τις 5 θέσεις pip, ο αισθητήρας σας είναι σωστά βαθμονομημένο, τότε μπορείτε να χρησιμοποιήσετε το dice. ReadFace (); για να πάρει την τρέχουσα όψη του ζαριού.

Βήμα 5: Εφαρμογή

Εφαρμογή
Εφαρμογή
Εφαρμογή
Εφαρμογή
Εφαρμογή
Εφαρμογή

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

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

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

Ο Θεός να ευλογεί!

Συνιστάται: