Spisu treści:

Stone Lcd + czujnik żyroskopowy przyspieszenia: 5 kroków
Stone Lcd + czujnik żyroskopowy przyspieszenia: 5 kroków

Wideo: Stone Lcd + czujnik żyroskopowy przyspieszenia: 5 kroków

Wideo: Stone Lcd + czujnik żyroskopowy przyspieszenia: 5 kroków
Wideo: Color LCD display module with touch function, using serial port communication control. 2024, Lipiec
Anonim
Kamień Lcd + żyroskopowy czujnik przyspieszenia
Kamień Lcd + żyroskopowy czujnik przyspieszenia

Ten dokument nauczy Cię, jak używać STM32 MCU + MPU6050 akcelerometr, żyroskopowy czujnik + STONE STVC070WT wyświetlacz portu szeregowego do DEMO.

STVC070WT to wyświetlacz szeregowy naszej firmy, jego rozwój jest prosty, łatwy w użyciu, możesz przejść do strony internetowej naszej firmy dla wszystkich różnic wyświetlania:

Krok 1: NARZĘDZIE DO KAMIENIA

NARZĘDZIE DO KAMIENIA
NARZĘDZIE DO KAMIENIA
NARZĘDZIE DO KAMIENIA
NARZĘDZIE DO KAMIENIA
NARZĘDZIE DO KAMIENIA
NARZĘDZIE DO KAMIENIA
NARZĘDZIE DO KAMIENIA
NARZĘDZIE DO KAMIENIA

Warto zauważyć, że nasz ekran obsługuje komunikację przez port szeregowy. Niektóre modele obsługują TTL/RS232/RS485, ale niektóre obsługują tylko RS232. Jeśli port szeregowy twojego MCU jest poziomem logicznym TTL, musisz dodać MAX3232 do konwersji poziomów. Jeśli chcesz wiedzieć, który ekran obsługuje TTL, a który obsługuje zarówno TTL, jak i RS232, możesz to sprawdzić na naszej stronie internetowej:

www.stoneitech.com/product/industrial-type

Widzimy, że ekrany „typu przemysłowego” i „typu zaawansowanego” ogólnie obsługują tylko RS232 lub RS485, a tylko ekrany „typu cywilnego” mogą obsługiwać TTL/RS232/RS485. Jeśli wybierzesz „typ zaawansowany” lub „typ przemysłowy”, ale twój SCM obsługuje tylko TTL, musisz wykonać następującą konwersję:

Inne istotne informacje można wyświetlić lub pobrać na oficjalnej stronie internetowej:

Trzy etapy rozwoju ekranu wyświetlacza STONE:

Zaprojektuj logikę wyświetlacza i logikę przycisków za pomocą oprogramowania STONE TOOL i pobierz plik projektu do modułu wyświetlacza. MCU komunikuje się z modułem wyświetlacza STONE przez port szeregowy.

Na podstawie danych uzyskanych w kroku 2 MCU wykonuje inne czynności.

Krok 2: Wprowadzenie do projektu

Wprowadzenie do projektu
Wprowadzenie do projektu
Wprowadzenie do projektu
Wprowadzenie do projektu
Wprowadzenie do projektu
Wprowadzenie do projektu
Wprowadzenie do projektu
Wprowadzenie do projektu

Wprowadzenie do projektu

To, co dziś wam pokażę, to Demo grawitacji, żyroskopu, kąta Eulera, funkcje są następujące:

  • Trzy pola tekstowe wyświetlają wartości przyspieszenia
  • Trzy pola tekstowe wyświetlają wartości żyroskopu
  • Trzy pola tekstowe wyświetlają wartości kąta Eulera
  • Pole tekstowe wyświetla aktualny czas odświeżania
  • Dwa przyciski dostosowują czas odświeżania

Najpierw musimy użyć Photoshopa do zaprojektowania dwóch interfejsów UI, a wyniki projektu są następujące:

Pierwszy obraz to obraz ekranu głównego, a drugi obraz to efekt przycisku. Następnie otwieramy „TOOL2019” i projektujemy efekty w NARZĘDZIE:

Stosowane są dwa główne komponenty:

Wyświetlacz numeryczny

Przycisk przyrostowy

Po zaprojektowaniu efekt operacji symulacji można zobaczyć w interfejsie symulacji:

Krok 3: MPU-6050

MPU-6050
MPU-6050
MPU-6050
MPU-6050
MPU-6050
MPU-6050

MPu-6050 to pierwszy na świecie zintegrowany 6-osiowy układ przetwarzania ruchu. W porównaniu z rozwiązaniem wielokomponentowym eliminuje problem różnicy między kombinowanym żyroskopem a osią czasu akceleratora i zmniejsza dużo miejsca na pakowanie. Po podłączeniu do trójosiowego magnetometru taktowania, mpu-6050 zapewnia pełną 9-osiową fuzję ruchu do portów I2C lub SPI (SPI jest dostępne tylko w mpu-6000).

Zakres wykrywania

Zakres wykrywania prędkości kątowej mpu-6050 wynosi ±250, ±500, ±1000 i ±2000°/SEC (DPS), co umożliwia dokładne śledzenie szybkich i wolnych działań. Ponadto użytkownicy mogą zaprogramować i kontrolować zakres wykrywania akceleratorów w zakresie ±2g, ±4g±8g i ±16g. Dane produktu mogą być przesyłane przez IIC do 400kHz lub SPI do 20MHz (SPI jest dostępne tylko w mpu-6000). MPu-6050 może pracować przy różnych napięciach, napięcie zasilania VDD wynosi 2,5V ±5%, 3,0v ± 5% lub 3,3 v ± 5%, a zasilanie interfejsu logicznego VDDIO wynosi 1,8 v ± 5% (VDD jest używane tylko dla MPU6000). Rozmiar opakowania mpu-6050 4x4x0,9 mm (QFN) jest rewolucyjny w branży. Inne funkcje obejmują wbudowane czujniki temperatury i oscylatory, które zmieniają się tylko o ±1% w środowisku pracy. Podanie

Mobilne gry z czujnikami rzeczywistości rozszerzonej, EIS: elektroniczna stabilizacja obrazu (OIS: optyczna stabilizacja obrazu) interfejs użytkownika nawigatora pieszego z gestem „zero-touch”. Smartfon, tablet, przenośny produkt do gier, konsola do gier, pilot 3D, przenośne urządzenie nawigacyjne, UAV, samochód balansowy.

Charakterystyka

Wyjście cyfrowe 6- lub 9-osiowej matrycy obrotu, kwaternion, dane rachunku fuzji kątowej Eulera. 3-osiowy czujnik prędkości kątowej (żyroskop) z czułością 131 LSBs/°/SEC i pełnym zakresem wykrywania siatki ±250, ±500, ±1000 i ±2000°/sek. Może być kontrolowany przez program, a zakres kontroli programu wynosi ±2g, ±4g, ±8g i ±16g. Usuń czułość między akceleratorem a osią żyroskopu i zmniejsz wpływ ustawień i dryftu czujnika. Silnik DMP (Digital Motion Processing) zmniejsza obciążenie złożonych algorytmów fuzji, synchronizacji czujników, wykrywania postawy itp. Baza danych przetwarzania ruchu obsługuje odchylenie czasu pracy i algorytmy korekcji czujnika magnetycznego wbudowane w systemy Android, Linux i Windows. Czujnik temperatury z wyjściem cyfrowym i wejściem cyfrowym Pin synchronizacji obsługuje technologię elektronicznej stabilizacji fazy cienia wideo i programowalną kontrolę GPS obsługuje rozpoznawanie gestów, wstrząsy, powiększanie i pomniejszanie obrazu, toczenie, przerywanie szybkiego opadania, przerwanie wysokiego g, wykrywanie zerowego ruchu, wykrywanie dotyku, wykrywanie wstrząsów. napięcie zasilania VDD wynosi 2,5 v ± 5%, 3,0 v ± 5% i 3,3 v ± 5%. prąd roboczy VDDIO wynosi 1,8 v ± 5%: 5mA; Prąd czuwania żyroskopu: 5uA; Prąd roboczy akceleratora: 350uA, prąd w trybie oszczędzania energii akceleratora: 20uA@10Hz I2C w trybie szybkim do 400kHz lub interfejs szeregowy hosta SPI do 20MHz wbudowany generator częstotliwości przy pełnym zakresie temperatur tylko ±1% wahań częstotliwości. Minimalne i najcieńsze opakowanie (4x4x0,9 mm QFN) dostosowane do produktów przenośnych zostało przetestowane pod kątem zgodności z RoHS i normami środowiskowymi. O szpilce

