Tartalomjegyzék:

Rendkívül egyszerű, kalibrálatlan szervo iránytű: 7 lépés
Rendkívül egyszerű, kalibrálatlan szervo iránytű: 7 lépés

Videó: Rendkívül egyszerű, kalibrálatlan szervo iránytű: 7 lépés

Videó: Rendkívül egyszerű, kalibrálatlan szervo iránytű: 7 lépés
Videó: 2022 Diótörő gép! CKK100 nussknacker walnuss cracker 2024, December
Anonim
Rendkívül egyszerű, kalibrálatlan szervo iránytű
Rendkívül egyszerű, kalibrálatlan szervo iránytű

Ez csak egy alapvető utasítás a projekthez, amelyen dolgozom. Ez nem kalibrált, és egy nagyon egyszerű prototípus az osztály számára. Egy későbbi utasításban megmutatom, hogyan kell kalibrálni.

Én a helyedben nem várnék sok nagyságot ettől, inkább a folyamat dokumentálása.

Kellékek

  • Mikroszervó (a HXT900 Micro Servót használtam a Hobby King -től)
  • Arduino (Uno -t használtam)
  • Az LSM303DLHC az érzékelő
  • Kábelek, forrasztás stb
  • Kenyeretábla

Lépés: Szereljen össze mindent

Szereljen össze mindent
Szereljen össze mindent
Szereljen össze mindent
Szereljen össze mindent

Győződjön meg arról, hogy a fejlécei megfelelően vannak forrasztva az érzékelőhöz, és megvannak a vezetékek és a kenyérlap.

2. lépés: Kódkönyvtárak

Kódkönyvtárak
Kódkönyvtárak
Kódkönyvtárak
Kódkönyvtárak

Győződjön meg arról, hogy ezeket letöltötte.

A többi használt könyvtárat, a wire.h és a servo.h alapértelmezés szerint már telepítve kell lennie.

3. lépés: Kód

Nyissa meg az „Iránytű” vázlatkönyvtárat az éppen letöltött fájlból. A szervó használatához be kell helyezni a szervokódot ebbe a kódba. Kombináltam Hanie Kiana innen származó kódjával. Az eredeti Hanie Kiani, nem én. Ennek így kell kinéznie.

#befoglalni

#include #include #include #include Adafruit_LSM303DLH_Mag_Unified mag = Adafruit_LSM303DLH_Mag_Unified (12345); int servoPin = 3; Szervo szervo1; void setup (void) {Serial.begin (9600); Wire.begin (); Servo1.attach (servoPin); Serial.println ("Magnetométer teszt"); Serial.println (""); if (! mag.begin ()) {Serial.println ("Hoppá, LSM303 nem észlelhető … Ellenőrizze a vezetékeket!"); míg (1); }} void loop (void) { / * Új érzékelőesemény megszerzése * / sensors_event_t event; mag.getEvent (& event); úszó Pi = 3,14159; // Az y vektor szögének kiszámítása, x lebegési irány = (atan2 (event.magnetic.y, event.magnetic.x) * 180) / Pi; // Normalizálás 0-360-ra, ha (fejléc <0) {head = 360 + head; } Serial.print ("Iránytű fejléc:"); Serial.println (fejléc); Servo1.write (180-fejléces); késleltetés (10); }

4. lépés: Csatlakoztassa össze

Kösse össze
Kösse össze

Azt szeretné, hogy az A5 adatbevitelhez a bal szélső tű- SCL- legyen csatlakoztatva

A mellette lévő SDA csatlakozik az A4-es porthoz.

A föld a földhöz megy.

A VIN az 5V -os porthoz megy.

5. lépés: Adja hozzá a szervót a vezetékekhez

Adja hozzá a szervót a vezetékhez
Adja hozzá a szervót a vezetékhez

A föld és a feszültség önmagukért beszélnek, de azt szeretné, hogy az adattű ~ 3 legyen.

6. lépés: Tesztelje a kódot

Tesztelje a kódot
Tesztelje a kódot

Ha lassan mozgatja a magnetométert, a szervónak együtt kell mozognia. Valószínűleg nem pontos a változás, de legalább működik a kóddal, így az első rész kész. Még mindig kalibrálatlan, de működik.

Ajánlott: