Πίνακας περιεχομένων:
- Βήμα 1: Τι χρειαζόμαστε;
- Βήμα 2: Πρωτότυπο:
- Βήμα 3: Κωδικός:
- Βήμα 4: Τώρα για την υπόθεση:
- Βήμα 5: Το τελικό αποτέλεσμα πρέπει να μοιάζει με αυτό:
- Βήμα 6: Συγκόλληση
- Βήμα 7: Τελειώσαμε
Βίντεο: Διαδραστικό φως χωρίς άγγιγμα: 7 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:36
Γεια σε όλους! Θα ήθελα να μοιραστώ το έργο στο οποίο εργάζομαι εδώ. Εμπνεύστηκα να πειραματιστώ με χωρητική αίσθηση αφής μέσω ενός έργου στο πανεπιστήμιό μου. Έμαθα για αυτήν την τεχνολογία μέσω οδηγιών και χρησιμοποίησα τα πράγματα που έμαθα εδώ και από άλλα μέρη στο διαδίκτυο για να φτιάξω το δικό μου χειριστήριο χωρίς αφή, το οποίο χρησιμοποιώ για να συνδυάσω διαφορετικές τιμές RGB για να δημιουργήσω ενδιαφέροντα ανοιχτά χρώματα.
Για αρχή, όταν ξεκίνησα αυτό το έργο δεν ήξερα σχεδόν τίποτα ούτε για ηλεκτρονικά ούτε για χωρητική ανίχνευση αφής.
Μερικά προβλήματα που αντιμετώπισα από νωρίς προκλήθηκαν από παρεξήγηση του τι συμβαίνει στην πραγματικότητα. Μια σύντομη εισαγωγή από το πώς το καταλαβαίνω:
Ένας χωρητικός αισθητήρας χρησιμοποιεί πολλά στοιχεία, κυρίως:
Ένας πυκνωτής (σε αυτό το έργο χρησιμοποιούμε φύλλο αλουμινίου, αλλά είναι επίσης δυνατό να χρησιμοποιήσουμε αγώγιμα υγρά κ.λπ.), καλώδια (φυσικά, τα ηλεκτρονικά του)
και μια αντίσταση, οτιδήποτε κάτω από 10 MOhm είναι πολύ μικρή αντίσταση για περισσότερο από άμεσο άγγιγμα.
ο τρόπος που λειτουργεί είναι μετρώντας μια διαφορά χρόνου μεταξύ του σημείου Α και του σημείου Β. Από την ακίδα εκκίνησης στέλνει ένα σήμα σε μια τελική ακίδα, ο χρόνος που χρειάζεται μετράται με ένα χρονόμετρο. Μειώνοντας την τιμή αντίστασης (μετακινώντας έναν πυκνωτή (στην περίπτωση αυτή το χέρι σας) πιο κοντά στον πυκνωτή του αισθητήρα (το φύλλο αλουμινίου) μειώνεται αυτή τη φορά, η διαφορά χρόνου είναι αυτό που δίνει ο αισθητήρας ως τιμή.
Λόγω του ότι ο αισθητήρας επηρεάζεται από χωρητικές επιφάνειες, τα δεδομένα μπορεί να είναι άγρια ασταθή λόγω παρεμβολών. Αυτό μπορεί να λυθεί σε μεγάλο μέρος με σωστή μόνωση του πυκνωτή και επίσης με τη χρήση γείωσης (θα δείξω πώς αργότερα).
Έτσι, τώρα είναι εκτός δρόμου, μπορούμε να ξεκινήσουμε την απογραφή όλων των υλικών που χρειαζόμαστε:
Βήμα 1: Τι χρειαζόμαστε;
ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ:
1. 2 αντιστάσεις 22 x Ohm + (όσο μεγαλύτερη είναι η τιμή αντίστασης όσο πιο μακριά αντιδρά ο αισθητήρας σας, προσωπικά χρησιμοποίησα 22M Ohm, το ελάχιστο για να λάβω χρησιμοποιήσιμα δεδομένα που βίωσα ήταν 10M Ohm)
2. Αντιστάσεις 3x 330 Ohm
3. Σύρματα
4. Breadboard
5. Πλακέτα κυκλώματος (το δικό μου είχε ταινίες χαλκού Continouos)
6. Πολλαπλές κοινές λυχνίες RGB Cathode (χρησιμοποίησα 8, αλλά μπορείτε να έχετε περισσότερο ή λιγότερο εξαρτάται από το πόσο φως θέλετε)
7. Αλουμινόχαρτο
8. Κολλήστε το περιτύλιγμα
9. Arduino Uno
10. Ταινία
Η υπόθεση:
1. Ξύλο Χρησιμοποίησα MDF 50 x 50 x 1.8 CM (μπορείτε να χρησιμοποιήσετε οτιδήποτε πραγματικά. Εξαρτάται από το αποτέλεσμα που θέλετε και τα εργαλεία που έχετε στη διάθεσή σας)
2. Ακρυλικό πλεξιγκλάς χρησιμοποίησα 50 x 50 x 0,3 CM (ή οποιοδήποτε άλλο διαφανές/ημιδιαφανές υλικό όπως ρυζόχαρτο)
3. Γυαλόχαρτο (λεπτό γυαλόχαρτο)
4. Ξύλο-κόλλα
5. καπλαμά (προαιρετικό)
6. Ακρυλική κόλλα
Εργαλεία:
Απογυμνωτής καλωδίων
Συγκολλητικό σίδερο + κασσίτερος
Μαχαίρι Stanley
τρυπάνι
Πριόνι (χρησιμοποίησα επιτραπέζιο πριόνι)
Βήμα 2: Πρωτότυπο:
Τώρα έχουμε τα πάντα και μπορούμε να ξεκινήσουμε να φτιάχνουμε ένα πρωτότυπο για να δούμε πώς λειτουργεί:
Προετοιμασία:
Κόψτε 4 ορθογώνια από το αλουμινόχαρτο (τα δικά μου είναι περίπου 10 cm επί 5 cm), τυλίξτε τα με μεμβράνη για να τα μονώσετε από την άμεση επαφή και κολλήστε ένα σύρμα στο αλουμινόχαρτο. Μόλις κολλήσα ένα απογυμνωμένο άκρο στο φύλλο (αρκεί να παραμείνουν σε επαφή).
Για να βεβαιωθώ ότι το αλουμίνιο είναι μονωμένο με ασφάλεια, τυλίχτηκα με μεμβράνη και το σιδέρωσα μεταξύ χαρτιών (για λίγα δευτερόλεπτα για να μην λιώσει τελείως).
Στη συνέχεια, ρυθμίστε το κύκλωμα όπως φαίνεται στην εικόνα.
Ο ακροδέκτης 4 χρησιμοποιείται ως πείρος αποστολής και για τους δύο αισθητήρες, ενώ οι ακίδες λήψης είναι οι ακίδες 2 και 5. Θα μπορούσατε να χρησιμοποιήσετε πολλαπλούς πείρους αποστολής, αλλά προκαλεί πρόβλημα αφού δεν είναι απόλυτα συγχρονισμένοι.
χρησιμοποιήστε αυτήν τη ρύθμιση για σκοπούς εντοπισμού σφαλμάτων προτού συγκολλήσετε τα πάντα μαζί, για να βεβαιωθείτε ότι όλα λειτουργούν πραγματικά όπως προορίζονται.
Βήμα 3: Κωδικός:
Τώρα έχουμε τα πάντα και μπορούμε να ξεκινήσουμε τον εντοπισμό σφαλμάτων στους αισθητήρες.
Για να χρησιμοποιήσετε τον κωδικό μου θα πρέπει να κατεβάσετε τη βιβλιοθήκη χωρητικής ανίχνευσης από το Arduino και να την εγκαταστήσετε σύμφωνα με τις οδηγίες που δίνονται από τη σελίδα αναφοράς: Κάντε κλικ σε εμένα
Ο κωδικός: (Δεν είμαι καλός στην κωδικοποίηση, οπότε αν ξέρετε πώς να το κάνετε καλύτερα, κάντε το)
#include // εισαγωγή της βιβλιοθήκης κωδικών
CapacitiveSensor cs_4_2 = CapacitiveSensor (4, 2); // Αποστολή pin = 4, η λήψη είναι 2 και 5 CapacitiveSensor cs_4_5 = CapacitiveSensor (4, 5); const int redPin = 11; const int greenPin = 10; const int bluePin = 9; const int numIndexR = 10; // μέγεθος πίνακα const int numIndexG = 10; int χρώμαR = 0; int χρώμαG = 0; float colorB = 0; int indexR [numIndexR]; int posIndexR = 0; μακρύ σύνολοR = 0; // πρέπει να είναι μακρύ γιατί το σύνολο του πίνακα μου ήταν μεγάλο για έναν ακέραιο. int μέσο R = 0; int indexG [numIndexG]; int posIndexG = 0; μακρύ σύνολο G = 0; int μέσο όροG = 0; void setup () {pinMode (redPin, OUTPUT); pinMode (greenPin, OUTPUT); pinMode (bluePin, OUTPUT); για (int thisIndexR = 0; thisIndexR <numIndexR; thisIndexR ++) {// ορίζει τον πίνακα σε 0 indexR [thisIndexR] = 0; } για (int thisIndexG = 0; thisIndexG = 4500) {// οριοθετήστε τις τιμές του αισθητήρα στο μέγιστο που μπορεί να χρησιμοποιηθεί, αυτό δεν είναι το ίδιο για κάθε τιμή αντίστασης και μπορεί επίσης να διαφέρει λίγο από περιβάλλον σε περιβάλλον, ίσως χρειαστεί να το αλλάξετε τις δικές σας ανάγκες. σύνολο1 = 4500; } if (total2> = 4500) {total2 = 4500; } totalR = totalR - indexR [posIndexR]; // αυτό εδώ δημιουργεί έναν πίνακα που προσθέτει συνεχώς μια έξοδο αισθητήρα και παράγει τον μέσο όρο. indexR [posIndexR] = total1; totalR = totalR + indexR [posIndexR]; posIndexR = posIndexR + 1; εάν (posIndexR> = numIndexR) {posIndexR = 0; } averageR = totalR / numIndexR; // χρησιμοποιούμε τον μέσο όρο αντί για τα ακατέργαστα δεδομένα για να εξομαλύνουμε την έξοδο, επιβραδύνει ελαφρώς τη διαδικασία, αλλά δημιουργεί επίσης μια πραγματικά ωραία ομαλή ροή. totalG = totalG - indexG [posIndexG]; indexG [posIndexG] = σύνολο2; totalG = totalG + indexG [posIndexG]; posIndexG = posIndexG + 1; εάν (posIndexG> = numIndexG) {posIndexG = 0; } averageG = totalG / numIndexG; εάν (averageR> = 2000) {// δεν θέλουμε τα led να αλλάζουν συνεχώς την αξία τους, εκτός εάν υπάρχει εισροή από το χέρι σας, οπότε αυτό διασφαλίζει ότι δεν λαμβάνονται υπόψη όλες οι χαμηλότερες περιβαλλοντικές μετρήσεις. χρώμαR = χάρτης (μέσος όροςR, 1000, 4500, 255, 0); analogWrite (redPin, colorR); } else if (averageR = 1000) {colorG = χάρτης (averageG, 1000, 4500, 255, 0); analogWrite (greenPin, colorG); } else if (averageG <= 1000) {colorG = 255; analogWrite (greenPin, colorG); } if (colorR <= 125 && colorG <= 125) {// B λειτουργεί λίγο διαφορετικά γιατί χρησιμοποίησα μόνο 2 αισθητήρες, οπότε χαρτογράφησα το Β και στους δύο αισθητήρες colorB = map (colorR, 255, 125, 0, 127.5) + map (χρώμαG, 255, 125, 0, 127.5); analogWrite (bluePin, colorB); } else {colorB = map (colorR, 255, 125, 127.5, 0) + map (colorG, 255, 125, 127.5, 0); εάν (χρώμαΒ> = 255) {χρώμαΒ = 255; } if (colorB <= 0) {colorB = 0; } analogWrite (bluePin, colorB); } Serial.print (millis () - έναρξη); // αυτό είναι για σκοπούς εντοπισμού σφαλμάτων Serial.print ("\ t"); Serial.print (colorR); Serial.print ("\ t"); Serial.print (colorG); Serial.print ("\ t"); Serial.println (χρώμαB); καθυστέρηση (1)? }
Αυτό που κάνει αυτός ο κώδικας είναι η εξαγωγή των ακατέργαστων δεδομένων από τον αισθητήρα (αυτά τα δεδομένα θα είναι πάντα ελαφρώς ακανόνιστα λόγω όλων των διαφορετικών παραγόντων που επηρεάζουν τον αισθητήρα) και τα βάζει συνεχώς τα ακατέργαστα δεδομένα σε έναν πίνακα, όταν ο πίνακας φθάνει σε μέγιστη τιμή (στην περίπτωσή μου 10) καθαρίζει την τελευταία τιμή και προσθέτει μια νέα. Κάθε φορά που προστίθεται μια τιμή υπολογίζει τη μέση τιμή και την τοποθετεί σε μια νέα μεταβλητή. Αυτή η μέση μεταβλητή χρησιμοποιείται για να αντιστοιχίσει μια τιμή σε μια τιμή από 0 έως 255, αυτή είναι η τιμή που γράφουμε στις ακίδες RGB για να αυξήσουμε τη φωτεινότητα κάθε καναλιού (τα κανάλια είναι R G και B).
Τώρα αν ανεβάσετε τον κωδικό σας στο arduino και ανοίξετε τη σειριακή οθόνη, θα πρέπει να βλέπετε τις τιμές RGB χαμηλότερες όταν τοποθετείτε το χέρι σας πάνω από κάθε αισθητήρα, θα πρέπει επίσης να αλλάξει το χρώμα φωτός του led.
Βήμα 4: Τώρα για την υπόθεση:
Περίπτωση: Έκανα την υπόθεση χρησιμοποιώντας εργαλεία διαθέσιμα μέσω του πανεπιστημίου μου, οπότε αυτή η ροή εργασίας δεν ισχύει για όλους. Ωστόσο, δεν υπάρχει τίποτα πολύ ιδιαίτερο σε αυτό, χρειάζεται μια τρύπα στη μία πλευρά για να χωρέσει η θύρα USB, αλλά εκτός από αυτό είναι ένα ανοιχτό κουτί.
Οι διαστάσεις έχουν ως εξής:
15 x 15 CM για τη διαφανή κορυφή
και
15 x 8 CM για την ξύλινη βάση (το πάχος του ξύλου ήταν 1,8 CM για μένα).
Χρησιμοποίησα ένα επιτραπέζιο πριόνι για να κόψω μια πλάκα από MDF στις σωστές διαστάσεις που χρειαζόμουν (που είναι 4 πάνελ 15 x 8 CM και 1 15 x 15 CM), μετά την οποία έκοψα τις γωνίες σε γωνία 45 μοιρών. Όλα τα μέρη που κόλλησα μαζί χρησιμοποιώντας κόλλα ξύλου και σφιγκτήρες (αφήστε το να στεγνώσει τουλάχιστον 30 λεπτά), χρησιμοποίησα την ίδια διαδικασία για το πλεξιγκλάς αλλά με ειδική λεπίδα πριονιού.
1 από τις ξύλινες πλευρές θα πρέπει να έχει μια τρύπα στο κέντρο στο ύψος του βύσματος USB arduino για να επιτρέπεται η σύνδεση του arduino.
Ολοκλήρωσα τη βάση με καπλαμά. Το έκοψα σε κομμάτια ελαφρώς μεγαλύτερα από την επιφάνεια κάθε πλευράς.
Αυτό το κόλλησα, στη συνέχεια το σφίξαμε 30 λεπτά για κάθε πλευρά (καλύτερα να το κάνετε ξεχωριστά για να βεβαιωθείτε ότι δεν γλιστράει και αφού στεγνώσει έκοψα ό, τι είχε κολλήσει.
Το καπάκι που κόλλησα μαζί χρησιμοποιώντας μια κόλλα ειδική για το Acryl που ονομάζεται Acryfix.
Λάβετε υπόψη ότι εάν χρησιμοποιείτε ακρυλικό πλεξιγκλάς, η κόλλα διαλύει λίγο το πλεξιγκλάς, οπότε να είστε όσο το δυνατόν ακριβέστεροι και γρηγορότεροι (στεγνώνει μέσα σε λίγα λεπτά, αλλά εκτίθεται στον αέρα μέσα σε δευτερόλεπτα).
Για να τελειώσω το καπάκι πάγωσα τον κύβο με ένα αμμοβολή, αλλά μπορείτε επίσης να χρησιμοποιήσετε λεπτό γυαλόχαρτο, χρειάζεται πολύ περισσότερο χρόνο για να γίνει ομοιόμορφο. Δώστε προσοχή αν χρησιμοποιείτε γυαλόχαρτο πρέπει να είναι λεπτόκοκκο και επίσης να κολλήσετε τα μέρη μεταξύ τους μετά τη διαδικασία ψύξης (Έτσι δεν το σπάτε τυχαία εφαρμόζοντας μεγάλη πίεση)
Για να βεβαιωθώ ότι το καπάκι δεν γλιστράει πολύ, κόλλησα μερικές μικρές ξύλινες μπάρες στις άκρες του ξύλινου κύβου.
Βήμα 5: Το τελικό αποτέλεσμα πρέπει να μοιάζει με αυτό:
Βήμα 6: Συγκόλληση
Εάν έχετε πλακέτα κυκλώματος, μπορείτε να αρχίσετε να κολλάτε όλα τα μέρη μαζί χρησιμοποιώντας την ίδια ρύθμιση που έχει το breadboard σας.
Η πλακέτα μου έχει συνεχείς ταινίες χαλκού για ευκολία στη χρήση.
Για κάθε αισθητήρα έκοψα ένα μικρό τετράγωνο για να κολλήσω τις αντιστάσεις και τα καλώδια.
Τα καλώδια αποστολής (τα καλώδια που πηγαίνουν από τον πείρο 4 σε κάθε αισθητήρα) συγκολλούνται με τη σειρά σε ένα ξεχωριστό τετράγωνο, με 1 σύρμα που μπαίνει στον πείρο 4.
Κράτησα ένα μακρύ ορθογώνιο για να φτιάξω μια αυτοσχέδια λωρίδα led (μετρήστε το ώστε να ταιριάζει στο εσωτερικό του καπακιού αλλά στις άκρες της βάσης). Μπορείτε απλά να κολλήσετε τα led με τη σειρά το ένα μετά το άλλο (να έχετε κατά νου στην εικόνα που κόλλησα κατά λάθος τα led και τις αντιστάσεις στη λάθος πλευρά της πλακέτας κυκλώματος, οι χάλκινες λωρίδες πρέπει να βρίσκονται πάντα στην κάτω πλευρά).
Όταν τελειώσετε με τη συγκόλληση των μεμονωμένων εξαρτημάτων, τοποθετήστε τα στη θήκη. Δεν κόλλησα τα ατομικά καλώδια μου μαζί, ώστε να μπορώ να τα αλλάξω εύκολα αν χρειαστεί.
Timeρα να τοποθετήσετε τα πάντα στη βάση: Αυτό είναι σχεδόν το πιο εύκολο βήμα, το arduino πρέπει να τοποθετηθεί πρώτα με τη θύρα USB μέσα από την τρύπα στο πίσω μέρος της θήκης. Τώρα προσθέστε τους αισθητήρες, βεβαιωθείτε ότι το φύλλο αισθητήρα ταιριάζει με το ξύλο και από τις δύο πλευρές, με το έδαφος να είναι ίσιο απέναντί του. Όταν όλα ταιριάζουν καλά, συνδέστε τα led RGB στις σωστές ακίδες (9, 10, 11) και αφήστε το να ακουμπήσει στις άκρες της βάσης.
Βήμα 7: Τελειώσαμε
Εάν έχετε συνεχίσει με όλα αυτά, θα πρέπει τώρα να έχετε ένα φως εργασίας με χωρητικό συνδυασμό χρωμάτων αφής. Καλα να περνατε!
Συνιστάται:
Πώς να φτιάξετε ένα κουδούνι πόρτας χωρίς άγγιγμα, Ανίχνευση θερμοκρασίας σώματος, GY-906, 433MHz χρησιμοποιώντας Arduino: 3 βήματα
Πώς να φτιάξετε ένα κουδούνι πόρτας χωρίς άγγιγμα, Ανίχνευση θερμοκρασίας σώματος, GY-906, 433MHz χρησιμοποιώντας το Arduino: Σήμερα θα φτιάξουμε ένα κουδούνι πόρτας μη αφής, θα ανιχνεύσει τη θερμοκρασία του σώματός σας. Σε αυτήν την κατάσταση, είναι πολύ σημαντικό να γνωρίζουμε εάν η θερμοκρασία του σώματος είναι υψηλότερη από την κανονική, όταν κάποιος κοροϊδεύει. Αυτό το έργο θα δείχνει Κόκκινο φως αν εντοπίσει οποιαδήποτε
Αυτόματη βρύση (χωρίς άγγιγμα) χρησιμοποιώντας Arduino - Πλύνετε τα χέρια και μείνετε ασφαλείς κατά τη διάρκεια της κρίσης COVID -19: 4 βήματα
Αυτόματη βρύση (χωρίς άγγιγμα) Χρήση Arduino - Πλύνετε τα χέρια και μείνετε ασφαλείς κατά τη διάρκεια της κρίσης COVID -19: Γεια σας φίλοι! Ελπίζω να είστε όλοι καλά και να μένετε ασφαλείς τώρα. Σε αυτήν την ανάρτηση, θα σας εξηγήσω για το πρωτότυπό μου που σχεδίασα για να πλένω τα χέρια με ασφάλεια. Έφτιαξα αυτό το έργο με περιορισμένους πόρους. Όσοι ενδιαφέρονται μπορούν να διασκευάσουν αυτό το επαγγελματικό
Βρύση χωρίς άγγιγμα με σύστημα ελέγχου πόρτας για βήματα COVID-19: 3
Touchless βρύση με σύστημα ελέγχου πόρτας για COVID-19: Ο COVID-19 είναι μια σοβαρή πανδημία αυτή τη στιγμή. Ο κορονοϊός εξαπλώνεται γρήγορα και εύκολα μεταξύ των ανθρώπων. Υπάρχουν τρόποι για να περιοριστεί η εξάπλωση αυτού του ιού και ένας τρόπος είναι να πλένετε τα χέρια σας χρησιμοποιώντας σαπούνι για τουλάχιστον 20 δευτερόλεπτα. Μερικές φορές, αν το άτομο
Ηλιακό φως χωρίς μπαταρία ή ηλιακό φως Γιατί όχι ;: 3 βήματα
Ηλιακό φως χωρίς μπαταρία ή ηλιακό φως … Γιατί όχι ;: Καλώς ορίσατε. Συγγνώμη για το englishDaylight μου; Ηλιακός? Γιατί; Έχω ένα ελαφρώς σκοτεινό δωμάτιο κατά τη διάρκεια της ημέρας και πρέπει να ανάβω τα φώτα κατά τη χρήση. Εγκαταστήστε το φως του ήλιου για μέρα και νύχτα (1 δωμάτιο): (στη Χιλή)-Ηλιακός πίνακας 20w: 42 $ US-Μπαταρία: 15 $ US-Ηλιακός περιορισμός χρέωσης
Zero Cost Laptop Cooler / Stand (Χωρίς κόλλα, χωρίς διάτρηση, χωρίς παξιμάδια & μπουλόνια, χωρίς βίδες): 3 βήματα
Zero Cost Laptop Cooler / Stand (No Glue, No Drilling, No Nuts & Bolts, No Screws): ΕΝΗΜΕΡΩΣΗ: ΠΑΡΑΚΑΛΩ KINDLY VOTE FOR MY INSTRUCTABLE, THANKS ^ _ ^ YOU MAY MOTO LIKE ΕΙΣΟΔΟΣ ΣΤΟ www.instructables.com/id/Zero-Cost-Alumin-Furnace-No-Propane-No-Glue-/ ΜΠΟΡΕΙ ΝΑ VΗΦΙΣΕΤΕ ΓΙΑ ΤΟΝ ΚΑΛΥΤΕΡΟ ΦΙΛΟ ΜΟΥ