Πίνακας περιεχομένων:
- Βήμα 1: Σύνταγμα
- Βήμα 2: Δημιουργία Dragonfly - Head 1 -
- Βήμα 3: Δημιουργήστε το Dragonfly - Head 2 -
- Βήμα 4: Δημιουργήστε το Dragonfly - Head 3 -
- Βήμα 5: Δημιουργήστε Dragonfly - Body 1 -
- Βήμα 6: Δημιουργήστε Dragonfly - Body 2 -
- Βήμα 7: Δημιουργήστε Dragonfly - Body 3 -
- Βήμα 8: Δημιουργήστε Dragonfly - Body 4 -
- Βήμα 9: Servo συνεχούς περιστροφής 360 μοιρών
- Βήμα 10: Κωδικός Arduino
- Βήμα 11: Λειτουργία
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Έκανα λιβελούλα. Η λιβελούλα κουνάει το κεφάλι με έναν αισθητήρα χειρονομίας και ένα σερβοκινητήρα.
συστατικά
- Arduino UNO
- Seeed Grove - Gesture
- FS90R Micro Continuous Rotation Servo
Βήμα 1: Σύνταγμα
Ανίχνευση της κίνησης του δακτύλου με τον αισθητήρα χειρονομίας και έλεγχος της κατεύθυνσης περιστροφής του σερβο συνεχούς περιστροφής 360 ° με το Arduino.
Βήμα 2: Δημιουργία Dragonfly - Head 1 -
Η κεφαλή κατασκευάστηκε με βίδα M8 μήκους 12 mm. Κατά την περιστροφή της κεφαλής με το σερβο κόψτε το ραβδί για να σταματήσει σε σταθερή γωνία κόψτε το σύρμα στο κατάλληλο μήκος και κολλήστε το στη βίδα.
Βήμα 3: Δημιουργήστε το Dragonfly - Head 2 -
Τα μάτια και το στόμα ήταν φτιαγμένα με λαμπερές σφραγίδες κοσμημάτων. Γράφω το στόμα με ένα στυλό.
Βήμα 4: Δημιουργήστε το Dragonfly - Head 3 -
Η σύνδεση μεταξύ κεφαλής και στήθους (σερβο) αποτελείται από ένα παξιμάδι. Συνδέστε τα φτερά και τα παξιμάδια που είναι προσαρτημένα στο σερβο με κόλλα στιγμής.
Βήμα 5: Δημιουργήστε Dragonfly - Body 1 -
Κάντε το σερβοκινητήρα στο στήθος της λιβελούλας. Κολλημένη βίδα Μ6 μήκους 60 mm ως κοιλιά.
Βήμα 6: Δημιουργήστε Dragonfly - Body 2 -
Βιδώστε τα παξιμάδια που δημιουργήθηκαν νωρίτερα στο σερβο και συνδέστε τα φτερά των πλακών με τα πόδια του σύρματος.
Βήμα 7: Δημιουργήστε Dragonfly - Body 3 -
Συνδέστε ένα παχύ καλώδιο στο σερβο, ώστε να κολλήσει στη ράβδο αντικατάστασης κεφαλής. Κόλλησα τα πόδια του λεπτού σύρματος σε αυτό το παχύ σύρμα (για ανοξείδωτο ατσάλι).
Βήμα 8: Δημιουργήστε Dragonfly - Body 4 -
Βιδώστε το κεφάλι στο παξιμάδι και η λιβελούλα ολοκληρώνεται. Ενεργοποιήστε το σερβο και γυρίστε το.
Βήμα 9: Servo συνεχούς περιστροφής 360 μοιρών
Αυτό το σερβο λειτουργεί με τη βιβλιοθήκη Servo, η οποία αρχικά συμπεριλήφθηκε στο Arduino IDE, αλλά ελαφρώς διαφορετική από τον κανονικό σερβοκινητήρα.
- Servo stop με είσοδο 90 μοιρών
- Περιστρέψτε δεξιόστροφα με είσοδο 0 έως 89 μοίρες. Η ταχύτητα περιστροφής αυξάνεται περισσότερο από 90 μοίρες.
- Περιστρέψτε αριστερόστροφα με είσοδο από 91 έως 180 μοίρες. Η ταχύτητα περιστροφής αυξάνεται περισσότερο από 90 μοίρες.
Βήμα 10: Κωδικός Arduino
Συνδέστε τον σερβο και τον αισθητήρα χειρονομίας στο Arduino UNO.
Η βιβλιοθήκη αισθητήρων χειρονομίας χρησιμοποιεί τα εξής.
Κοίταξα το δείγμα κωδικού paj7620_9gestures.ino.
Η χειρονομία το έκανε να αναγνωρίζει τη φορά των δεικτών του ρολογιού και αριστερόστροφα του δακτύλου.
Ο ψηφιακός 8 ακροδέκτης του Arduino συνδέεται με το GND έτσι ώστε το σερβο να περιστρέφεται αργά αριστερόστροφα, έτσι ώστε η βίδα κεφαλής να μπορεί να μετατραπεί στο παξιμάδι.
Το ψηφιακό άνοιγμα 8 ακίδων του Arduino απελευθερώνει την κανονική λειτουργία και ξεκινά η ανίχνευση αισθητήρα χειρονομίας. Ανιχνεύει την περιστροφή της κίνησης των δακτύλων και κινείται σύμφωνα με το σερβο.
#include #include "paj7620.h" #include Servo myservo; // δημιουργία αντικειμένου σερβο για τον έλεγχο ενός σερβο
void setup () {uint8_t error = 0; Serial.begin (9600); myservo.attach (A0); // συνδέει το σερβο στον πείρο 9 στο pinMode του σερβο αντικειμένου (8, INPUT_PULLUP). error = paj7620Init (); // αρχικοποίηση καταχωρήσεων Paj7620 εάν (σφάλμα) {Serial.print ("INIT ERROR, CODE:"); Serial.println (σφάλμα); } else {Serial.println ("INIT OK"); } Serial.println ("Εισαγάγετε τις χειρονομίες σας: / n"); }
void loop () {uint8_t data = 0, data1 = 0, error; if (digitalRead (8) == LOW) {myservo.write (90 + 15); } else {error = paj7620ReadReg (0x43, 1, & δεδομένα); // Διαβάστε Bank_0_Reg_0x43/0x44 για αποτέλεσμα χειρονομίας. if (! error) {switch (data) {case GES_CLOCKWISE_FLAG: Serial.println ("δεξιόστροφα"); myservo.write (90 - 20); καθυστέρηση (800)? Διακοπή; θήκη GES_COUNT_CLOCKWISE_FLAG: Serial.println ("αριστερόστροφα"); myservo.write (90 + 20); καθυστέρηση (800)? Διακοπή; προεπιλογή: myservo.write (90); Διακοπή; }}}}
Βήμα 11: Λειτουργία
Πήρα μια όμορφη λιβελλούλα με το κεφάλι!