SCL i SDA łączą się z interfejsem IIC MCU, przez który MCU steruje MPU6050. Istnieje również interfejs IIC, AXCL i XDA, który można wykorzystać do podłączenia zewnętrznych urządzeń podrzędnych, takich jak czujniki magnetyczne, w celu utworzenia czujnika dziewięcioosiowego. VLOGIC to napięcie portu IO, a najniższy pin może osiągnąć 1,8v. Ogólnie rzecz biorąc, możemy bezpośrednio użyć VDD. AD0 to pin kontroli adresu z interfejsu IIC (podłączonego do MCU), który kontroluje najniższą kolejność adresu IIC. Jeśli GND jest podłączony, to adres IIC MPU6050 to 0X68 i 0X69, jeśli podłączony jest VDD. Uwaga: adres tutaj nie zawiera najniższej kolejności przesyłania danych (najniższa kolejność służy do odczytu i zapisu). Poniżej moduł mpu-6050, którego użyłem:

Krok 4: Mikrokontroler STM32

Mikrokontroler STM32
Mikrokontroler STM32

MCU STM32F103RCT6 ma rozbudowane funkcje. Oto podstawowe parametry MCU:

Seria: STM32F10X

Jądro: ARM - COTEX32

Prędkość: 72 MHz

Interfejs komunikacyjny: CAN, I2C, IrDA, LIN, SPI, UART/USART, USB

Urządzenia peryferyjne: DMA, sterowanie silnikiem PWM, PDR, POR, PVD, PWM, czujnik temperatury, WDT

Pojemność pamięci programu: 256 KB

Typ pamięci programu: FLASH

Pojemność pamięci RAM: 48K

Napięcie - zasilanie (Vcc/Vdd): 2 V ~ 3,6 V

Oscylator: wewnętrzny

Temperatura pracy:-40 ° C ~ 85 ° C

Opakowanie/obudowa: 64-lqfp

W tym projekcie będę wykorzystywał UART, GPIO, Watch Dog i Timer STM32F103RCT6. Poniżej znajduje się rekord rozwoju kodu dla projektu. STM32 WYKORZYSTUJE oprogramowanie Keil MDK, o którym musisz być zaznajomiony, więc nie będę przedstawiał metody instalacji tego oprogramowania. STM32 można symulować online za pomocą j-link lub st-link i innych narzędzi symulacyjnych. Poniższe zdjęcie przedstawia płytę rozwojową STM32, której użyłem:

Dodaj sterownik szeregowySTM32F103RCT6 ma kilka portów szeregowych. W tym projekcie wykorzystałem kanał portu szeregowego PA9/PA10, a szybkość transmisji portu szeregowego została ustawiona na 115200.

Skontaktuj się z nami, jeśli potrzebujesz pełnego kodu:

www.stoneitech.com/contact Odpowiemy Ci w ciągu 12 godzin.

Krok 5: Sterownik MPU-6050

Sterownik MPU-6050
Sterownik MPU-6050
Sterownik MPU-6050
Sterownik MPU-6050

Ten kod UŻYWA trybu komunikacji IIC do odczytu danych MPU6050, a komunikacja IIC UŻYWA symulacji oprogramowania IIC. Istnieje wiele powiązanych kodów, więc nie będę ich tutaj wklejać.

Jeśli potrzebujesz kompletnego kodu, skontaktuj się z nami: https://www.stoneitech.com/contact Odpowiemy w ciągu 12 godzin.

Zobacz poniższy obrazek dla efektu operacji:

Aby dowiedzieć się więcej o projekcie kliknij tutaj

Zalecana: