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

Gesture Control Car MPU6050 και NRF24L01: 4 Βήματα
Gesture Control Car MPU6050 και NRF24L01: 4 Βήματα

Βίντεο: Gesture Control Car MPU6050 και NRF24L01: 4 Βήματα

Βίντεο: Gesture Control Car MPU6050 και NRF24L01: 4 Βήματα
Βίντεο: Controlling LED Brightness with Potentiometer and Servo Library of Arduino 2024, Ιούλιος
Anonim

Το ρομπότ ελέγχου χειρονομίας είναι δημοφιλές κοινό τύπο έργων που γίνονται από χομπίστες. Η ιδέα πίσω από αυτό είναι απλή: ο προσανατολισμός της παλάμης ελέγχει την κίνηση του ρομποτικού αυτοκινήτου. MPU6050 για να αντιληφθεί τον προσανατολισμό του καρπού και τον μεταφέρει στο arduino σε ψηφιακή αξία. Το εύρος τιμών είναι από -32768 έως +32767 για κάθε άξονα. Λειτουργικό στοιχείο βασισμένο στο τσιπ NRF24L01 που έχει αμφίδρομη επικοινωνία στη ζώνη 2.4GHz. Η πλακέτα έχει ενσωματωμένη κεραία. Η μονάδα επικοινωνεί με μικροελεγκτές μέσω αναφοράς SPI. Το εύρος μιας τέτοιας ενότητας στη θεωρία είναι έως 100 μέτρα. Επιπλέον, μπορείτε να ελέγξετε την ισχύ του πομπού για να μειώσετε την κατανάλωση ενέργειας. Οι κινητήρες ελέγχονται από τη μονάδα L298N που τροφοδοτείται από έξι μπαταρίες AA / R6.

Βήμα 1: Λίστα στοιχείων

Στοιχεία λίστας
Στοιχεία λίστας

Βήμα 2: Πομπός σχήματος και κώδικας

Πομπός και κώδικας σχήματος
Πομπός και κώδικας σχήματος

Σκίτσο ΛΗOWΗ

Βήμα 3: Δέκτης σχήματος και κωδικός

Δέκτης και Κωδικός Σχήματος
Δέκτης και Κωδικός Σχήματος

Σκίτσο ΛΗOWΗ

Βήμα 4: Διαμόρφωση

Αφού ανεβάσετε σκίτσα στο arduinos, συνδέστε τον δέκτη στον υπολογιστή και ανοίξτε το SERIAL MONITOR. Ενεργοποιήστε τον πομπό και δείτε ότι βλέπετε τις τιμές του άξονα Χ και του άξονα Υ. Τώρα ορίστε τις τιμές για κάθε κατεύθυνση ταξιδιού. Τιμή STOP: εάν η τιμή FORWARD είναι AcX 6000. Η τιμή STOP θα είναι το εύρος μεταξύ αυτών των τιμών AcX -6000.

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

// ΔΙΑΓΡΑΦΗ // -----------------------------

Serial.print ("AcX:");

Serial.print (ACX);

Serial.print ("");

Serial.print ("AcY:");

Serial.print (ACY);

καθυστέρηση (300)?

// -----------------------------

Συνιστάται: