Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Αυτό είναι απλώς μια βασική οδηγία για ένα έργο στο οποίο δουλεύω. Αυτό δεν είναι βαθμονομημένο και είναι ένα πολύ βασικό πρωτότυπο φτιαγμένο για τάξη. Σε ένα αργότερα διδάξιμο, θα δείξω πώς να το βαθμονομήσω.
Δεν θα περίμενα μεγάλο μεγαλείο από αυτό αν ήμουν στη θέση σας, είναι περισσότερο τεκμηρίωση της διαδικασίας.
Προμήθειες
- Micro servo (χρησιμοποίησα το HXT900 Micro Servo από το Hobby King)
- Arduino (χρησιμοποίησα Uno)
- Ο αισθητήρας είναι ο LSM303DLHC
- Καλώδια, συγκολλήσεις κλπ
- Breadboard
Βήμα 1: Συγκεντρώστε τα πάντα
Βεβαιωθείτε ότι οι κεφαλίδες σας είναι κολλημένες στον αισθητήρα σας σωστά και ότι έχετε τα καλώδια και το ψωμί σας.
Βήμα 2: Βιβλιοθήκες κώδικα
Θα θέλετε να βεβαιωθείτε ότι έχετε κατεβάσει αυτά.
Οι άλλες βιβλιοθήκες που θα χρησιμοποιείτε, το wire.h και το servo.h, θα πρέπει να είναι ήδη εγκατεστημένες από προεπιλογή.
Βήμα 3: Κωδικός
Ανοίξτε τη βιβλιοθήκη σκίτσων «Πυξίδα» από αυτό που μόλις κατεβάσατε. Για να χρησιμοποιήσετε το σερβο, θέλετε να βάλετε τον κωδικό σερβο σε αυτόν τον κώδικα. Το συνδύασα με τον κώδικα της Χάνι Κιάνα από εδώ. Το πρωτότυπο είναι της Χάνι Κιανή, όχι εγώ. Θα πρέπει να μοιάζει με αυτό.
#περιλαμβάνω
#include #include #include #include Adafruit_LSM303DLH_Mag_Unified mag = Adafruit_LSM303DLH_Mag_Unified (12345); int servoPin = 3; Servo Servo1; void setup (void) {Serial.begin (9600); Wire.begin (); Servo1.attach (servoPin); Serial.println ("Δοκιμή μαγνητόμετρου"); Serial.println (""); εάν (! mag.begin ()) {Serial.println ("Ωχ, δεν εντοπίστηκε LSM303 … Ελέγξτε την καλωδίωση!"); ενώ (1)? }} void loop (void) { / * Λάβετε ένα νέο συμβάν αισθητήρα * / sensors_event_t event; mag.getEvent (& event); float Pi = 3.14159; // Υπολογίστε τη γωνία του διανύσματος y, x επικεφαλίδα float = (atan2 (event.magnetic.y, event.magnetic.x) * 180) / Pi; // Κανονικοποίηση σε 0-360 εάν (επικεφαλίδα <0) {επικεφαλίδα = 360 + επικεφαλίδα; } Serial.print ("Επικεφαλίδα πυξίδας:"); Serial.println (επικεφαλίδα); Servo1.write (180 κεφαλίδες); καθυστέρηση (10)? }
Βήμα 4: Συνδέστε το μαζί
Θέλετε το πιο αριστερό pin-SCL- συνδεδεμένο στην είσοδο δεδομένων A5
Το δίπλα- SDA- συνδεδεμένο στη θύρα Α4.
Το έδαφος πηγαίνει στο έδαφος.
Το VIN πηγαίνει στη θύρα 5v.
Βήμα 5: Προσθέστε Servo στο Wiring
Η γείωση και η τάση μιλούν από μόνα τους, αλλά θέλετε η καρφίτσα δεδομένων να είναι ~ 3.
Βήμα 6: Δοκιμάστε τον κώδικα
Εάν μετακινήσετε το μαγνητόμετρο αργά, το σερβο πρέπει να κινείται μαζί του. Πιθανότατα δεν διαφέρει με ακρίβεια, αλλά λειτουργεί τουλάχιστον με τον κώδικα, οπότε το πρώτο μέρος είναι πλήρες. Είναι ακόμα χωρίς βαθμονόμηση, αλλά λειτουργεί.