INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Dit is slegs 'n basiese instruksie vir 'n projek waaraan ek werk. Dit is ongekalibreer en is 'n baie basiese prototipe wat vir die klas gemaak is. In 'n latere instruksie sal ek wys hoe u dit kan kalibreer.
Ek sou nie veel grootsheid hiervan verwag as ek u was nie; dit is meer die proses wat dit dokumenteer.
Voorrade
- Mikroservo (ek het die HXT900 Micro Servo van Hobby King gebruik)
- Arduino (ek het Uno gebruik)
- LSM303DLHC is die sensor
- Kabels, soldeersel, ens
- Broodbord
Stap 1: Monteer alles
Maak seker dat u kopstukke behoorlik aan u sensor gesoldeer is en dat u drade en broodbord het.
Stap 2: Kodebiblioteke
U wil seker maak dat u dit afgelaai het.
Die ander biblioteke wat u gebruik, wire.h en servo.h, moet standaard reeds geïnstalleer wees.
Stap 3: Kodeer
Maak die sketsbiblioteek 'Kompas' oop van wat u pas afgelaai het. Om die servo te gebruik, wil u die servokode in hierdie kode plaas. Ek het dit van hier af gekombineer met die kode van Hanie Kiana. Die oorspronklike is deur Hanie Kiani, nie ek nie. Dit moet so lyk.
#insluit
#include #include #include #include Adafruit_LSM303DLH_Mag_Unified mag = Adafruit_LSM303DLH_Mag_Unified (12345); int servoPin = 3; Servo Servo1; leemte opstel (leeg) {Serial.begin (9600); Wire.begin (); Servo1.aanheg (servoPin); Serial.println ("Magnetometer toets"); Serial.println (""); if (! mag.begin ()) {Serial.println ("Oeps, geen LSM303 bespeur nie … Kontroleer u bedrading!"); terwyl (1); }} leemte lus (leeg) { / * Kry 'n nuwe sensorgebeurtenis * / sensors_event_t gebeurtenis; mag.getEvent (& gebeurtenis); float Pi = 3.14159; // Bereken die hoek van die vektor y, x float -opskrif = (atan2 (event.magnetic.y, event.magnetic.x) * 180) / Pi; // Normaliseer na 0-360 as (opskrif <0) {heading = 360 + heading; } Serial.print ("Kompasopskrif:"); Serial.println (opskrif); Servo1.skryf (180-opskrif); vertraging (10); }
Stap 4: Verbind dit saam
U wil hê dat die pin-SCL-punt aan die linkerkant gekoppel is aan die A5-data-invoer
Die een daarby- SDA- gekoppel aan die A4-poort.
Grond gaan na grond.
VIN gaan na die 5v -poort.
Stap 5: Voeg servo by bedrading
Die grond en spanning spreek vanself, maar u wil hê dat die data -pen ~ 3 moet wees.
Stap 6: Toets die kode
As u die magnetometer stadig beweeg, moet die servo daarmee beweeg. Dit wissel waarskynlik nie akkuraat nie, maar dit werk ten minste met die kode, dus deel een is voltooi. Dit is nog steeds nie gekalibreer nie, maar dit werk.