Witam, od kilku dni próbuję uporać się z problemem odczytu danych z akcelerometru ADXL345 przez standard TWI/I2C. W nocie katalogowej jest napisane, że jeżeli SDO podłączone jest do GND, akcelerometr przyjmuje adresy 0xA6 read i 0XA7 write. Tak też zrobiłem. Pin CS podłączony do +5V. Do ATmegi8 podłączony mam rezonator kwarcowy 16 MHz. Prędkość TWI...
Witam, Od jakiegoś czasu zmagam się z problemem braku odczytu danych z żyroskopu w układzie MPU-6050, poprzez I2C. Wykluczam problem z komunikacją pomiędzy układem, a mikroprocesorem(Atmega 32), ponieważ wszystkie dane z rejestru można odczytać(w tym z akcelerometru). Podejrzewam, że żyroskop trzeba w jakiś specjalny sposób aktywować, choć przekopałem...
Program jest następujący: Mam strukture dla czujników a w niej tablice dla której zapisuje odczytane dane z danego czujnika: [syntax=c] typedef struct { // jakies inne zmienne volatile uint8_t dataToCalculate[6]; // do zapisu danych } czujnik; [/syntax] Tworzę 3 globalne zmienne 'czujnik' (używam 3 czujników): [syntax=c] czujnik Zyroskop = { ...}; czujnik...
Witam mam problem z odczytem danych z cyfrowego magnetometru i akcelerometru LSM303DLHC przy użyciu procesora stm32f3, będącego na razem z czujnikiem na płytce stm32f3discovery. Na początek postanowiłem, że będę odczytywał dane z magnetometru przy pomocy interfejsu I2C. No i napisałem sobie funkcję odczytu i zapisu. Wydaje się, że funkcja wysyłania...
Witam, chciałem napisać aplikację odczytującą dane z akcelerometru. Wysyłam portem szeregowym trzy bajty, każdy zawiera wartość przyspieszenia z kolejnej osi. Jako czwarty bajt wysyłam znak nowej lini \n. Ogólnie obsługa portu szeregowego w c# działa, jednak nie mam pojęcia jak dobrać się do poszczególnych bajtów. Obecnie mam coś takiego [syntax=csharp]private...
Pracuję z akcelerometrem ADXL345. Dołączyłem go przez SPI z częstotliwością tej szyny 4MHz. Ustawiłem sampling rate na 400Hz. Jednak mam dokładnie 100sps i to przy dowolnie nastawionym sampling rate w rejestrze BW_REGISTER. Nie włączałem kolejki FIFO - ustawiłem bypass mode. Program mam aktualnie niezwykle prymitywny. Jedyne co w nim robię, to konfiguruję...
Witam, posiadam moduł Adafruit z czujnikiem LSM9DS0. Czy da się go podłączyć przez SPI z mikrokontrolorem tak aby jednocześnie odczytywać dane z akcelerometru oraz żyroskopu? Ponieważ płytka posiada dwie linie MISO(SDO_G oraz SDO_XM) jedna do żyroskopu druga natomiast do akcelerometru. Opis pinów: SDOG Pin obsługi żyroskopu: w trybie SPI: linia MISO...
witam! Od jakiegoś czasu bawię się modułem IMU gy-80: schemat: podłączam go do płytki z mikrokontrolerem lpc1114 , a dokładniej: moduł IMU jak i płytka z mikrokontrolerem zasilane są z portu USB napięciem 5V ponieważ posiadają one własne stabilizatory 3,3V, moduł posiada również translator napięć I2C z 3,3V na 5V teoretycznie mogło by to sprawiać problemy,...
Dzień dobry! Mój problem polega na poprawnym odczycie danych z akcelerometru i żyroskopu oraz filtrowaniu ich filtrem Kalmana. Napisałem program do wizualizacji ruchów mojego urządzenia ale nie działa on poprawnie, wygląda tak jakby był przesterowany. Wydaje mi się, że popełniam błąd w odczycie danych z urządzeń, ale nie potrafię go znaleźć dlatego...
Cześć, to mój pierwszy post, więc z góry przepraszam za nieprzestrzeganie zasad, których nie jestem świadomy. Chciałbym stworzyć mały system pomiarowy składający się z akcelerometrów i docelowo jakiegoś typu czujników do pomiaru nacisku, a ze względu na to, że nie jestem elektronikiem a moi wszyscy znajomi są leniwi chciałbym się was zapytać jak najlepiej...
- Tylko część smartfonów posiada port USB Host do jakiego można na zewnątrz podłączyć jakieś urządzenie. - Złącze microUSB jest dość delikatne. Akcelerometr zwykle się porusza. Niewielkie szarpnięcie za kabel może spowodować wyłamanie gniazdka. Tak więc połączenie kablowe nie jest zbyt wygodne. Jednym z kluczowych parametrów pracy akcelerometru jest...
Dodano po 5 Nie napisałem o co chodzi Bo bardzo rzadko zakładam nowe tematy i nie wyszło mi to chodzi o to że napisałem kod nawet późno i chciałem go spróbować załadować do atmegi 8 ale jest troszkę za duży czy ktoś mógłby sprawdzić czy jest jakaś możliwość ewentualnie mamy jeszcze jeden który jest trochę mniejszy. Proszę o pomoc jeśli to możliwe....
I2C jest dość prostą magistralą, najlepiej jak sobie poczytasz podstawy. Działa ona mniej więcej tak, że jest jeden kontroler (w podstawowej konfiguracji), który wysyła polecenia odczytania lub zapisania bloku danych pod wybrany adres. Można zaadresować ~128 urządzeń, dodatkowy, ósmy bit adresu ustala kierunek transmisji. Każdy przesyłany bit jest potwierdzany...
Niestety zamiana też nic nie pomogła. Poniżej zamieszczam wycinek z dokumentacji odnośnie jak ma wyglądać komunikacja. Jest powiedziane też że oznaczenie W to jest Write = 0 oraz R jako Read = 1. I tutaj jest wycinek pliku stm32f4xx_i2c.c: [syntax=c] /** * (at)brief Transmits the address byte to select the slave device. * (at)param I2Cx: where x can...
Witam, próbuję odczytać podstawowy rejestr "WHO_AM_I" z akcelerometru zawierającego się w układzie LSM330DLC. Używam do tego magistrali SPI (8MHz). Funkcje SPI:
Hej, mam taki problem, że nie mogę poprawnie odczytać ID akcelerometru ADXL345. Konfiguracja SPI wydaje mi się poprawna, problem jest jednak jak na obrazku: Przebieg fioletowy to sygnał zegarowy, przebieg żółty to pin MISO. Wygląda to tak, jakby były za duże pojemności na ścieżkach. Problem występuje niezależnie od tego jakie wartości wyślę (zawsze...
Witam, próbuję uruchomić akcelerometr LIS3DHH ( ) na zestawie Nucleo F411RE ( ). Czujnik mam w postaci adaptera STEVAL-MKI180V1 ( ). Konfigurację dla mikrokontrolera generuję za pomocą CubeMX 5.0.1 z bibliotekami HAL dla rodziny STM32F4, w wersji 1.23.0. Próbę uruchomienia czujnika rozpocząłem od wykorzystania bibliotek: a dokładnie od przykładu: read_data_simple.c....
Witam, pisze w nie niedokończonych bo projektowi jeszcze daleko do publikacji. Wolał bym też nie wklejać jeszcze źródeł ani samego programu, ktoś kto się uczy mógł by nie potrzebnie brnąć w to bagno które stworzyłem w C#. :p obiecuje jednak ze gdy wszystko będzie gotowe na pewno się podzielę. Wiec tak. Napisałem program w C# z wykorzystaniem Microstoft...
Kod pisany był w bascomie [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 $baud = 9600 Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portb.5 , Rs = Portb.4 Config Lcd = 16 * 2 Config Portc.0 = Output Config Sda = Portc.4 'konfiguracja I2C Config Scl = Portc.5 I2cinit Gosub Akcelstart Dim X As Byte...
Napisz o jakie kąty Ci chodzi, albo co chcesz osiągnąć. Udało Ci się odczytać dane z akcelerometru? Powtórka trygonometrii (podstawy) zajmie Ci z 10 minut. Określenie kąta odchylenia dowolnej osi od pionu będzie po tych 10 minutach raczej banalne. Wykorzystanie dwóch osi też pewnie Ci wyjdzie. W linku który podałeś też coś o tym jest.
witam. Mam taki problem ponieważ sygnał który dostaje z akcelerometru muszę scałkować podwójnie i do tego jest mi potrzebny przedział miedzy próbkami i mam problem z wyznaczeniem tego czasu. żeby mieć stałe odstępy próbkowania wymyśliłem żeby próbkowanie odbywało się w przerwaniu i teraz problem polega na tym ze w trakcie wykonywania przerwania od timera2...
Gotowca nikt tutaj za nikogo nie zrobi, więc może zacznij samodzielnie od czegokolwiek, a jak napotkasz problem, to dopiero zapytaj. Proponuję zacząć od odczytywania danych z akcelerometru i żyroskopu, a potem osobno jakąkolwiek komunikację za pomocą modułu Ethernetowego. Do tego drugiego najlepiej od razu poszukaj w sieci przykładów na podstawie układu...
Witam, napotkałem problem z obsługą akcelerometru MMA7455 po I2C. Mianowicie nie udaje mi się nawet wygenerować bitu startu. Wywołuję funkcję TWI_start i zaraz po niej chcę wypisać sobie rejestr statusu a tu program staje. Funkcja TWI_start po ustawieniu rejestru czeka na sprzętowe wyzerowanie bitu TWINT, które nie następuje. Na liniach magistrali po...
Witam, Przez USART dostarczam dane do komputera z modułów: L3GD20 i LSM303DLHC . Na kontrolerze nie wykonuje żadnych obliczyć tylko poszczególne współrzędne odczytuje w ten sposób: X Y Z ) Gyro: 108.0000000000 176.0000000000 -58.0000000000 Akce: 768.0000000000 0.0000000000 16640.0000000000 Gyro: 97.0000000000 176.0000000000 -61.0000000000 Akce: 512.0000000000...
Witam Posiadam Akcelerometr/żyroskop cyfrowy MPU6500, który chciałbym połączyć z procesorem ATmega8. Jeśli chodzi o język programowania to częściowo znam bascoma dlatego w tym języku chciałbym napisać program. Pojawia się jednak problem z nawiązaniem komunikacji po I2C -Nie wiem jak dostać się do mojego modułu.Mój układ Akcelerometru/żyroskopu wygląda...
Witam! Zwracam się do Was z drobnym pytaniem. Generalnie to mój pierwszy projekt na nieco większą skalę więc całkiem możliwe, że o wielu podstawowych rzeczach mogę nie wiedzieć. Chciałbym, aby mikrokontroler (Atmega328P w Arduino Pro) pobierała przyspieszenia przez TWI oraz wysyłała je przez USART do modułu karty microSD OpenLog. Spotkałem się z pewną...
To są moje początki początku z Arduino. Proszę o jakiś punkt zaczepienia, gdzie leży błąd. Dane z akcelerometry przychodzą cały czas równe zero. Initialize MPU6050 Initialize MPU6050 * Sleep Mode: Disabled * Clock Source: PLL with X axis gyroscope reference * Gyroscope: 2000 dps * Gyroscope offsets: 220 / 76 / -85 Xraw = 0.00 Yraw =...
Tą funkcją chcę zapisać jakąś wartość (v) do danego rejestru, w tym konkretnym przypadku chodzi o konfigurację akcelerometru do pracy. Rzeczywiście akurat w tym przypadku trochę nielogiczne jest sprawdzanie flagi RXNE przed zapisem danych ale nie w tym problem, bo w funkcji do odczytu danych mam dokładnie ten sam kłopot (tam już sprawdzenie bitu RXNE...
Witam, borykam się z problemem zrozumienia zagadnienia związanego z reprezentowaniem danych wysyłanych z Arduino i odbieranych w Processingu. Chciałbym sobie zwizualizować dane z czujnika MPU6050 (akcelerometr+gyro). Nazwy zmienne odczytujące dane z osi xyz jakie mam w Arduino to np: AcX, AcY, AcZ. Kreślarka oraz monitor portu szeregowego bez problemu...
oj panie! zostaw filtr kalmana. Mówię serio. Napisałem BARDZO rozbudowany filtr kalmana do łączenia danych z giroskopu i akceleromteru... a duzo lepiej się spisywał najprostrzy w świecie filtr... sprawa jest prosta. jak odczytać kąt z żyra? żyro podaje prędkość kątową. trzeba to całkować. metod bez liku, ale jak bedziesz mial czas to polecam całkowanie...
Witam Zmagam się z akcelerometrem ADXL345 + STM32F103. Połączenie po SPI. Otrzymuję na wyjściu wartość przyśpieszenia w kodzie U2. Zapisana jest na 13 bitach, w dwóch rejestrach 8 bitowych. Po odebraniu najbardziej znaczące przesuwam << 8 i łączę z mniej znaczącymi. Problem polega na tym, że wciąż otrzymuję wartość dodatnią, mimo że na najbardziej...
Witam. Czy Ktoś może posiada bibliotekę do LIS3DSH? W internecie znalazłem tylko fragmenty kodów. Chciałem sam napisać taką bibliotekę jednak po wklepaniu danych z datasheet zapał mnie opuścił :) Zaimplementowałem tylko kilka podstawowych funkcji pozwalających na uruchomienie MEMSa i wymianę danych. Jak by ktoś miał ochotę dopisać lub poprawić jakąś...
Witam i zapraszam do teoretycznej rozmowy na temat algorytmów obsługi akcelerometru XYZ. Może tytułem wprowadzenia. BMA180 firmy Bosch to całkiem rozsądne urządzenie do pomiarów np. poziomu, wysokości, przyspieszenia, prędkości itd. Nie trzeba martwić się tutaj o prawidłowy odczyt napięć z trzech czujników XYZ, gdyż kostka BMA180 ma już wbudowane przetworniki,...
A jak masz realizowane CS? Bo może w tym mam problem, że to nie do końca działa. Zmieniłem trochę program i teraz wygląda to tak: [syntax=c]/* Includes */ #include <stddef.h> #include <stdio.h> #include "stm32l1xx.h" //defined USE_STM32L_DISCOVERY #include "discover_board.h" #include "stm32l_discovery_lcd.h" #include "bma180.h" /* Private...
Witam. Posiadam mikrokontroler STM32 , do którego podłączyłem czujnik LSM9DS0. Po wielu próbach udało mi się podłączyć ten czujnik i uruchomić. Odczyty wydaje się, że są prawidłowe - przyspieszenia się zmieniają gdy czujnikiem ruszam, a magnetometr pokazuje inne wskazania podczas obracania czujnika. Postanowiłem zrobić sobie 2 programy testowe: kompas...
Witam, mam pytanie dotyczące akcelerometru. Czy na podstawie tego czujnika o dwóch osiach da się odczytać kąt nachylenia, czy są do tego celu potrzebne 3 osie?
Wyczytałem trochę i okazało się że częściowo ten problem eliminują filtry Kalmana. Filtry nie eliminuja problemow, nie organizuja sie i nie spiskuja. Filtry usuwaja nieporzadana informacje, nie dodaja informacji prawdziwej lecz niezmierzonej sensorem. W ukladach IMU stabilizuje sie katy wyliczone od zyroskopow katami wyliczonymi z akcelerometrow. Ale...
Zainwestuj w żyroskop cyfrowy. Nie jest to już droga sprawa. Na magnetometr bym zbytnio nie liczył a wręcz na nim nie polegał w tej sprawie. Magnetometr ma to do siebie, że jest podatny na zakłócenia. W praktycznym układzie jak masz tylko jeden zestaw układu pozycjonowania i to nie w środku ciężkości/obrotu modelu musisz jeszcze dane przetransformować...
Telefon z Andrutem kupisz bez problemu za 50 zł, na pisaniu aplikacji pod andruta, się nie znam, ale nie będzie to raczej wielka filozofia. Odczyt danych z akcelerometru i ustalenie po jakim ruchu ma być wywołane połączenie. Ktoś kto umie pisać zrobi to pewnie w 15 minut. Ktoś kto dopiero by zaczął się uczyć w godzinę. Pewnie więcej zabawy byłoby przy...
Witam Mam problem z LSM303D - generalnie z akcelerometrem. Nie mogę go uruchomić. Magnetometr działami ok. ale nie mogę odpalić akcelerometru - nie mam zaradny wskazań Komunikację ze scalakiem mam ok. Zapisuje poszczególne rejestry i odczytuje dobre wartości. Muszę coś robić źle w ustawieniach. Poniżej podaję wartości rejestrów które są w scalaku. Tam...
To jako ciekawostkę w temacie otwierania szlabanów dopowiem jeszcze, że chyba CAME ma w ofercie urządzenie do otwierania szlabanu poprzez poruszenie smartfonem. Nie widziałem tego na żywo, tylko znam z opisu kolegi. Urządzenie ma Bluetootha bardzo bliskiego zasięgu i wymaga zainstalowania na smartfonie aplikacji odczytującej stan akcelerometru. Po znalezieniu...
Witam. mam problem z odczytaniem prawidłowo sygnałów z obu osi akcelerometru mxd7202. z jedną nie mam problemu. pojawia się on dopiero, jak próbuje odczytać z obu. Wyjścia akcelerometru (sygnał PWM 100Hz - wypełnienie proporcjonalne do przyspieszenia (50% = 0g)) podłączyłem do INT0 i INT1 ATMEGI. ATMEGA 8535 taktowana zegarem 16MHz. Procedura badania...
A więc dokupię Mam nadzieję że połączenia do konwertera są poprawne. Pozostałe 6 wolnych pinów akcelerometru rozumiem że mam zostawić wolne,tak? I mam 2 pytania: Jeżeli zasilanie układu akceptuje na przykład te 2,4-3,6V to zawsze piny logiczne też tyle maksymalnie akceptują? czy może być sytuacja że układ zasilanie ma być do 4V a piny akceptują 5V?...
A może problem nie tkwi w odczycie a w sposobie wyświetlania/przesyłania danych? Skoro twierdzisz, że poprawnie odczytujesz rejestr WHO_AM_I to znaczy, że uC prawidłowo interpretuje poziomy. Aczkolwiek dla ATMega minimalny poziom napięcia interpretowany jako stan wysoki to 0,7 Vcc.
Witam, próbuje obsłużyć za pomocą SPI akcelerometr ADXL345 podłączony do uC jak w temacie(Cortex-m3). Doszedłem do momentu gdzie uC komunikuje się z ADXL345 jednak gdy wysyłam zapytanie o np ID urządzenia (które jest 0xE5), to dostaje 2x E5E5 na 16 bitach. Podobnie jest gdy chce odczytać wartości konfig rejestrów - jeśli wyśle do BW_RATE wartość 0x0F...
Można! Do tego służy funkcja write ;] Zapisujesz w sumie 2 bajty - address i subaddress, po czym robisz stop/start lub sam start, wysylasz adres+RD i odczytujesz. Ku grotesce obie te funkcje czytały właśnie dane z dwóch akcelerometrów MMA-ileśtam firmy Freescale...;] zawsze wysyłając bajt (jeden lub więcej) bezposrednio po adresie+WR. Zauważ, że zapis...
Witam, borykam się z problemem odczytu 3 czujników analogowych z arduino mega 2560. Jeśli podłączam pierwszy czujnik, z grugiego nie mam odczytu tak jak i z trzeciego, podłączając najpierw 2 czujnik, mam odczyt z 2 a nie mam z 1 i 3 itd. Nie wiem czym może to być spowodowane. Są to same odczyty analogowe A0,A1 i A2 odczytując po kolei, następnie dane...
Witam, Posiadam układ STM32F407 i chciałem zrobić odczyt pozycji x,y,z oraz aktualnej prędkości z wbudowanego akcelerometru, lecz na razie nie wiem zbytnio jak się za to zabrać. Używam środowiska CooCox oraz języka C. Prosiłbym o jakieś wskazówki od czego miałbym zacząć lub jakieś poradniki. Na tą chwilę mam zainicjowany USART i przygotowaną funkcję...
Jaki to konkretnie moduł MPU6050? Czy nie powinien on być zasilany z 3V3? Czy zaglądałeś na [url=]tę stronę? Jest tam też mowa o programowej korekcji odczytanych danych.
Można by spróbować w trochę inny sposób, np. ramię sterujące (te z napędem ręcznym) porusza się w kierunku X z przyśpieszeniem A (odczytane z akcelerometru), układ sterujący tak wylicza sygnały dla napędu ramienia sterowanego aby odczyty z akcelerometru na tym ramieniu były zgodne z tymi z pierwszego. I tak dla wszystkich osi, ale czy to będzie dokładne?...
Z czym się komunikujesz po SPI? Jesteś pewien, że powinno być First LSB? Docelowo chciałbym się komunikować z kartą SD, akcelerometrem LIS35DE oraz z kontrolerem panelu dotykowego ADS7843. Zmieniłem na SPI_FirstBit_MSB, ale najpierw chce uruchomić samo SPI, więc ustawienie FirstBit nie ma zanaczenia. Bo to co wychodzi z MOSI oglądam na oscyloskopie,...
Michael Stanley na swoim blogu w firmie Freescale umieścił bardzo ciekawy artykuł opisujący stosowanie akcelerometrów. Pytaniem które należy sobie zadać podczas projektowania części mechanicznej dowolnego produktu zawierającego sensory jest to gdzie te sensory mają być umieszczone. Oczywiście najczęstszą odpowiedzi jest "to zależy". W artykule opisano...
Nie jest to żadną tajemnicą :) podpinam pod procesor Atmatal 2313 najlepiej pod przerawnia , ale nie koniecznie - ostatnio podpiąłem pod dowolne piny i odczyt wypełnienia działa rewelacyjnie. Ponieważ rezystorkiem ustalasz okres to pozostaje Ci zczytanie czasu trwania stanu wysokiego na timerku procka najlepiej 16 bitowym. uzyskuje ok 500 odczytów na...
I jeszcze szumy, i dryft temperaturowy. A funkcja na pewno nie jest liniowa. Trzeba raczej dwa akcelerometry (chyba wszystkim o takie chodzi?) i przeliczać to funkcją atan2. No, przy zakresie 0..90 stopni wystarczy zwykły atan. Jeden akcelerometr nie da rady. Owszem pole grawitacyjne Ziemi jest prawie że stałe więc wystarczyło by mierzyć jedną osią...
Wszyscy znudzeni klasycznym przesuwaniem myszki po biurku, powinni zainteresować się projektem Bernard Klinc'a. Konstrukcja to myszka, którą można operować w powietrzu. Urządzenie jest podłączone do portu rs232 - połączenie również służy do zasilania elektroniki myszki. Jako element odwzorowujący ruch ręki jest dwuosiowy (X/Y) akcelerometr (MMA6270...
Grupa studentów inżynierii elektrycznej z University of Sherbrooke w Kanadzie jako projekt zaliczeniowy wybrała stworzenie akcelerometru bezprzewodowego. Urządzenie zaprojektowane zostało z myślą o szkolnych sportowcach skaczących o tyczce. Zadaniem studentów było wyeksponowanie swoich umiejętności z zakresu projektowania płytek PCB, montażu elementów...
Schemat To jest schemat gamepada podłączanego do portu USB wbudowanego w kierownicę. Oprogramowanie firmware’u zostało napisane w języku PicBasic Pro i implementuje urządzenie HID USB posiadające 2 osie i 4 przyciski. Urządzenie jest rozpoznawane przez Windows XP/Vista jako standardowy gamepad USB i może być używane z wieloma grami i aplikacjami....
Podłączyłem wszystko tak jak wydawało mi się prawidłowo. Dałem dwa kondensatory jako separator, i nie podłączyłem masy z wtyczki jack do czujnika. Sprawdzając teraz napięcie za kondensatorem na wtyczce, wskazania są takie, że napięcie spada od 0.10V w dół i zostaje na 0V... Tak jakby kondensator się rozładowywał. Dane przez line in udaje mi się odczytać...
A czy mógłby ktoś mi podpowiedzieć jak odczytać dane z żyroskopu i przekonwertować na stopnie? Używam żyroskopu LSM330dl. Mój kod wygląda tak: [syntax=c] int temp = LSM330DL_GYR_read_temp(); err_gyro = 10*temp-264; //blad od temperatury gyro_z = LSM330DL_GYR_read_z()-err_gyro; x_gyro_z[3] = x_gyro_z[2]; x_gyro_z[2] = x_gyro_z[1]; x_gyro_z[1] = x_gyro_z[0];...
Jest już dość późno, a ja od kilku godzin stoję w miejscu z komunikacją po SPI z akcelerometrem na płytce Discovery. Konfigurację oparłem na działających przykładach z Internetu. Natomiast sama funkcja odczytu/zapisu nic szczególnego nie robi :-) Niestety po odpytaniu akcelerometru WHO_AM_I otrzymuję tyko zera. Poniżej konfiguracja [syntax=c]void spi_config(void)...
Witam, Tworzę projekt, który zawiera w sobie odczytywanie wartości akcelerometru (MPU 6050), który komunikuje się z atmega8, a ten z kolei wyświetla informacje na wyświetlaczu. Całość opiera się o I2C. Korzystam z tej inicjalizacji I2C: [syntax=cpp]#include <avr/io.h> #include <avr/interrupt.h> #include <avr/pgmspace.h> #include <util/delay.h>...
Firma ST Microelectronics zaprezentowała najmniejszy na świecie cyfrowy kompas elektroniczny, czyli trójosiowy magnetometr oraz trójosiowy akcelerometr zintegrowany w jednym układzie MEMS o wymiarach 2x2 mm. Układ LSM303C jest przeznaczony do urządzeń przenośnych takich, jak smartfony, tablety, czy opaski na nadgarstek rejestrujące ruch ręki. Producent...
Zapewne i tak będziesz się musiał pogodzić się z szyną jaką obsługują wybrane akcelerometry i żyroskopy lub przetworniki A/C, z pomocą których będziesz je odczytywał. Zapewne wyniki pomiarów będą przesyłane do PC i raczej nad tym się zastanów, bo najlepiej robić to bezprzewodowo.
Zmieniłem na podane przez Ciebie funkcje: [syntax=c]#include "stm32f4xx.h" #include <stdio.h> #include "stm32f4xx_spi.h" #include "main.h" #include "gpio.h" #define CS_0 GPIOE->ODR &= ~(1<<3); #define CS_1 GPIOE->ODR |= (1<<3); void spi_init( void ) { RCC->APB2ENR |= RCC_APB2ENR_SPI1EN; RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN;...
lecz z dodatkowym serwem, które sterowałoby osią Z. Nie da sie. Przynajmniej nie opierając się o to, o co oparł się autor tego na jutubie. Musiałbyś mieć dwa przyspieszenia odsniesienia, czyli jedno ziemskie, a drugą... pozaziemskie ;] I dodatkowo, precyzyjnie je znać. Patrz Dzięki FIFO serwa zachowują się stabilniej. Bzdura. FIFO to tylko kolejka,...
W kolejnym odcinku cyklu Rzadko zadawanych pytań przyjrzymy się filtracji sygnałów pochodzących z modułów inercyjnych (IMU), służących do pomiarów ruchu przedmiotów. IMU to moduł składający się z akcelerometrów, żyroskopów, magnetometrów itp. który pozwala urządzeniu na detekcję własnego ruchu w przestrzeni 3D. Pytanie: Podczas konfiguracji modułu...
Jak udowodnili badacze z Carnegie Mellon University używane obecnie inteligentne zegarki mogą rozpoznawać rozmaite gesty dłoni - kliknięcia, przesunięcia czy drapanie po poszczególnych jej częściach. Aby było to możliwe nie są konieczne żadne zmiany w sprzęcie, a jedynie upgrade obecnego oprogramowania. Tego rodzaju funkcjonalność wprowadzić można...
Ustawiłem pin SS jako wyjście i po wysłaniu komendy wysłałem jeszcze dummy byte jednak dalej nie dostaję żadnej wartości na wyświetlacz ;/ Czy przy odczytywaniu danych powinienem zmienić wartość pierwszego bitu komendy na 1? Chodzi mi o bit RW z rysunku 6.
sygnał z osi X możesz wykorzystac do korekty wyniku. Racja, jeżeli się np. schodzi z motocykla na kolano, to wynik pomiaru będzie zaburzony i rzeczywiście pewnie da się wykonać korektę na podstawie odczytu z osi X
dane z akcelerometru mają być zapisywane na flashu. Chyba, że nie możliwe. Potrzebuje mieć możliwość zgrywania tych danych.
Witam! Chcę skomunikować się z układem MMA7455 (akcelerometr) przy pomocy ATMega8 i dane wysłać przez RS do komputera. Próbuję ruszyć komunikację według dokumentacji ale ciągle dostaje z powrotem same 0. Układ mam połączony tak: I jeśli dobrze wyczytałem z dokumentacji MMA7455 , to gdy pin CS zwieram z masą, układ przechodzi w stan transmisji SPI. Więc...
Witam Mam ja sobie taki oto kod : #include <avr/interrupt.h> #include <avr/io.h> #define XX 10 int pomiar=0; int ilosc_pomiarow=XX; int temp; int main(void) { //PORTS DDRB = (1<<PB0 )| (1<< PB1 ); //ADC ADMUX=2; ADCSRA= ( 1<<ADPS0)|(1<<ADPS1&... | ( 1<< ADPS2);//ADC...
Nie łącz załączania SPI z jego inicjalizacją. Najpierw ustawiasz wszystkie rejestry potem dopisujesz SPE eśli chodzi o akcelerometr to z "mieszaniem" danych poradziłem sobie podwójnie odczytując dany rejestr. Zamiast: Kod C - Dziwne ja danych wymieszanych nie miałem wszystko było po koleji. Co do odczytywania danych to masz chyba świadomość że dane...
I tak wszystkie urządzenia z androidem posiadają niezmienne ID. Aby je zmienić trzeba wykonać mniej więcej tyle samo pracy, co przy zafałszowaniu odczytów z akcelerometru, aby nie dało się go "rozpoznać".
Dysk jest sprawny, chociaż katują go dwie sprawy: - użytkownik (parametr BF - punkty karne z wbudowanego akcelerometru - ponad 14000 punktów świadczy o upadku, grze w hokeja tym dyskiem albo naprawdę kiepskim długotrwałym traktowaniu) - zarządzanie energią (a dokładniej parametr C1 oznaczający liczbę parkowań głowicy - ponad 100 tysięcy razy, czyli...
Nikt? Nic? Pobrałem jednak dane do int8_t, a nie uint8_t i zawija mi się ładnie, ale rozbieżność między odczytami w spoczynku jest ogromna.
Ja buduję na PIC18 i podobne krzaki występowały u mnie gdy miałem rozjazd między „sample rate” a faktyczną prędkością przeliczania. Dla 8-o bitowego kontrolera i 64 MHz musiałem ustawić max prędkość próbkowania i przeliczania 100Hz. W takim przypadku sygnał z żyroskopu jest źle skalibrowany i wprowadza dziwne wyniki, a po chwili za pomocą...
Witam Piezo nie zadziała. Na samym początku chciałem tak zrobić że zastosuję piezo do badania drgań ale nic z tego nie wyszło. Dopiero profesjonalne akcelerometry dały radę. Więc raczej rozwiązanie powinno być profesjonalne. Pozdrawiam,
Będzie problem, wychylenie można zrealizować na żyroskopach, tylko są to drogie czujniki, przebytą drogę będzie bardzo trudno zmierzyć, bo wibracje powstające przy locie śmigłowca sprawiają że akcelerometry głupieją. Trzeba robić to na GPS, ale odbiornik troche waży i to chyba największy problem - za jego pomocą możnaby też określać wysokość. Altimetr...
Witam, Po wielogodzinnej zabawie wreszcie udało mi się uruchomić I2C i nawiązać komunikację z akcelerometrem. Jednak mam mały problem - chciałbym w jednym adresowaniu w trybie do odczytu odczytać zawartość kilku kolejnych rejestrów z akcelerometru. Póki co udało mi się napisać działający program odczytujący tylko jeden rejestr, więc do odczytania trzech...
Rzeczywiście wpisywałem zły adres. Dla modułu ADXL345 adresy I2C (w przypadku gdy pin ADDR ADXL345 podłączony jest do masy) wynoszą 0xA6 -zapis, 0xA7 - odczyt. Mam jeszcze problem z funkcją odczytu danych: [syntax=c] uint8_t i2c_read (uint8_t adr, uint8_t adr_reg) { //funkcja odczytu int status2, dane; I2C1->CR1 |= I2C_CR1_ACK; I2C1->CR1 |= I2C_CR1_START;...
W poniższym artykule skupimy się na optycznych sensorach pulsu, które bardzo popularnie wykorzystywane są biomedycznych urządzeniach noszonych. W tym materiale poznamy parametry, jakie można z ich pomocą mierzyć oraz sposób ich działania. Większość urządzeń noszonych do pomiaru rytmu pracy serca i innych wartości biomedycznych wykorzystuje fotopletyzmograf...
Witam. Napisałem prosty program do odbioru danych z akcelerometru MMA7455L. W zasadzie chcę odebrać tylko 8 bits output value X adres: $06. Jednak na wyjściu funkcji read_czujnik() dostaje wartość 9C która zapewne nie jest przypadkowo wartością wpisywaną w TWI_write(0x9C); na chwilę przed odbiorem. main.c [syntax=c]#define F_CPU 8000000UL #include <avr/io.h>...
Witam Uruchomiłem kod z książki tmf`a do obsługi i2c w avr jako slave. Problem w tym, że o ile przesłanie pojedynczych danych działa doskonale. To jeżeli chcę przesłać dane na podstawie odebranej wartości to bit TWDR przyjmuje wartość adresu odbioru, a master zawiesza się. Przerwanie: [syntax=c]ISR(TWI_vect) { uint8_t status = TW_STATUS; switch(status)...
Do tematu musiałem wrócić, dalej kopie się z koniem... Tym razem STM32F411VE i akcelerometr LSM303DLHC który jest na płytce STM32F411E-DISCO. W związku z tym problem hardwarowy można od razu wykluczyć. Transmisja w trybie pooling działa, odczytuje dane z akcelerometru. Natomiast przy próbie pracy w przerwaniu I2C zgłasza przerwanie I2C1_ER_IRQn i błąd...
Witam. Chciałbym zaprezentować rezultat pracy dyplomowej magisterskiej wykonanej przeze mnie i kolegę, studentów Zachodniopomorskiego Uniwersytetu Technologicznego w Szczecinie. Kierunek: Elektronika i Telekomunikacja, Specjalność: Cyfrowe Systemy Sterowania. Głównym celem pracy było wykorzystanie czujników inercyjnych w procesie sterowania robotem...
Jak widzisz funkcja ta może byc konfigurowalna w taki sposób, że albo korzystamy z pollingu albo z DMA. Powiedz o jakich dokładnie błędach mówisz, bo z tego co pamiętam to jest to niemal to samo co mówi RM (z małymi wyjątkami w kolejności włączania np. SPI/ustawiania kierunku - eksperymentalnie doszedłem do poziomu bezbłednego przy jednoczesnie dużej...
Witam, Wykonuję obsługę odczytu danych z żyroskopu L3GD20H. Dane są wysyłane z uC na komputer za pośrednictwem BTM-222. Transmisja przebiega prawidłowo. Na wejściu dostaję dane w postaci: -ilość taktów zegara od ostatniego wystawienia nowych danych przez gyro dla F_CPU=8000 000 i preskalera 8 i dla ODR=200 dostaję TCNT1L = 125, TCNT1H=20. Po przeliczeniach...
Projekt wykonany przez dwójkę studentów integruje 3 rodzaje pomiarów: pomiar ilości przebytych kilometrów, pomiar szybkości kroków oraz prawidłowości chodu poprzez analizę nacisku na poszczególne punkty na stopie, wykrywając przy tym skrzywienie stopy i kilka innych parametrów, które mogą być przydatne lekarzom ortopedom. Podczas normalnego poruszania...
Witam, Po nieudanych próbach znalezieniu błędu do komunikacji przez I2C [url=]Link, stwierdziłem ze więcej korzyści edukacyjnych przyniesie mi konfiguracja MEMsa przez SPI. Tutaj poszło trochę lepiej, udało mi się skonfigurować akcelerometr, ale mam problem z odczytem danych. W debuggerze zobaczyłem, że odczytuje ciągle wartości x=0x27 y=0xFF z=0xFF...
Gesto to największa otwarta platforma służąca do rozpoznawania gestów i śledzenia ruchu dłoni na podstawie aktywności fizycznej mięśni. W chwili obecnej na platformie Crowd Supply trwa kampania finansująca projekt, w którego skład wchodzą dwa urządzenia: Gesto Caelum oraz Stella. Obie płyty działają w oparciu o mikrokontroler ATmega1284p oraz układ...
Witam. Zaprojektowałem i wykonałem układ w którym wykorzystując układ LSM330DL. Komunikuję się za pomocą I2C. Z akcelerometrem komunikuje się bez problemów za pomocą funkcji: Kompas: OK Akcelerometr: OK Zyrokop: OK 1;5;1229 1;5;1184 1;5;1234 1;5;1234 1;5;1234 1;4;1234 1;4;1234 1;4;1234 1;4;1234 1;4;1234 1;4;1234 1;3;1234 1;3;1234 1;3;1234 1;3;1234 1;3;1234...
Witam serdecznie Kolegów! Aktualnie jestem w trakcie pisania gry typu labirynt z kulką na procesor ARM STM32F103VCT6. Wszystko mam pięknie i ładnie obsłużone (symulacja odbić od powierzchni płaskich, detekcja kontaktu z otworami) no ale zostało jeszcze najważniejsze - symulacja odbić kulki od kantów prostokąta. I tu niestety zaczynają się schody. Z...
Witam, posiadam płytkę GY-80 ()z rozmieszczonymi czterema czujnikami: - akcelerometr ADXL345 - żyroskop L3G4200D - magnetometr MC5883L - czujnik ciśnienia BMP085 Wszystko połączone jest magistralą i2c. Próbuję, na atmedze 328p, wdrożyć obsługę tych czujników z wykorzystaniem filtru MARG, dostępnego tutaj: do wyznaczenia położenia płytki w przestrzeni....
Jeśli nadajnik będzie przykryty metalowymi przedmiotami to oczywiście nie da się odebrać z niego sygnału. W takim przypadku nie ma znaczenia ustawiona moc nadajnika. W praktyce wpływa ona jedynie na zasięg a nie na to czy z małej odległości daje się odebrać sygnał. Nie chciałem za dużo pisać ale ten problem można rozwiązać. Pytający założył możliwość...
Witam Potrzebuję pomocy ponieważ moja przygoda z arduino jest krótka i nie znam jeszcze wielu zagadnień. Mam pytanie, jak odczytując dana z czujnika porównać ze sobą i reagować na zmianą. chcę odczytać oś X z akcelerometra i przykładowo jeśli X w pierwszym okrążeniu pętli = 60 a w 10 pętli = 100 to już wtedy zastosuję instrukcje (If). Czy ktoś wie jak...
Pierwszy lepszy MPU6050 , MPU 9250 , BNO055 . 1. Odczytujesz dane akcelerometru dodajesz filtr dolnoprzepustowy . 2. Odczytujesz dane żyroskopu 3. Dane żyro i akcelerometru robisz fuzję przez filtr komplementarny Tu już masz pomiar kątów do 80 stopni (no raczej kosiarką nie będziesz kosił na 90 stopni :D ) . By kosić obracając w 360 stopni :) to musisz...
Witam! Wykorzystując interfejs I2C chce komunikować się z akcelerometrem BMA180. Interfejs I2C zrealizowany sprzętowo za pomocą kontrolera I2C0 z wykorzystaniem przerwania.Samą komunikację już zrealizowałem, ale mam problem z jej rozwinięciem. Poniżej przedstawiam kod który działa "poprawnie". Główny problem polega na tym, że chciałbym napisać funkcję...
Odnośnie czujników to tak jak pisali przedmówcy żyroskop jest najrozsądniejszy do zapewnienia krótkookresowej stabilności ruchu we wszystkich osiach. Niestety żyroskop ma dryft, który w dłuższym czasie będzie zakrzywiał trajektorię ruchu. Dryft kasuje się filtrami łączącymi dane z dwu różnych czujników (filtry komplementarne, filtr Kalmana itp). W osiach...
Bawię się akcelerometrem LSM303DLHC. Wiem, że i2c jest skopane w STM ale póki co poprawnie zapisywałem i odczytywałem dane z rejestrów, nic się mi przy tym nie wiesza. Problemem są dane jakie odczytuję gdy płytka jest nieruchomo wynoszą około 6500 z rejestrów X i Y i około 1260 z rejestru Z. Gdy płytką ruszam coś się zmienia ale bardzo chaotycznie,...