Мазмуну:

Абдан Негизги, Калибрленбеген Серво Компасы: 7 кадам
Абдан Негизги, Калибрленбеген Серво Компасы: 7 кадам

Video: Абдан Негизги, Калибрленбеген Серво Компасы: 7 кадам

Video: Абдан Негизги, Калибрленбеген Серво Компасы: 7 кадам
Video: Review of Turmera 4S 12.8V 200A BMS Lithium LiFePo4 Battery Management System | WattHour 2024, Ноябрь
Anonim
Абдан Негизги, Калибрленбеген Серво Компас
Абдан Негизги, Калибрленбеген Серво Компас

Бул мен иштеп жаткан проект үчүн негизги инструктивдүү нерсе. Бул текшерилбеген жана класс үчүн жасалган эң негизги прототип. Кийинчерээк көрсөтмө берүүдө, мен аны калибрлөөнү көрсөтөм.

Мен сиздин ордуңузда болсом, мен андан чоң нерсени күтпөйм, бул процессти документтештирүү.

Жабдуулар

  • Микро серво (мен Hobby Kingден HXT900 Micro Servo колдондум)
  • Arduino (Мен Uno колдонгом)
  • LSM303DLHC - бул сенсор
  • Кабелдер, ширетүү ж
  • Breadboard

1 -кадам: баарын чогултуп

Баарын чогулт
Баарын чогулт
Баарын чогулт
Баарын чогулт

Сиздин баштарыңыз сенсорго туура сайылганын жана зымдарыңыз жана нан тактаңыз бар экенин текшериңиз.

2 -кадам: Коддук китепканалар

Код китепканалары
Код китепканалары
Код китепканалары
Код китепканалары

Сиз бул жүктөлүп алынганын текшергиңиз келет.

Сиз колдоно турган башка китепканалар, tel.h жана servo.h, демейки боюнча мурунтан эле орнотулган болушу керек.

3 -кадам: Код

Жаңы эле жүктөлгөн нерселерден "Компас" эскиз китепканасын ачыңыз. Сервону колдонуу үчүн, бул кодго servo кодун киргизгиңиз келет. Мен муну Хани Киананын коду менен бириктирдим. Оригинал меники эмес, Хание Киани. Бул мындай көрүнүшү керек.

#кошуу

#кошуу #кошуу #кошуу #кошуу 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 ("Магнитометр сыноосу"); Serial.println (""); if (! mag.begin ()) {Serial.println ("Ой, LSM303 табылган жок … Зымдарды текшериңиз!"); while (1); }} void loop (void) { / * Жаңы сенсор окуясын алуу * / sensors_event_t окуясы; mag.getEvent (& event); калкыма Pi = 3.14159; // y, x float heading векторунун бурчун эсептеңиз = (atan2 (event.magnetic.y, event.magnetic.x) * 180) / Pi; // 0-360ка чейин нормалдаштырыңыз, эгерде (heading <0) {heading = 360 + heading; } Serial.print ("Компастын аталышы:"); Serial.println (аталышы); Servo1.write (180-баш); кечигүү (10); }

4 -кадам: Аны бирге тартыңыз

Аны бирге тартыңыз
Аны бирге тартыңыз

Сиз эң сол пин- SCL- A5 маалымат киришине туташкыңыз келет

Анын жанындагы SDA- A4 портуна туташкан.

Жер Жерге барат.

VIN 5v портуна барат.

5 -кадам: Сервону зымга кошуу

Wiring'ке Servo кошуу
Wiring'ке Servo кошуу

Жер жана чыңалуу өздөрү үчүн сүйлөйт, бирок сиз маалымат пининин ~ 3 болушун каалайсыз.

6 -кадам: Кодду текшериңиз

Кодду сынап көрүңүз
Кодду сынап көрүңүз

Магнитометрди жай жылдырсаңыз, серво аны менен бирге жылышы керек. Кыязы, так эмес, бирок ал жок дегенде код менен иштейт, андыктан биринчи бөлүгү толук. Бул дагы эле калибрленбеген, бирок ал иштейт.

Сунушталууда: