Съдържание:

Изключително основен, некалибриран серво компас: 7 стъпки
Изключително основен, некалибриран серво компас: 7 стъпки

Видео: Изключително основен, некалибриран серво компас: 7 стъпки

Видео: Изключително основен, некалибриран серво компас: 7 стъпки
Видео: Здесь всё, что нужно знать о 7G Tronic! Детальный обзор АКПП Mercedes 722.9. 2024, Ноември
Anonim
Изключително основен, некалибриран серво компас
Изключително основен, некалибриран серво компас

Това е само основна инструкция за проект, върху който работя. Това е некалибрирано и е много основен прототип, направен за клас. В по -късна инструкция ще покажа как да я калибрирам.

Не бих очаквал много величие от това, ако бях на ваше място, това е по -скоро документиране на процеса.

Консумативи

  • Микро серво (използвах HXT900 Micro Servo от Hobby King)
  • Arduino (използвах Uno)
  • LSM303DLHC е сензорът
  • Кабели, спойка и др
  • Платка

Стъпка 1: Сглобете всичко

Съберете всичко
Съберете всичко
Съберете всичко
Съберете всичко

Уверете се, че заглавките ви са запоени правилно върху сензора и имате ли проводниците и макета.

Стъпка 2: Библиотеки с кодове

Кодови библиотеки
Кодови библиотеки
Кодови библиотеки
Кодови библиотеки

Вие ще искате да сте сигурни, че сте изтеглили тези.

Другите библиотеки, които ще използвате, wire.h и servo.h, трябва да са вече инсталирани по подразбиране.

Стъпка 3: Код

Отворете библиотеката за скици „Компас“от това, което току -що сте изтеглили. За да използвате серво, искате да поставите кода на серво в този код. Комбинирах го с кода на Хани Киана от тук. Оригиналът е на Хани Киани, не аз. Трябва да изглежда така.

#включва

#include #include #include #include Adafruit_LSM303DLH_Mag_Unified mag = Adafruit_LSM303DLH_Mag_Unified (12345); int servoPin = 3; Серво Серво1; 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 (& event); поплавък Pi = 3,14159; // Изчисляваме ъгъла на вектора y, x плаващ заглавие = (atan2 (event.magnetic.y, event.magnetic.x) * 180) / Pi; // Нормализиране до 0-360 if (заглавие <0) {заглавие = 360 + заглавие; } Serial.print ("Заглавие на компаса:"); Serial.println (заглавие); Servo1.write (180-заглавие); забавяне (10); }

Стъпка 4: Свържете го заедно

Свържете го заедно
Свържете го заедно

Искате най-левия щифт- SCL- свързан към входа за данни A5

Този до него- SDA- свързан към A4 порта.

Земята отива към Земята.

VIN отива към 5v порта.

Стъпка 5: Добавете серво към окабеляването

Добавете серво към окабеляването
Добавете серво към окабеляването

Земята и напрежението говорят сами за себе си, но искате изводът за данни да бъде ~ 3.

Стъпка 6: Тествайте кода

Тествайте кода
Тествайте кода

Ако бавно премествате магнитометъра, сервомоторът трябва да се движи с него. Вероятно не варира точно, но поне работи с кода, така че първа част е завършена. Все още не е калибриран, но работи.

Препоръчано: