Satura rādītājs:

Ārkārtīgi vienkāršs, nekalibrēts servokompass: 7 soļi
Ārkārtīgi vienkāršs, nekalibrēts servokompass: 7 soļi

Video: Ārkārtīgi vienkāršs, nekalibrēts servokompass: 7 soļi

Video: Ārkārtīgi vienkāršs, nekalibrēts servokompass: 7 soļi
Video: A Remnant Bride Being Prepared 2024, Novembris
Anonim
Ārkārtīgi vienkāršs, nekalibrēts servo kompass
Ārkārtīgi vienkāršs, nekalibrēts servo kompass

Tas ir tikai pamācība projektam, pie kura strādāju. Šis ir nekalibrēts un ir ļoti vienkāršs klases prototips. Vēlākā pamācībā es parādīšu, kā to kalibrēt.

Es jūsu vietā es negaidītu lielu varenību, tā vairāk dokumentē procesu.

Piegādes

  • Mikro servo (es izmantoju HXT900 Micro Servo no Hobby King)
  • Arduino (es izmantoju Uno)
  • LSM303DLHC ir sensors
  • Kabeļi, lodēšana utt
  • Maizes dēlis

1. darbība: salieciet visu

Salieciet visu
Salieciet visu
Salieciet visu
Salieciet visu

Pārliecinieties, vai galvenes ir pareizi pielodētas pie sensora un vai jums ir vadi un maizes dēlis.

2. darbība: kodu bibliotēkas

Kodu bibliotēkas
Kodu bibliotēkas
Kodu bibliotēkas
Kodu bibliotēkas

Jūs vēlaties pārliecināties, vai tie ir lejupielādēti.

Pārējām jūsu izmantotajām bibliotēkām - wire.h un servo.h - jau jābūt instalētām pēc noklusējuma.

3. darbība: kods

No tikko lejupielādētā atveriet skiču bibliotēku “Kompass”. Lai izmantotu servo, šajā kodā vēlaties ievietot servo kodu. Es to apvienoju ar Hanijas Kiānas kodu no šejienes. Oriģināls ir Hanie Kiani, nevis es. Tam vajadzētu izskatīties šādi.

#iekļaut

#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 ("Magnetometra tests"); Serial.println (""); if (! mag.begin ()) {Serial.println ("Hmm, LSM303 netika atklāts … Pārbaudiet elektroinstalāciju!"); kamēr (1); }} void loop (void) { / * Iegūstiet jaunu sensora notikumu * / sensors_event_t event; mag.getEvent (& event); pludiņš Pi = 3,14159; // Aprēķiniet vektora y leņķi, x pludiņa virsraksts = (atan2 (event.magnetic.y, event.magnetic.x) * 180) / Pi; // Normalizēt līdz 0-360, ja (virsraksts <0) {title = 360 + virsraksts; } Serial.print ("Kompasa virsraksts:"); Serial.println (virsraksts); Servo1.rakstīt (180 pozīcija); kavēšanās (10); }

4. solis: savienojiet to kopā

Savienojiet to kopā
Savienojiet to kopā

Jūs vēlaties, lai A5 datu ievadei būtu pievienots kreisākais spraudnis- SCL

Blakus esošais- SDA- savienots ar A4 portu.

Zeme iet uz zemi.

VIN iet uz 5v portu.

5. darbība: pievienojiet elektroinstalācijai servo

Pievienojiet vadu elektroinstalācijai
Pievienojiet vadu elektroinstalācijai

Zeme un spriegums runā paši par sevi, bet jūs vēlaties, lai datu tapa būtu ~ 3.

6. darbība: pārbaudiet kodu

Pārbaudiet kodu
Pārbaudiet kodu

Ja magnetometru pārvietojat lēni, servo jāpārvietojas kopā ar to. Tas, iespējams, nav precīzi atšķirīgs, bet vismaz strādā ar kodu, tāpēc pirmā daļa ir pabeigta. Tas joprojām nav kalibrēts, bet tas darbojas.

Ieteicams: