Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Dette er bare en grunnleggende instruks for et prosjekt jeg jobber med. Dette er ukalibrert og er en veldig grunnleggende prototype laget for klassen. I en senere instruks vil jeg vise hvordan jeg kalibrerer den.
Jeg ville ikke forvente mye storhet av dette hvis jeg var deg, det er mer å dokumentere prosessen.
Rekvisita
- Micro servo (jeg brukte HXT900 Micro Servo fra Hobby King)
- Arduino (jeg brukte Uno)
- LSM303DLHC er sensoren
- Kabler, lodding osv
- Brødbrett
Trinn 1: Sett sammen alt
Sørg for at hodene dine er loddet på sensoren din ordentlig og at du har ledninger og brødbrett.
Trinn 2: Kodebiblioteker
Du vil sørge for at du har disse lastet ned.
De andre bibliotekene du bruker, wire.h og servo.h, bør allerede være installert som standard.
Trinn 3: Kode
Åpne skissebiblioteket 'Kompass' fra det du nettopp lastet ned. For å bruke servoen, vil du sette servokoden inn i denne koden. Jeg kombinerte den med Hanie Kianas kode herfra. Originalen er av Hanie Kiani, ikke meg. Det skal se slik ut.
#inkludere
#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 ("Magnetometertest"); Serial.println (""); if (! mag.begin ()) {Serial.println ("Ooops, ingen LSM303 oppdaget … Sjekk ledningene!"); mens (1); }} void loop (void) { / * Få en ny sensorhendelse * / sensors_event_t event; mag.getEvent (& event); flyte Pi = 3.14159; // Beregn vinkelen på vektoren y, x flyteoverskrift = (atan2 (event.magnetic.y, event.magnetic.x) * 180) / Pi; // Normaliser til 0-360 hvis (overskrift <0) {heading = 360 + heading; } Serial.print ("Kompassoverskrift:"); Serial.println (overskrift); Servo1.write (180-overskrift); forsinkelse (10); }
Trinn 4: Koble det sammen
Du vil at den nederste pin-SCL- er koblet til A5-datainngangen
Den ved siden av- SDA- koblet til A4-porten.
Bakken går til bakken.
VIN går til 5v -porten.
Trinn 5: Legg servo til ledninger
Jord og spenning taler for seg selv, men du vil at datapinnen skal være ~ 3.
Trinn 6: Test koden
Hvis du beveger magnetometeret sakte, bør servoen bevege seg med det. Det varierer sannsynligvis ikke nøyaktig, men det fungerer i det minste med koden, så del en er fullført. Det er fortsatt ukalibrert, men det fungerer.