Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
See on lihtsalt põhiline juhend projekti jaoks, mille kallal töötan. See on kalibreerimata ja see on klassi jaoks väga lihtne prototüüp. Hilisemas juhendis näitan, kuidas seda kalibreerida.
Mina sinu asemel ei ootaks sellest suurt ülevust, see on pigem protsessi dokumenteerimine.
Tarvikud
- Mikroservo (kasutasin Hobby Kingi HXT900 Micro Servot)
- Arduino (ma kasutasin Unot)
- LSM303DLHC on andur
- Kaablid, joodis jne
- Leivalaud
Samm: koguge kõik kokku
Veenduge, et teie päised on teie andurile korralikult joodetud ja teil on juhtmed ja leivaplaat.
2. samm: kooditeegid
Soovite veenduda, et need on alla laaditud.
Teised kasutatavad teegid wire.h ja servo.h peaksid vaikimisi olema juba installitud.
3. samm: kood
Avage äsja alla laaditud visanditeek "Kompass". Servo kasutamiseks soovite selle koodi sisestada servokoodi. Kombineerisin selle Hanie Kiana koodiga siit. Originaal on Hanie Kiani, mitte mina. See peaks välja nägema selline.
#kaasake
#include #include #include #include Adafruit_LSM303DLH_Mag_Unified mag = Adafruit_LSM303DLH_Mag_Unified (12345); int servoPin = 3; Servo Servo1; tühine seadistus (tühine) {Serial.begin (9600); Wire.begin (); Servo1.attach (servoPin); Serial.println ("Magnetomeetri test"); Serial.println (""); if (! mag.begin ()) {Serial.println ("Oih, LSM303 ei tuvastatud … Kontrollige oma juhtmestikku!"); samas (1); }} void loop (void) { / * Hankige uus andurisündmus * / sensors_event_t sündmus; mag.getEvent (& event); ujuk Pi = 3,14159; // Arvutage vektori y nurk, x ujuki suund = (atan2 (sündmus.magnetiline.y, sündmus.magnetiline.x) * 180) / Pi; // Normaliseerige 0-360-ni, kui (rubriik <0) {rubriik = 360 + pealkiri; } Serial.print ("Kompassi pealkiri:"); Serial.println (rubriik); Servo1.write (180-rubriik); viivitus (10); }
4. samm: ühendage see kokku
Soovite, et vasakpoolne tihvt SCL- oleks ühendatud A5 andmesisendiga
Selle kõrval olev- SDA- on ühendatud A4-pordiga.
Maa läheb maapinnale.
VIN läheb 5v porti.
Samm: lisage juhtmestikule servo
Maandus ja pinge räägivad enda eest, kuid soovite, et andmeside oleks ~ 3.
6. samm: testige koodi
Kui liigutate magnetomeetrit aeglaselt, peaks servo koos sellega liikuma. Tõenäoliselt pole see erinev, kuid see töötab vähemalt koodiga, nii et esimene osa on täielik. See on endiselt kalibreerimata, kuid töötab.