Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
Acesta este doar un element instructiv de bază pentru un proiect la care lucrez. Acesta este necalibrat și este un prototip de bază realizat pentru clasă. Într-o instrucțiune ulterioară, voi arăta cum să-l calibrez.
Nu m-aș aștepta la multă măreție de la asta dacă aș fi tu, documentează mai mult procesul.
Provizii
- Micro servo (am folosit micro servo HXT900 de la Hobby King)
- Arduino (am folosit Uno)
- LSM303DLHC este senzorul
- Cabluri, lipire etc.
- Pană de pâine
Pasul 1: Asamblați totul
Asigurați-vă că anteturile sunt lipite în mod corespunzător pe senzor și că aveți firele și panoul de măsurare.
Pasul 2: Biblioteci de coduri
Veți dori să vă asigurați că le-ați descărcat.
Celelalte biblioteci pe care le veți folosi, wire.h și servo.h, ar trebui să fie deja instalate implicit.
Pasul 3: Cod
Deschideți biblioteca de schițe „Busolă” din ceea ce tocmai ați descărcat. Pentru a utiliza servo, doriți să introduceți codul servo în acest cod. L-am combinat cu codul lui Hanie Kiana de aici. Originalul este de Hanie Kiani, nu de mine. Ar trebui să arate așa.
#include
#include #include #include #include Adafruit_LSM303DLH_Mag_Unified mag = Adafruit_LSM303DLH_Mag_Unified (12345); int servoPin = 3; Servo Servo1; configurare nulă (nulă) {Serial.begin (9600); Wire.begin (); Servo1.attach (servoPin); Serial.println ("Test magnetometru"); Serial.println (""); if (! mag.begin ()) {Serial.println ("Ooops, nu a fost detectat LSM303 … Verificați cablajul!"); în timp ce (1); }} void loop (void) {/ * Obțineți un nou eveniment senzor * / sensors_event_t event; mag.getEvent (& event); plutitor Pi = 3,14159; // Calculați unghiul vectorului y, x float heading = (atan2 (event.magnetic.y, event.magnetic.x) * 180) / Pi; // Normalizați la 0-360 dacă (antet <0) {antet = 360 + antet; } Serial.print ("Antetul busolei:"); Serial.println (antet); Servo1.write (180 de titluri); întârziere (10); }
Pasul 4: conectați-l împreună
Doriți ca pinul din stânga - SCL - să fie conectat la intrarea de date A5
Cel de lângă el - SDA- conectat la portul A4.
Pământul merge la Pământ.
VIN merge la portul 5v.
Pasul 5: Adăugați Servo la cablare
Masa și tensiunea vorbesc de la sine, dar doriți ca pinul de date să fie ~ 3.
Pasul 6: Testați codul
Dacă mutați magnetometrul încet, servo-ul ar trebui să se deplaseze odată cu acesta. Probabil nu variază exact, dar funcționează cel puțin cu codul, deci prima parte este completă. Este încă necalibrat, dar funcționează.