Sisällysluettelo:

Erittäin yksinkertainen, kalibroimaton servokompassi: 7 vaihetta
Erittäin yksinkertainen, kalibroimaton servokompassi: 7 vaihetta

Video: Erittäin yksinkertainen, kalibroimaton servokompassi: 7 vaihetta

Video: Erittäin yksinkertainen, kalibroimaton servokompassi: 7 vaihetta
Video: LÖYDETTY SYVÄSTÄ METSÄSTÄ | Hylättyjä ruotsalaisia mökkejä (kokonaan unohdettu) 2024, Heinäkuu
Anonim
Erittäin yksinkertainen, kalibroimaton servokompassi
Erittäin yksinkertainen, kalibroimaton servokompassi

Tämä on vain perusohjeita projektille, jonka parissa työskentelen. Tämä on kalibroimaton ja on hyvin perusprototyyppi luokalle. Myöhemmin ohjeessa näytän, miten se kalibroidaan.

En odottaisi tältä paljon suurta, jos olisin sinä, se dokumentoi enemmän prosessia.

Tarvikkeet

  • Mikroservo (käytin Hobby Kingin HXT900 Micro Servoa)
  • Arduino (käytin Unoa)
  • LSM303DLHC on anturi
  • Kaapelit, juotos jne
  • Leipälauta

Vaihe 1: Kokoa kaikki

Kokoa Kaikki
Kokoa Kaikki
Kokoa Kaikki
Kokoa Kaikki

Varmista, että otsikkosi on juotettu anturiin oikein ja että sinulla on johdot ja leipälevy.

Vaihe 2: Koodikirjastot

Koodikirjastot
Koodikirjastot
Koodikirjastot
Koodikirjastot

Haluat varmistaa, että olet ladannut nämä.

Muut käyttämäsi kirjastot, wire.h ja servo.h, on oletusarvoisesti asennettu.

Vaihe 3: Koodi

Avaa luonnoskirjasto 'Kompassi' juuri lataamastasi tiedostosta. Jotta voisit käyttää servoa, haluat lisätä servokoodin tähän koodiin. Yhdistin sen Hanie Kianan koodiin täältä. Alkuperäinen on Hanie Kiani, en minä. Sen pitäisi näyttää tältä.

#sisältää

#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 ("Magnetometritesti"); Serial.println (""); if (! mag.begin ()) {Serial.println ("Hups, LSM303 ei havaittu… Tarkista johdot!"); kun taas (1); }} void loop (void) { / * Hanki uusi anturitapahtuma * / sensors_event_t event; mag.getEvent (& tapahtuma); float Pi = 3,14159; // Laske vektorin y kulma, x kelluva otsikko = (atan2 (event.magnetic.y, event.magnetic.x) * 180) / Pi; // Normalisoi arvoon 0-360, jos (otsikko <0) {otsikko = 360 + otsikko; } Serial.print ("Kompassin otsikko:"); Serial.println (otsikko); Servo1.write (180-otsikko); viive (10); }

Vaihe 4: Yhdistä se yhteen

Yhdistä se yhteen
Yhdistä se yhteen

Haluat vasemmanpuoleisen nastan- SCL-- liittää A5-datatuloon

Sen vieressä oleva SDA-liitin on liitetty A4-porttiin.

Maa menee maahan.

VIN menee 5v porttiin.

Vaihe 5: Lisää Servo johdotukseen

Lisää Servo johdotukseen
Lisää Servo johdotukseen

Maa ja jännite puhuvat puolestaan, mutta haluat datanapin olevan ~ 3.

Vaihe 6: Testaa koodi

Testaa koodi
Testaa koodi

Jos liikutat magnetometriä hitaasti, servon tulee liikkua sen mukana. Se ei todennäköisesti vaihtele tarkasti, mutta se toimii ainakin koodin kanssa, joten osa 1 on valmis. Se on edelleen kalibroimaton, mutta se toimii.

Suositeltava: