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

Ασύρματο επιταχυνσιόμετρο Ελεγχόμενα Rgb-LED: 4 βήματα
Ασύρματο επιταχυνσιόμετρο Ελεγχόμενα Rgb-LED: 4 βήματα

Βίντεο: Ασύρματο επιταχυνσιόμετρο Ελεγχόμενα Rgb-LED: 4 βήματα

Βίντεο: Ασύρματο επιταχυνσιόμετρο Ελεγχόμενα Rgb-LED: 4 βήματα
Βίντεο: 💦Blackview BV9200 HONEST Αντικραδασμική ΚΡΙΤΙΚΗ 2024, Ιούλιος
Anonim
Ασύρματο επιταχυνσιόμετρο Ελεγχόμενα Rgb-LED
Ασύρματο επιταχυνσιόμετρο Ελεγχόμενα Rgb-LED
Ασύρματο επιταχυνσιόμετρο Ελεγχόμενα Rgb-LED
Ασύρματο επιταχυνσιόμετρο Ελεγχόμενα Rgb-LED

Τα επιταχυνσιόμετρα MEMS (Micro-Electro-Mechanical Systems) χρησιμοποιούνται ευρέως ως αισθητήρες κλίσης σε κινητά τηλέφωνα και κάμερες. Τα απλά επιταχυνσιόμετρα είναι διαθέσιμα τόσο ως ic-chip όσο και ως φθηνά pcb-boards.

Τα ασύρματα τσιπ είναι επίσης προσιτά και διατίθενται σε συναρμολογημένα κυκλώματα, με αντίστοιχο δίκτυο κεραίας και καπάκια αποσύνδεσης επί του σκάφους. Συνδέστε τόσο τον ασύρματο πίνακα όσο και το επιταχυνσιόμετρο έως έναν μικροελεγκτή μέσω σειριακής διεπαφής και έχετε έναν ασύρματο ελεγκτή με λειτουργίες nintendo-wii. Στη συνέχεια, δημιουργήστε έναν δέκτη με τον ίδιο τύπο ασύρματου τσιπ και rgb-LED με ελεγχόμενο pwm, voila, έχετε ασύρματο, ελεγχόμενο με κλίση έγχρωμο κεραυνό δωματίου. Διατηρήστε το επίπεδο της πλακέτας πομπού με την πλάκα ψωμιού στραμμένη προς τα πάνω και η λυχνία LED είναι μπλε ψυχρή, μόνο το μπλε led είναι ενεργό. Στη συνέχεια, γείρετε τον πομπό προς μία κατεύθυνση και ανακατεύετε με κόκκινο ή πράσινο ανάλογα με την κατεύθυνση που θα τον γείρετε. Κλίνετε μέχρι 90 μοίρες και περνάτε μέσα από όλα τα μείγματα κόκκινου και μπλε ή πράσινου και μπλε μέχρι να ενεργοποιηθεί μόνο το κόκκινο ή το πράσινο σε κλίση 90 μοιρών. Γείρετε λίγο τόσο προς την κατεύθυνση x όσο και για το y και θα έχετε έναν συνδυασμό όλων των χρωμάτων. Στους 45 βαθμούς προς όλες τις κατευθύνσεις το φως είναι ένα ίσο μείγμα κόκκινου, πράσινου και μπλε, με άλλα λόγια, λευκό φως. Τα εξαρτήματα που χρησιμοποιούνται διατίθενται από ηλεκτρονικά καταστήματα ηλεκτρονικών χόμπι. Θα πρέπει να είναι αναγνωρίσιμο από μερικές από τις εικόνες.

Βήμα 1: Πομπός με επιταχυνσιόμετρο

Πομπός με επιταχυνσιόμετρο
Πομπός με επιταχυνσιόμετρο
Πομπός με επιταχυνσιόμετρο
Πομπός με επιταχυνσιόμετρο
Πομπός με επιταχυνσιόμετρο
Πομπός με επιταχυνσιόμετρο
Πομπός με επιταχυνσιόμετρο
Πομπός με επιταχυνσιόμετρο

Ο πομπός βασίζεται στον μικροελεγκτή Atmel avr168. Ο βολικός κόκκινος πίνακας με το 168 είναι ένας πίνακας arduino με ρυθμιστή τάσης και κύκλωμα επαναφοράς. Το επιταχυνσιόμετρο είναι συνδεδεμένο στο avr με δίαυλο i2c με bit-bit banged και η ασύρματη πλακέτα είναι συνδεδεμένη με hardware SPI, (Serial Peripheral Interface).

Ο πίνακας ψωμιού είναι εντελώς ασύρματος με την μπαταρία 4, 8V να είναι δεμένη από κάτω. Η ασύρματη πλακέτα και το arduino wee δέχεται έως 9 V και διαθέτουν γραμμικό ρυθμιστή τάσης, αλλά το επιταχυνσιόμετρο χρειάζεται 3, 3V από τη ρυθμιζόμενη ράγα στο δάκτυλο.

Βήμα 2: Δέκτης με RGB-LED

Δέκτης με RGB-LED
Δέκτης με RGB-LED
Δέκτης με RGB-LED
Δέκτης με RGB-LED
Δέκτης με RGB-LED
Δέκτης με RGB-LED

