Sisukord:

Äärmiselt lihtne kalibreerimata servokompass: 7 sammu
Äärmiselt lihtne kalibreerimata servokompass: 7 sammu

Video: Äärmiselt lihtne kalibreerimata servokompass: 7 sammu

Video: Äärmiselt lihtne kalibreerimata servokompass: 7 sammu
Video: Лучшие техники целеполагания. Как правильно ставить цели. НЛП эфир. S.M.A.R.T , G.R.O.W. , Х.С.Р 2024, November
Anonim
Äärmiselt lihtne, kalibreerimata servokompass
Äärmiselt lihtne, kalibreerimata servokompass

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

Pange kõik kokku
Pange kõik kokku
Pange kõik kokku
Pange kõik kokku

Veenduge, et teie päised on teie andurile korralikult joodetud ja teil on juhtmed ja leivaplaat.

2. samm: kooditeegid

Kooditeegid
Kooditeegid
Kooditeegid
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

Ühendage see kokku
Ü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

Lisage juhtmestikule servo
Lisage juhtmestikule servo

Maandus ja pinge räägivad enda eest, kuid soovite, et andmeside oleks ~ 3.

6. samm: testige koodi

Testige koodi
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.

Soovitan: