Мазмұны:

Өте қарапайым, калибрленбеген серво компасы: 7 қадам
Өте қарапайым, калибрленбеген серво компасы: 7 қадам

Бейне: Өте қарапайым, калибрленбеген серво компасы: 7 қадам

Бейне: Өте қарапайым, калибрленбеген серво компасы: 7 қадам
Бейне: 🟡 POCO X5 PRO - ЕҢ ТОЛЫҚ ШОЛУ және СЫНАҚТАР 2024, Шілде
Anonim
Өте қарапайым, калибрленбеген серво компасы
Өте қарапайым, калибрленбеген серво компасы

Бұл мен жұмыс істеп жатқан жоба үшін қарапайым нұсқаулық. Бұл калибрленбеген және класс үшін жасалған өте қарапайым прототип. Кейінірек нұсқаулықта мен оны калибрлеуді көрсетемін.

Егер мен сенің орнында болсам, мен одан үлкенділік күтпес едім, бұл процесті құжаттайды.

Жабдықтар

  • Микросерво (мен Hobby King HXT900 микросервосын қолдандым)
  • Ардуино (мен Uno қолдандым)
  • LSM303DLHC - сенсор
  • Кабельдер, дәнекерлеуіштер және т
  • Нан тақтасы

1 -қадам: бәрін жинаңыз

Барлығын жинаңыз
Барлығын жинаңыз
Барлығын жинаңыз
Барлығын жинаңыз

Тақырыптар сенсорға дұрыс жалғанғанына және сымдар мен тақтаның бар екеніне көз жеткізіңіз.

2 -қадам: код кітапханалары

Код кітапханалары
Код кітапханалары
Код кітапханалары
Код кітапханалары

Сіз оларды жүктеп алғаныңызға сенімді болғыңыз келеді.

Сіз пайдаланатын басқа кітапханалар, tel.h және servo.h, әдепкі бойынша орнатылуы керек.

3 -қадам: код

Сіз жүктегеннен «Компас» эскиздер кітапханасын ашыңыз. Серваны пайдалану үшін сіз осы кодқа серво кодын енгізгіңіз келеді. Мен оны осы жерден Хани Киананың кодымен біріктірдім. Түпнұсқа мен емес, Хание Киани. Ол осылай көрінуі керек.

#қосу

#қосу #қосу #қосу #қосу 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 анықталмады … Сымды тексеріңіз!»); кезінде (1); }} void loop (void) { / * Жаңа сенсорлық оқиғаны алу * / sensors_event_t оқиғасы; mag.getEvent (& оқиға); float Pi = 3.14159; // y, x float heading векторының бұрышын есептеңіз = (atan2 (event.magnetic.y, event.magnetic.x) * 180) / Pi; // 0-360 дейін қалыпқа келтіріңіз, егер (тақырып <0) {heading = 360 + heading; } Serial.print («Компас тақырыбы:»); Serial.println (тақырып); Servo1.write (180-тақырып); кешіктіру (10); }

4 -қадам: Оны бірге қосыңыз

Оны бірге қосыңыз
Оны бірге қосыңыз

Сізге сол жақ түйреуіш- SCL- A5 деректер кірісіне қосылғанын қалайсыз

Оның жанындағы- SDA- A4 портына қосылған.

Жер Жерге барады.

VIN 5В портына өтеді.

5 -қадам: Сервисті сымға қосыңыз

Сервисті сымға қосыңыз
Сервисті сымға қосыңыз

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

6 -қадам: Кодты тексеріңіз

Кодты тексеріңіз
Кодты тексеріңіз

Егер сіз магнитометрді баяу жылжытсаңыз, онда серво онымен қозғалуы керек. Мүмкін, бұл дәл емес, бірақ ол кем дегенде кодпен жұмыс істейді, сондықтан бірінші бөлім аяқталды. Ол әлі тексерілмеген, бірақ ол жұмыс істейді.

Ұсынылған: