Kazalo:

Izjemno preprost, nekalibriran servo kompas: 7 korakov
Izjemno preprost, nekalibriran servo kompas: 7 korakov

Video: Izjemno preprost, nekalibriran servo kompas: 7 korakov

Video: Izjemno preprost, nekalibriran servo kompas: 7 korakov
Video: The House of the Seven Gables by Nathaniel Hawthorne - Chapter 01 - The Old Pyncheon Family 2024, Julij
Anonim
Izjemno preprost, nekalibriran servo kompas
Izjemno preprost, nekalibriran servo kompas

To je le osnovno navodilo za projekt, na katerem delam. To je nekolibrirano in je zelo osnovni prototip, narejen za razred. V kasnejših navodilih bom pokazal, kako ga umeriti.

Na vašem mestu ne bi pričakoval velike veličine, bolj dokumentira proces.

Zaloge

  • Mikro servo (uporabil sem mikro servo HXT900 iz Hobby Kinga)
  • Arduino (uporabil sem Uno)
  • Senzor je LSM303DLHC
  • Kabli, spajkanje itd
  • Ogledna plošča

1. korak: Vse sestavite

Vse sestavite
Vse sestavite
Vse sestavite
Vse sestavite

Prepričajte se, da so glave pravilno spajkane na senzor in da imate žice in ploščo.

2. korak: knjižnice kod

Knjižnice kod
Knjižnice kod
Knjižnice kod
Knjižnice kod

Prepričati se morate, da ste jih prenesli.

Druge knjižnice, ki jih boste uporabljali, wire.h in servo.h, bi morale biti privzeto že nameščene.

3. korak: Koda

Odprite knjižnico skic 'Compass' iz tega, kar ste pravkar prenesli. Če želite uporabljati servo, želite v to kodo vstaviti servo kodo. Od tu sem ga združil s kodo Hanie Kiana. Original je Hanie Kiani, ne jaz. To bi moralo izgledati tako.

#vključ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ček (servoPin); Serial.println ("Preskus magnetometra"); Serial.println (""); if (! mag.begin ()) {Serial.println ("Ups, ni zaznan noben LSM303 … Preverite ožičenje!"); medtem ko (1); }} void loop (void) { / * Pridobite nov dogodek senzorja * / sensors_event_t dogodek; mag.getEvent (& event); plovec Pi = 3,14159; // Izračunajte kot vektorja y, x float heading = (atan2 (event.magnetic.y, event.magnetic.x) * 180) / Pi; // Normaliziraj na 0-360 if (naslov <0) {naslov = 360 + naslov; } Serial.print ("Naslov kompasa:"); Serial.println (naslov); Servo1.write (naslov 180); zamuda (10); }

4. korak: Povežite ga skupaj

Povežite skupaj
Povežite skupaj

Želite, da je skrajni levi pin- SCL- povezan z vhodom podatkov A5

Tisti zraven- SDA- povezan z vrati A4.

Ground gre na Ground.

VIN gre na vrata 5V.

5. korak: Servo dodajte ožičenju

Dodajte servo v ožičenje
Dodajte servo v ožičenje

Ozemljitev in napetost govorijo sami zase, vendar želite, da je podatkovni pin ~ 3.

6. korak: Preizkusite kodo

Preizkusite kodo
Preizkusite kodo

Če magnetometer premikate počasi, bi se moral servo premikati z njim. Verjetno se ne razlikuje natančno, vendar vsaj dela s kodo, zato je prvi del končan. Še vedno ni umerjeno, vendar deluje.

Priporočena: