Sadržaj:

Izuzetno osnovni, nekalibrirani servo kompas: 7 koraka
Izuzetno osnovni, nekalibrirani servo kompas: 7 koraka

Video: Izuzetno osnovni, nekalibrirani servo kompas: 7 koraka

Video: Izuzetno osnovni, nekalibrirani servo kompas: 7 koraka
Video: ComfyUI Tutorial - How to Install ComfyUI on Windows, RunPod & Google Colab | Stable Diffusion SDXL 2024, Srpanj
Anonim
Izuzetno osnovni, nekalibrirani servo kompas
Izuzetno osnovni, nekalibrirani servo kompas

Ovo je samo osnovno uputstvo za projekt na kojem radim. Ovo je nekalibrirano i vrlo je osnovni prototip napravljen za klasu. U kasnijim uputama pokazat ću kako ga kalibrirati.

Ne bih od vas očekivao veliku veličinu na vašem mjestu, to je više dokumentiranje procesa.

Pribor

  • Mikro servo (koristio sam mikro servo HXT900 iz Hobby Kinga)
  • Arduino (koristio sam Uno)
  • LSM303DLHC je senzor
  • Kablovi, lemljenje itd
  • Oglasna ploča

Korak 1: Sastavite sve

Sastavi sve
Sastavi sve
Sastavi sve
Sastavi sve

Provjerite jesu li zaglavlja pravilno lemljena na senzor i imate li svoje žice i matičnu ploču.

Korak 2: Knjižnice kodova

Knjižnice kodova
Knjižnice kodova
Knjižnice kodova
Knjižnice kodova

Morat ćete biti sigurni da ste ovo preuzeli.

Ostale knjižnice koje ćete koristiti, wire.h i servo.h, trebale bi biti već instalirane prema zadanim postavkama.

Korak 3: Kodirajte

Otvorite biblioteku skica 'Kompas' iz onoga što ste upravo preuzeli. Da biste koristili servo, u ovaj kôd želite staviti servo kôd. Kombinirao sam ga s kodom Hanie Kiana odavde. Original je Hanie Kiani, ne ja. To bi trebalo izgledati ovako.

#uključi

#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.priključak (servoPin); Serial.println ("Test magnetometra"); Serial.println (""); if (! mag.begin ()) {Serial.println ("Ups, nije otkriven LSM303 … Provjerite ožičenje!"); while (1); }} void loop (void) { / * Nabavite novi događaj senzora * / sensors_event_t event; mag.getEvent (& event); plovak Pi = 3,14159; // Izračunajte kut vektora y, x float heading = (atan2 (event.magnetic.y, event.magnetic.x) * 180) / Pi; // Normalizirajte na 0-360 if (zaglavlje <0) {zaglavlje = 360 + zaglavlje; } Serial.print ("Zaglavlje kompasa:"); Serial.println (naslov); Servo1.write (naslov 180); kašnjenje (10); }

Korak 4: Spojite ga zajedno

Ožičite to zajedno
Ožičite to zajedno

Želite da je krajnji lijevi pin- SCL- spojen na ulaz A5 podataka

Ona pokraj nje- SDA- spojena na A4 port.

Tlo ide na Tlo.

VIN ide na 5v port.

Korak 5: Dodajte servo u ožičenje

Dodajte servo u ožičenje
Dodajte servo u ožičenje

Uzemljenje i napon govore sami za sebe, ali želite da podatkovni pin bude ~ 3.

Korak 6: Testirajte kôd

Testirajte kod
Testirajte kod

Ako magnetometar polako pomičete, servo bi se trebao kretati s njim. Vjerojatno ne varira točno, ali barem radi s kodom, tako da je prvi dio dovršen. Još uvijek nije kalibrirano, ali radi.

Preporučeni: