aries

Moduł MPU-6050

demo modułu akcelerometru i żyroskopu

MPU-6050 jest miniaturowym modułem 3 osiowego akcelerometru i żyroskopu. Oprogramowanie służy do demonstacji działania modułu współpracującego z płytką ESP32. Na podstawie danych odczytywanych z modułu generowana jest strona w przeglądarce internetowej. Dane na stronie prezentowane są w formie tekstowej oraz jako wizualizacja orientacji modułu w przestrzeni.
Oprogramowanie oparte zostało na projekcie "ESP32 Web Server with MPU-6050 Accelerometer and Gyroscope (3D object representation)" autorstwa Rui Santos-a i wykorzystuje bibliotekę MPU6050_tockn. Cechy programu demonstracyjnego:


widok wygenerowanej strony
×
widok wygenerowanej strony

Widok wygenerowanej strony w przeglądarce

Połączenia pomiędzy modułem MPU-6050 a płytką ESP32

Moduł i płytkę ESP32 należy połączyć tak jak to pokazano na rysunku poniżej.

MPU-6050 i ESP32 połączenia
×
MPU-6050 i ESP32 połączenia

ESP32 sygnał ESP32 port MPU-6050 sygnał
VCC 3V3 VCC
GND GND GND
SCL I2C GPIO22 SCL
SDA I2C GPIO21 SDA

Narzędzia

Oprogramowanie demonstracyjne zostało przygotowane w formie pakietu dla edytora Arduino. Aby możliwa była prawidłowa kompilacja i działanie w edytorze musi być zainstalowane rozszerzenie dla płytki ESP32. W opcjach edytora Narzędzia->Płytka: należy wybrać typ płytki do której będzie zapisywane oprogramowanie np. "ESP32 Dev Module".
Będzie także potrzebna zainstalowana wtyczka "ESP32 Sketch Data Upload" do przesyłania systemu plików ESP. Jeżeli w edytorze nie ma wtyczki, należy:

Biblioteki

Do odczytu i zarządzania danymi z MPU-6050, oprogramowanie demonstracyjne odwołuje się do procedur umieszczonych w zewnętrznych bibliotekach: MPU6050_tockn i Arduino_JSON. Biblioteki można dodać do Arduino IDE albo poprzez menedżer bibliotek Arduino->Szkic->Dołącz bibliotekę->Zarządzaj bibliotekami albo poprzez ręczne dodanie plików bibliotek do folderu .../Arduino/libraries/

Kompilacja i wgranie oprogramowania do płytki ESP32

Oprogramowanie działa jako serwer WWW, który jest dostępny w obrębie wybranej sieci WiFi. Działając jako stacja, oprogramowanie zainstalowane na płytce ESP32 musi znać nazwę i hasło sieci do której będzie się logować. Dane te zapisane są na stałe na początku pliku źródłowego z roszerzeniem .ino.

			
const char* ssid = "REPLACE_WITH_YOUR_SSID";
const char* password = "REPLACE_WITH_YOUR_PASSWORD";			
			
			
Przed kompilacją należy w miejsce napisu REPLACE_WITH_YOUR_SSID podać nazwę sieci a zamiast REPLACE_WITH_YOUR_PASSWORD należy wpisać hasło sieci do której stacja ma się zalogować. Po kompilacji w zwykły sposób Plik->Zapisz należy zaprogramować płytkę ESP32.

Obok pliku źródłowego z rozszerzeniem .ino powinien znaleźć się podkatalog /data zawierający pliki dzięki którym przeglądarka wyświetli generowaną przez serwer stronę WWW z danymi odczytywanymi z modułu MPU-6050. Są to:

Pliki te należy zapisać do pamięci ESP32 korzystając z wtyczki "ESP32 Sketch Data Upload". Jeżeli płytka jest podłączona do komputera z Arduino IDE i otwartym szkicem oprogramowania, wystarczy kliknąć w zakładce Narzędzia na nazwę wtyczki, a pliki z katalogu /data zaczną być zapisywane do pamięci.

Działanie aplikacji demonstracyjnej

Po zasileniu połączonych płytek ESP32 i modułu MPU-6050, układ zaczyna działanie jako serwer od próby zalogowania się do sieci o podanych na początku pliku źródłowego nazwie i haśle. W przypadku sukcesu wysyła portem szeregowym z ustawioną szybkością 115200 bps przydzielony przez router adres IP w ramach sieci WiFi.
Connecting to WiFi...
192.168.0.157 (to przykładowy numer)
Po wpisaniu numeru w pasku adresu przeglądarki powinna wyświetlić się strona podobna do tej powyżej.
Po zalogowaniu do sieci przeprowadzana jest kalibracja modułu MPU-6050 podczas której, przez okres 3 sekund powinien pozostawać w bezruchu.
Po około 6 sekundach od włączenia zaczyna się automatyczne odświeżanie danych odczytywanych z modułu MPU-6050 i grafiki 3D odwzorowującej położenie płytki czujnika.


rozmiar pliku ok. 9,9 kB