ARDUINO 334265-633524 Sensor Flex Long
Εισαγωγή
Ξοδεύουμε τόσο πολύ χρόνο μιλώντας για να αισθανόμαστε τα πράγματα λιγότερο μηχανικά, που είναι εύκολο να ξεχάσουμε ότι το επιταχυνσιόμετρο δεν είναι το μόνο μέρος στην πόλη. Ο αισθητήρας ευκαμψίας είναι ένα από εκείνα τα μέρη που συχνά παραβλέπονται από τον προχωρημένο χρήστη. Τι γίνεται όμως αν χρειαστεί να ελέγξετε αν κάτι λύγισε; Σαν ένα δάχτυλο ή ένα μπράτσο κούκλας. (Πολλά πρωτότυπα παιχνιδιών φαίνεται να έχουν αυτή την ανάγκη). Κάθε φορά που χρειάζεται να ανιχνεύσετε μια κάμψη ή κάμψη, ένας αισθητήρας κάμψης είναι πιθανώς το μέρος για εσάς. Διατίθενται σε μερικά διαφορετικά μεγέθη Ο αισθητήρας flex είναι μια μεταβλητή αντίσταση που αντιδρά στις κάμψεις. Χωρίς κάμψη, μετρά περίπου 22KΩ, έως 40KΩ όταν λυγίσει στις 180º. Σημειώστε ότι η κάμψη ανιχνεύεται μόνο προς μία κατεύθυνση και η ένδειξη μπορεί να είναι λίγο ασταθής, επομένως θα έχετε τα καλύτερα αποτελέσματα ανιχνεύοντας αλλαγές τουλάχιστον 10º. Επίσης, βεβαιωθείτε ότι δεν λυγίζετε τον αισθητήρα στη βάση, καθώς δεν θα καταχωρηθεί ως αλλαγή και μπορεί να σπάσει τα καλώδια. Πάντα κολλάω μια χοντρή σανίδα στη βάση του για να μην λυγίζει εκεί.
Συνδέοντας το και γιατί
Ο αισθητήρας flex αλλάζει την αντίστασή του όταν κάμπτεται, ώστε να μπορούμε να μετρήσουμε αυτήν την αλλαγή χρησιμοποιώντας έναν από τους αναλογικούς ακροδέκτες του Arduino. Αλλά για να το κάνουμε αυτό χρειαζόμαστε μια σταθερή αντίσταση (δεν αλλάζει) που μπορούμε να χρησιμοποιήσουμε για αυτήν τη σύγκριση (Χρησιμοποιούμε μια αντίσταση 22K). Αυτό ονομάζεται τόμοςtage divider και διαιρεί τα 5v μεταξύ του αισθητήρα flex και της αντίστασης. Η αναλογική ανάγνωση στο Arduino σας είναι ένας τόμοςtagε μέτρο. Στα 5V (το μέγιστο) θα έγραφε 1023, και στα 0v θα έγραφε 0. Άρα μπορούμε να μετρήσουμε πόσο voltagΤο e βρίσκεται στον αισθητήρα flex χρησιμοποιώντας το analogRead και έχουμε την ανάγνωση μας.
Η ποσότητα των 5 V που παίρνει κάθε εξάρτημα είναι ανάλογη της αντίστασής του. Έτσι, εάν ο αισθητήρας flex και η αντίσταση έχουν την ίδια αντίσταση, τα 5V χωρίζονται ομοιόμορφα (2.5V) σε κάθε τμήμα. (αναλογική ένδειξη 512) Απλώς προσποιηθείτε ότι ο αισθητήρας διάβαζε μόνο 1.1K αντίστασης, η αντίσταση 22K θα απορροφήσει 20 φορές περισσότερο από αυτό το 5V. Έτσι ο αισθητήρας flex θα έπαιρνε μόνο 23V. (Αναλογική ένδειξη 46) \Και αν κυλήσουμε τον αισθητήρα flex γύρω από έναν σωλήνα, ο αισθητήρας flex μπορεί να είναι 40K ή αντίσταση, οπότε ο αισθητήρας flex θα απορροφήσει 1.8 φορές περισσότερο από αυτό το 5V από την αντίσταση 22K. Έτσι ο αισθητήρας flex θα έπαιρνε 3V. (Αναλογική ανάγνωση 614)
Κώδικας
Ο κώδικας Arduino για αυτό δεν θα μπορούσε να είναι ευκολότερος. Προσθέτουμε μερικές σειριακές εκτυπώσεις και καθυστερήσεις μόνο για να μπορείτε να βλέπετε εύκολα τις ενδείξεις, αλλά δεν χρειάζεται να υπάρχουν αν δεν τις χρειάζεστε. Στις δοκιμές μου, έπαιρνα μια ανάγνωση στο Arduino μεταξύ 512 και 614. Επομένως, η σειρά δεν είναι η καλύτερη. Αλλά χρησιμοποιώντας τη συνάρτηση map(), μπορείτε να τη μετατρέψετε σε μεγαλύτερο εύρος. int flexSensorPin = A0; //αναλογική ακίδα 0
Example Code
void setup(){ Serial.begin(9600); }void loop(){int flexSensorReading = analogRead(flexSensorPin); Serial.println(flexSensorReading) //Στις δοκιμές μου έπαιρνα ανάγνωση στο arduino μεταξύ 512 και 614. //Χρησιμοποιώντας το map(), μπορείτε να το μετατρέψετε σε μεγαλύτερο εύρος όπως το 0-100. int flex0to100 = map(flexSensorReading, 512, 614, 0, 100); Serial.println(flex0to100); καθυστέρηση(250); //μόνο εδώ για να επιβραδύνει την έξοδο για ευκολότερη ανάγνωση
Έγγραφα / Πόροι
![]() |
ARDUINO 334265-633524 Sensor Flex Long [pdf] Εγχειρίδιο χρήστη 334265-633524, 334265-633524 Sensor Flex Long, Sensor Flex Long, Flex Long, Long |