Ο Δέκτης βασίζεται στο atmel avr169 demoboard που ονομάζεται πεταλούδα. Ο πίνακας έχει πολλές δυνατότητες που δεν χρησιμοποιούνται σε αυτό το έργο. Το ασύρματο tranceiver είναι συνδεδεμένο στο PortB και το led που ελέγχεται με pwm είναι συνδεδεμένο στο PortD. Η τροφοδοσία τροφοδοτείται στην κεφαλίδα του ISP, τα 4,5V είναι αρκετά. Η ασύρματη πλακέτα μπορεί να ανεχθεί 5V σε εισόδους εισόδου/εξόδου, αλλά χρειάζεται τροφοδοσία 3,3V η οποία παρέχεται από τον ρυθμιστή επί του σκάφους.

Το τροποποιημένο καλώδιο κεφαλίδας για το rf tranceiver είναι πολύ βολικό και συνδέει την ασύρματη πλακέτα με το power and hardware spi controller στην πεταλούδα. Το shiftbright είναι ένας ελεγκτής διαμόρφωσης πλάτους παλμού με rgb, ο οποίος δέχεται μια εντολή 4 byte η οποία ασφαλίζεται και στη συνέχεια ασφαλίζεται στις ακίδες εξόδου. Πραγματικά εύκολη σύνδεση σε σειρά. Απλώς μετατοπίστε πολλές λέξεις εντολών και η πρώτη μετατόπιση θα καταλήξει στο τελευταίο συνδεδεμένο LED στην αλυσίδα μαργαρίτας.

Βήμα 3: Γ-προγραμματισμός

Ο κώδικας είναι γραμμένος σε C καθώς δεν με ένοιαζε να μάθω την «ευκολότερη» γλώσσα επεξεργασίας στην οποία βασίζεται το arduino. Έγραψα τη διεπαφή SPI και rf tranceiver μόνος μου για την εμπειρία μάθησης, αλλά δανείστηκα τον κωδικό συγκέντρωσης i2c από το avrfreaks.net. Η διεπαφή shiftbright είναι bitbanged σε κώδικα C. Ένα πρόβλημα που συνάντησα ήταν μικρές ακτινοβολικές παραλλαγές στην έξοδο του επιταχυνσιόμετρου, αυτό έκανε το τρεμόπαιγμα του led πολύ. Το έλυσα με ένα φίλτρο χαμηλής διέλευσης λογισμικού. Ένας κινητός σταθμισμένος μέσος όρος στις τιμές του επιταχυνσιόμετρου. Ο rf-tranceiver υποστηρίζει hardware crc και ack με αυτόματη αναμετάδοση, αλλά για αυτό το έργο, η ομαλή ενημέρωση των led σε πραγματικό χρόνο ήταν πιο σημαντική. Κάθε πακέτο με τιμές επιταχυνσιόμετρου δεν χρειάζεται να φτάσει άθικτο στον δέκτη, εφόσον απορριφθούν τα κατεστραμμένα πακέτα. Δεν είχα κανένα πρόβλημα με χαμένα πακέτα RF σε απόσταση 20 μέτρων από την οπτική γωνία. Αλλά πιο μακριά ο σύνδεσμος έγινε ασταθής και τα led δεν ενημερώνονταν συνεχώς. Ο κύριος βρόχος του πομπού σε ψευδοκώδικα: αρχικοποίηση (); ενώ (αληθής) {τιμές = abs (λάβετε τιμές επιταχυνσιόμετρου x, y, z ()); RF_send (Τιμές); καθυστέρηση (20ms);} Ο κύριος βρόχος του δέκτη σε ψευδοκώδικα: αρχικοποίηση (); ενώ (αληθής) {newValues = blocking_receiveRF ()); rgbValues = rgbValues + 0,2*(newValues-rgbValues); γράψτε rgbValues στο shiftbrigth;}

Βήμα 4: Το αποτέλεσμα

Το αποτέλεσμα
Το αποτέλεσμα
Το αποτέλεσμα
Το αποτέλεσμα
Το αποτέλεσμα
Το αποτέλεσμα
Το αποτέλεσμα
Το αποτέλεσμα

Iμουν έκπληκτος από το πόσο ομαλός και ακριβής ήταν ο έλεγχος. Έχετε πραγματικά έλεγχο ακρίβειας χρώματος με τα δάχτυλα. Ο ελεγκτής pwm-LED έχει ανάλυση 10 bit για κάθε χρώμα, γεγονός που δημιουργεί εκατομμύρια πιθανών χρωμάτων. Δυστυχώς, το επιταχυνσιόμετρο έχει ανάλυση μόνο 8 bit που μειώνει τον αριθμό των θεωρητικών χρωμάτων σε χιλιάδες. Αλλά ακόμα δεν είναι δυνατό να αντιληφθούμε οποιοδήποτε βήμα στην αλλαγή χρώματος. Έβαλα τον δέκτη σε μια λάμπα IKEA και έβγαλα μια φωτογραφία διαφορετικών χρωμάτων παρακάτω. Υπάρχει επίσης ένα βίντεο, (φρικτή ποιότητα όμως)

Συνιστάται: