Obsah:

Extrémně základní, nekalibrovaný servo kompas: 7 kroků
Extrémně základní, nekalibrovaný servo kompas: 7 kroků

Video: Extrémně základní, nekalibrovaný servo kompas: 7 kroků

Video: Extrémně základní, nekalibrovaný servo kompas: 7 kroků
Video: [JAK VYROBIT ORGANICKOU STOLNÍ ARCHU] 2024, Listopad
Anonim
Extrémně základní, nekalibrovaný servo kompas
Extrémně základní, nekalibrovaný servo kompas

Toto je jen základní návod pro projekt, na kterém pracuji. Toto je nekalibrované a je to velmi základní prototyp vytvořený pro třídu. V pozdějším pokynu ukážu, jak jej kalibrovat.

Na tvém místě bych od toho neočekával velkou velikost, je to spíše dokumentování postupu.

Zásoby

  • Mikro servo (použil jsem mikro servo HXT900 od Hobby King)
  • Arduino (použil jsem Uno)
  • LSM303DLHC je snímač
  • Kabely, pájka atd
  • Prkénko

Krok 1: Sestavte vše

Sestavte všechno
Sestavte všechno
Sestavte všechno
Sestavte všechno

Ujistěte se, že jsou vaše záhlaví správně připájena k vašemu senzoru a že máte kabely a nepájivé pole.

Krok 2: Knihovny kódů

Knihovny kódů
Knihovny kódů
Knihovny kódů
Knihovny kódů

Budete se chtít ujistit, že máte tyto stažené.

Ostatní knihovny, které budete používat, wire.h a servo.h, by již měly být ve výchozím nastavení nainstalovány.

Krok 3: Kód

Otevřete knihovnu skic 'Compass' z právě staženého. Abyste mohli používat servo, chcete do tohoto kódu vložit servo kód. Odtud jsem to spojil s kódem Hanie Kiany. Originál je od Hanie Kiani, ne mě. Mělo by to vypadat takto.

#zahrnout

#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 magnetometru“); Serial.println (""); if (! mag.begin ()) {Serial.println ("Jejda, nebyl detekován žádný LSM303 … Zkontrolujte zapojení!"); zatímco (1); }} void loop (void) { / * Získejte novou událost senzoru * / sensor_event_t událost; mag.getEvent (& událost); float Pi = 3,14159; // Vypočítejte úhel vektoru y, x nadpis float = (atan2 (event.magnetic.y, event.magnetic.x) * 180) / Pi; // Normalizace na 0-360 if (nadpis <0) {nadpis = 360 + nadpis; } Serial.print („Nadpis kompasu:“); Serial.println (nadpis); Servo1.write (180 nadpisů); zpoždění (10); }

Krok 4: Spojte to dohromady

Spojte to dohromady
Spojte to dohromady

Chcete, aby kolík úplně vlevo- SCL- byl připojen k datovému vstupu A5

Ten vedle něj- SDA- připojený k portu A4.

Ground jde na Ground.

VIN jde na 5v port.

Krok 5: Přidejte servo do kabeláže

Přidejte servo do elektroinstalace
Přidejte servo do elektroinstalace

Zem a napětí mluví samy za sebe, ale chcete, aby datový pin byl ~ 3.

Krok 6: Otestujte kód

Otestujte kód
Otestujte kód

Pokud pohybujete magnetometrem pomalu, servo by se mělo pohybovat s ním. Pravděpodobně se to neliší přesně, ale pracuje to alespoň s kódem, takže první část je dokončena. Je to stále nekalibrované, ale funguje to.

Doporučuje: