Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
To tylko podstawowe instrukcje dotyczące projektu, nad którym pracuję. To jest nieskalibrowane i jest bardzo prostym prototypem stworzonym dla klasy. W dalszej instrukcji pokażę, jak to skalibrować.
Na twoim miejscu nie spodziewałbym się po tym wiele wspaniałości, jest to bardziej dokumentacja procesu.
Kieszonkowe dzieci
- Micro servo (użyłem HXT900 Micro Servo firmy Hobby King)
- Arduino (użyłem Uno)
- LSM303DLHC to czujnik
- Kable, lut, itp.
- Deska do krojenia chleba
Krok 1: Złóż wszystko
Upewnij się, że nagłówki są prawidłowo przylutowane do czujnika oraz że masz przewody i płytkę stykową.
Krok 2: Biblioteki kodów
Upewnij się, że masz je pobrane.
Inne biblioteki, których będziesz używać, wire.h i servo.h, powinny być już domyślnie zainstalowane.
Krok 3: Kod
Otwórz bibliotekę szkiców „Kompas” z tego, co właśnie pobrałeś. Aby użyć serwomechanizmu, chcesz umieścić kod serwomechanizmu w tym kodzie. Połączyłem go z kodem Hanie Kiana stąd. Oryginał jest autorstwa Hanie Kiani, nie ja. To powinno wyglądać tak.
#włączać
#include #include #include #include Adafruit_LSM303DLH_Mag_Unified mag = Adafruit_LSM303DLH_Mag_Unified(12345); wew serwoPin = 3; Serwo Serwo1; void setup(void) { Serial.begin(9600); Wire.początek(); Servo1.attach(servoPin); Serial.println("Test magnetometru"); Serial.println(""); if (!mag.begin()) { Serial.println("Ups, nie wykryto LSM303… Sprawdź okablowanie!"); podczas gdy (1); } } void loop(void) { /* Pobranie nowego zdarzenia czujnika */ sensor_event_t event; mag.getEvent(&event); pływak Pi = 3,14159; // Oblicz kąt wektora y, x float nagłówek = (atan2(event.magnetic.y, event.magnetic.x) * 180) / Pi; // Normalizuj do 0-360 if (nagłówek < 0) { nagłówek = 360 + nagłówek; } Serial.print("Nagłówek kompasu: "); Serial.println(nagłówek); Servo1.write(180-nagłówek); opóźnienie(10); }
Krok 4: Połącz to razem
Chcesz, aby skrajny lewy pin - SCL - był podłączony do wejścia danych A5
Ten obok - SDA - podłączony do portu A4.
Ziemia idzie do Ziemi.
VIN idzie na port 5v.
Krok 5: Dodaj serwo do okablowania
Uziemienie i napięcie mówią same za siebie, ale chcesz, aby pin danych był ~3.
Krok 6: Przetestuj kod
Jeśli poruszasz magnetometrem powoli, serwo powinno poruszać się razem z nim. Prawdopodobnie nie jest dokładny, ale przynajmniej działa z kodem, więc część pierwsza jest kompletna. Nadal jest nieskalibrowany, ale działa.