Obsah:

Extrémne základný, nekalibrovaný servo kompas: 7 krokov
Extrémne základný, nekalibrovaný servo kompas: 7 krokov

Video: Extrémne základný, nekalibrovaný servo kompas: 7 krokov

Video: Extrémne základný, nekalibrovaný servo kompas: 7 krokov
Video: ComfyUI Tutorial - How to Install ComfyUI on Windows, RunPod & Google Colab | Stable Diffusion SDXL 2024, December
Anonim
Extrémne základný, nekalibrovaný servo kompas
Extrémne základný, nekalibrovaný servo kompas

Toto je len základný pokyn pre projekt, na ktorom pracujem. Toto je nekalibrované a je to veľmi základný prototyp vyrobený pre triedu. V neskoršom návode ukážem, ako ho kalibrovať.

Na vašom mieste by som od toho nečakal veľkú veľkosť, je to skôr dokumentovanie postupu.

Zásoby

  • Mikro servo (použil som mikro servo HXT900 od Hobby King)
  • Arduino (používal som Uno)
  • LSM303DLHC je snímač
  • Káble, spájka atď
  • Breadboard

Krok 1: Zostavte všetko

Zostavte všetko
Zostavte všetko
Zostavte všetko
Zostavte všetko

Uistite sa, že sú vaše hlavičky správne pripájané k senzoru a že máte káble a dosku.

Krok 2: Knižnice kódu

Knižnice kódov
Knižnice kódov
Knižnice kódov
Knižnice kódov

Budete sa chcieť uistiť, že ich máte stiahnuté.

Ostatné knižnice, ktoré budete používať, wire.h a servo.h, by už mali byť predvolene nainštalované.

Krok 3: Kód

Z toho, čo ste práve stiahli, otvorte knižnicu skíc „Compass“. Aby ste mohli používať servo, musíte do tohto kódu vložiť servo kód. Skombinoval som to s kódom Hanie Kiany odtiaľto. Originál je od Hanie Kiani, nie odo mňa. Malo by to vyzerať takto.

#zahrnúť

#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 („Ojoj, nebol zistený žiadny LSM303 … Skontrolujte zapojenie!“); pričom (1); }} void loop (void) { / * Získať novú udalosť senzora * / sensor_event_t udalosť; mag.getEvent (& event); plavák Pi = 3,14159; // Vypočítajte uhol vektora y, x plávajúci nadpis = (atan2 (event.magnetic.y, event.magnetic.x) * 180) / Pi; // Normalizácia na 0-360 if (nadpis <0) {nadpis = 360 + nadpis; } Serial.print („Nadpis kompasu:“); Serial.println (nadpis); Servo1.write (180-nadpis); oneskorenie (10); }

Krok 4: Spojte to dohromady

Spojte to dohromady
Spojte to dohromady

Chcete, aby bol pin úplne vľavo- SCL- pripojený k dátovému vstupu A5

Ten vedľa neho- SDA- pripojený k portu A4.

Ground ide na Ground.

VIN ide na port 5v.

Krok 5: Pridajte servo do vedenia

Pridajte servo k elektroinštalácii
Pridajte servo k elektroinštalácii

Zem a napätie hovoria samy za seba, ale chcete, aby bol dátový kolík ~ 3.

Krok 6: Otestujte kód

Otestujte kód
Otestujte kód

Ak pohybujete magnetometrom pomaly, servo by sa malo pohybovať s ním. Pravdepodobne sa nelíši presne, ale aspoň pracuje s kódom, takže prvá časť je dokončená. Stále je to nekalibrované, ale funguje to.

Odporúča: