Mundarija:

Juda oddiy, sozlanmagan Servo kompas: 7 qadam
Juda oddiy, sozlanmagan Servo kompas: 7 qadam

Video: Juda oddiy, sozlanmagan Servo kompas: 7 qadam

Video: Juda oddiy, sozlanmagan Servo kompas: 7 qadam
Video: Как легко снять патрон с шуруповерта, если патрон ПОЛНОСТЬЮ ушатан? Как открутить патрон? 2024, Iyul
Anonim
Juda oddiy, sozlanmagan Servo kompas
Juda oddiy, sozlanmagan Servo kompas

Bu men ishlayotgan loyiha uchun oddiy ko'rsatma. Bu kalibrlanmagan va sinf uchun yaratilgan juda oddiy prototip. Keyingi ko'rsatmada men uni qanday sozlashni ko'rsataman.

Agar men sizning o'rningizda bo'lganimda, bundan buyuklikni kutmagan bo'lardim, bu jarayonni hujjatlashtirish.

Ta'minotlar

  • Mikro servo (men Hobby King -dan HXT900 mikro -servosidan foydalandim)
  • Arduino (men Uno ishlatganman)
  • Sensor - LSM303DLHC
  • Kabellar, lehim va boshqalar
  • Non paneli

1 -qadam: Hammasini yig'ing

Hammasini yig'ing
Hammasini yig'ing
Hammasini yig'ing
Hammasini yig'ing

Sarlavhalar sensorga to'g'ri lehimlanganligiga ishonch hosil qiling va sizda simlar va non paneli bor.

2 -qadam: Kod kutubxonalari

Kod kutubxonalari
Kod kutubxonalari
Kod kutubxonalari
Kod kutubxonalari

Siz bu fayllarni yuklaganingizga ishonch hosil qilishni xohlaysiz.

Siz foydalanadigan boshqa kutubxonalar, tel.h va servo.h, sukut bo'yicha allaqachon o'rnatilgan bo'lishi kerak.

3 -qadam: kod

Siz yuklagan narsalardan "Kompas" eskiz kutubxonasini oching. Servo xizmatidan foydalanish uchun servo kodni ushbu kodga kiritmoqchisiz. Men buni Hanie Kiananing kodi bilan birlashtirdim. Asl nusxa men emas, Xanie Kiani. Bu shunday ko'rinishi kerak.

#qo'shing

#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. biriktirish (servoPin); Serial.println ("Magnitometr sinovi"); Serial.println (""); if (! mag.begin ()) {Serial.println ("Voy, LSM303 aniqlanmadi … Elektr simlarini tekshiring!"); vaqt (1); }} void loop (void) { / * Yangi sensor hodisasini oling * / sensors_event_t hodisasi; mag.getEvent (va voqea); float Pi = 3.14159; // y, x float sarlavhasi = (atan2 (hodisa.magnit.y, hodisa.magnit.x) * 180) / Pi vektorining burchagini hisoblang; // 0-360 gacha normalizatsiya qiling, agar (sarlavha <0) {heading = 360 + heading; } Serial.print ("Kompas sarlavhasi:"); Serial.println (sarlavha); Servo1.yozish (180-sarlavha); kechikish (10); }

4 -qadam: Birgalikda ulang

Birgalikda tel qiling
Birgalikda tel qiling

Siz eng chap pin- SCL- A5 ma'lumot kiritishiga ulanishni xohlaysiz

Uning yonidagi SDA- A4 portiga ulangan.

Tuproq yerga boradi.

VIN 5V portiga o'tadi.

5 -qadam: Servo simini simga qo'shing

Servo simini ulang
Servo simini ulang

Er va kuchlanish o'zlari uchun gapiradi, lekin siz ma'lumot pinining ~ 3 bo'lishini xohlaysiz.

6 -qadam: Kodni sinab ko'ring

Kodni sinab ko'ring
Kodni sinab ko'ring

Agar siz magnitometrni sekin harakatlantirsangiz, servo u bilan harakatlanishi kerak. Ehtimol, bu aniq emas, lekin u hech bo'lmaganda kod bilan ishlaydi, shuning uchun birinchi qism to'liq. U hali kalibrlanmagan, lekin u ishlaydi.

Tavsiya: