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, Novembar
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 jednostavan prototip napravljen za klasu. U kasnijim uputstvima pokazat ću kako ga kalibrirati.

Ne bih očekivao veliku veličinu od ovoga na vašem mjestu, to više dokumentuje proces.

Supplies

  • Mikro servo (koristio sam mikro servo HXT900 iz Hobby King -a)
  • Arduino (koristio sam Uno)
  • LSM303DLHC je senzor
  • Kablovi, lemljenje itd
  • Breadboard

Korak 1: Sastavite sve

Sastavite sve
Sastavite sve
Sastavite sve
Sastavite sve

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

Korak 2: Biblioteke kodova

Biblioteke kodova
Biblioteke kodova
Biblioteke kodova
Biblioteke kodova

Morate biti sigurni da ste ovo preuzeli.

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

Korak 3: Kodirajte

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

#include

#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 ("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 (180 naslova); kašnjenje (10); }

Korak 4: Spojite ga zajedno

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

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

Onaj pored njega- SDA- spojen na A4 port.

Teren ide do Prizemlja.

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 pin podataka bude ~ 3.

Korak 6: Testirajte kôd

Testirajte kôd
Testirajte kôd

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

Preporučuje se: