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ę...
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....
franek.bmw mógłbyś pochwalić się wynikami tego akcelerometru. Nie wiem czy przy jego obsłudze poczyniłem jakiś błąd, ale szumy, które otrzymuje sięgają 20mg, bez znaczenia jest tryb, który wybieram low-noise/low-power. Odczyt działa poprawnie, zewnętrzne przerwanie, oraz automatyczny reset przerwania odbywają się prawidłowo najpierw wysyłam adres 0x02...
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...
atmega ma ogolnie zbierac sygnały z enkoderów, odczytywac wartosci z dalmierzy, sterowac pwmem silników,zbierac sygnaly z akcelerometru. Troche tego jest wiec sadze ze podzial "obowiazków" to dobry pomysl;]
Witam. Próbuje skonfigurować akcelerometr tak, aby po "szturchnięciu" wybudzał procesor po czym przechodził w tryb uśpienia do kolejnego "szturchnięcia" (akcelerometr). Pobór prądu powinien spadać wtedy do kilku uA. Samo przerwanie od szturchnięcia działa. Robię je zgodnie z tym co jest tu: na 15 stornie. [syntax=c] ////////////////////////////////////////...
Kolejny scalony układ nawigacyjny w ofercie firmy STMicroelectronics, LSM9DS0 iNEMO 3D, wykonany w technologii system-in-package, zawiera zestaw składający się z akcelerometru 3D, żyroskopu 3D i magnetometru 3D. Układ scalony LSM9DS0 umożliwia dynamiczną zmianę liniowego zakresu pomiaru przyśpieszenia (z zakresu ±2g/±4g/±6g/±...
Widzę dane chcesz pobierać jak przyjdzie przerwanie z memsa. Niestety mam ten sam problem. Ten akcelerometr nie chce wysyłać przerwań. Zobacz na razie zrób odczyt wyzwalany timerem wtedy będziesz wiedział czy komunikacja działa. Bo z tymi przerwaniami coś jest nie tak.
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...
ADXL345 jest najnowszym członkiem rodziny akcelerometrów iMEMS. Jest on przeznaczony do sprzętu zasilanego z baterii, gdyż pobór mocy zredukowany może być do 25..130 µA przy napięciu zasilania równym 2.5V. Układ mierzy przyspieszenia do ±16g z 13 bitową rozdzielczością. Pomiary przesyłane są dalej cyfrowo - za pomocą interfejsu SPI albo I2C...
Witam mam problem z akcelerometrem w moim Diamondzie, gdyż po wymianie wyświetlacza przestał on działać w jednej z płaszczyzn (konkretnie "z"). Chciałbym dowiedzieć sie w której części (płytce) mogę go znaleźć no i czy lekko przerwana taśma może być tego przyczyna. Proszę o odpowiedź jak naprawić tą usterkę.
Czy BW_REGISTER to na pewno to samo co BW_RATE (0x2c) ? Bo w dokumentacji ADXL345 (BW_REGISTER nie występuje Oczywiste raczej, że ustawiłem bity "rate" w rejestrze BW_RATE. Obecnie uruchomiłem przerwania Atmegi i skonfigurowałem "single tap". Mogę teraz liczyć te zdarzenia, za pomocą przerwania (właściwie do tego mi to potrzebne). Coś takiego działa...
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ą...
Witam serdecznie. Bawię się ostatnio akcelerometrem: Zaimplementowałem sobie tryb POTRAIT/LANDSCAPE oraz SINGLE TAP czyli kolejno: obrót ekranu oraz pojedyncze uderzenie (puknięcie) w akcelerometr (+przerwania do tego) Wszystko działa bez zarzutów. Chciałbym teraz wykorzystać go w taki sposób, że przymocowuje go do okna które będzie działało z przyspieszeniem...
Filozoficznie ująłbym to tak: jeśli cała funkcjonalność programu nie da się zawrzeć w przerwaniach, to znaczy, że powinniśmy użyć RTOSa. Z samego faktu obecności "pętli głównej" wynikają wyłącznie problemy. Od dawna piszę wszystkie nieduże projekty w taki sposób, że procesor po zainicjowaniu peryferiali idzie spać i tylko obsługuje przerwania. Na 8-bitowych...
Witam, Potrzebuję, aby co 24h wywoływany był alarm z RTC na STM32L051. Konfiguracja i obsługa przerwania wygląda tak: [syntax=c]... SYSCFG->EXTICR[1] =SYSCFG_EXTICR2_EXTI4_PB; // przerwanie od EXTI na PB4 SYSCFG->EXTICR[3] =SYSCFG_EXTICR4_EXTI15_PA; // przetwaie od kontaktronu EXTI->IMR = EXTI_IMR_IM4 | EXTI_IMR_IM15 | EXTI_IMR_IM17; // RTC...
Witam!!! Mam pytanko dotyczące ADXL202. Ostatnio podłaczyłem sobie taki do procka 8515(narazie tylko os X) i zaczałem mierzyc czasy T1 i T2, czyli okres przebiegu i czas trwania stanu wysokiego. Przy zastosowaniu rezystroa Rset 120k T2 powinien wynosci 0,960ms(z pomiaru przy pomocy procka wynika ze wynosi mniej bo ok 0,900ms), ale głowny problem to...
Witam :) mam pytanie dotyczace wspolpracy AVRa i akcelerometru ADXL mianowicie chodzi mi o pomiar wypelnienia (w sposob opisany ponizej) ustawienie przerwania Int0 zeby dzialalo na zbocze narastajace (do tego wejscia bedzie podpiety czujnik) w chwili wyzwolenia zboczem narastajacym jest zerowany a nastepnie uruchamiany timer0 a nastepnie jest zmieniana...
Mam jeszcze jedno pytanie. Czy cały ten kod czyli kalmana , PID i odczyt czujników mam wrzucić w jedno przerwanie? A np. ewentualnie wyświetlacz i klawiaturę obsługiwać w pętli głównej? Czy macie inny pomysł? Proszę o odpowiedź, chciałbym już zacząć pisać program:)
Jestem w trakcie tworzenia licznika rowerowego z funkcją alarmu przeciwkradzieżowego. W cały układzie mam akcelerometr, który wykrywa większe zmiany przyspieszenia. Chciał bym żeby to wykrywanie odbywało się podczas wyłączonego licznika. Powerdown mode odpada ponieważ wyłączone jest praktycznie wszystko i nie miał bym jak wykryć większych przyspieszeń....
Masz błąd w procedurze inicjującej timer2. Mianowicie powinno być: void Timer2_Init(void) { TCCR2= (1<<CS20) | (1<<CS21) | (1<<CS22) ; TIMSK = (1<<TOIE2); } to by wyjaśniło dlaczego nie czyta wartości z adc ale co to niema raczej nic wspólnego z klawiszami... i oczywiście bit...
Tak, możesz podłączyć kilka urządzeń do jednego interfejsu SPI, ale... - urządzenia wybierasz pinami !CS (ile urządzeń, tyle dodatkowych linii) - musisz zwrócić uwagę w którym trybie (są 4) pracuje każde z urządzeń, jeżeli są różne dla urządzeń, to sprawa się trochę komplikuje - trzeba przełączać tryb pracy z każdą transmisją - musisz zwrócić uwagę...
Mikromedia7 to płyta z 7" wyświetlaczem przeznaczona do projektowania prostych aplikacji multimedialnych z wykorzystaniem mikrokontrolera STM32F4. Stosunkowy duży rozmiar PCB pozwolił producentowi na umieszczenie wielu dodatkowych peryferiów ułatwiających proces projektowania. Kompaktowa budowa i możliwości sprzętowe urządzenia pozwalają przetwarzać...
Problemem okazały się brak mocy procesora, stąd wyższy poziom optymalizacji pomógł go, przynajmniej tymczasowo, rozwiązać. Dalej jestem ciekaw czemu tak się stało, mimo poszlak, że procesor tej wolnej mocy powinien mieć więce Nie podałeś jakim zegarem taktujesz procek (XMEGA domyślnie to 8 MHz, ale można max 32 MHz), Zegar taktowany jest 24MHz. Wynika...
Witam. Właśnie staram się zrobić mysz komputerową na atmedze 32 za pomocą biblioteki V-USB. Program testowałem na płytce rozwojowej z kwarcem 16MHz, atmegą 32 i wszystko działało. Po przeniesieniu się na moją płytkę z kwarcem 12MHz i przekopiowaniu kodu, na wyjściach D+ i D- mikrokontrolera nic się nie pojawia, D- stan wysoki, D+ niski. Oczywiście zmieniłem...
Mister Gloves to bezprzewodowy interfejs USB, pozwalający poprzez intuicyjne ruchy ręki i palców sterować komputerem. Rękawica noszona na prawej dłoni umożliwia użytkownikowi kontrolę ruchu kursora, wykonywanie skrótów klawiaturowych oraz symulowanie kliknięć przyciskami myszy, poprzez zginanie palców bądź kciuka. Rękawica lewej ręki umożliwia wprowadzanie...
Witam. Jestem studentem Politechniki Gdańskiej. W tym semestrze jako projekt wykonywany w ramach zajęć wymyśliliśmy sobie zdalnie sterowany samochód za pomocą smartfona. Projekt wykonuję razem z kolegą, a ponieważ jest on już praktycznie ukończony, czas na prezentację :) Główne założenia projektu: - Sterowanie za pomocą Bluetooth, - Sterownik steruje...
To jest oczywistę, ze w przypadku USB mamy znacznie bardziej złożony protokół. Chodzi o to, ze w progrmaie DEMO od ST mamy obsługę myszy za pomcą akcelerometru. Chciałem, żeby po podłaczeniu układ był widziany jako mysz (HID). Zauważyłem, że po podłaczeniu usb jest wywoływane przerwanie, a następnie jest ono co chwile wywoływane (jeżeli właczy się brakepoint...
Ja tam widzę 1 w: Atrybut 188 ( BC ) Command Timeout Ilość przerwanych operacji z powodu nie odpowiadania dysku na komendy. Normalnie ten parametr powinien wynosić zero jeśli jest inaczej może to świadczyć o poważnych problemach z zasilaniem dysku (złączem zasilaczem ect.) Krytyczny: Tak (Im niższa wartość tym lepiej) Przecież to może być wina zasilacza....
Rynek czujników elektronicznych stale się rozwija, z dwucyfrowym tempem wzrostu rok do roku. Głównymi czynnikami napędzającymi ten wzrost jest duża liczba czujników wprowadzonych w urządzeniach Internetu Rzeczy (IoT), urządzeniach mobilnych (smartfonach i tabletach) oraz urządzeniach do noszenia. Bezprecedensowe scenariusze zastosowań są teraz możliwe...
Mam problem z połączeniem dwóch ATmeg8 za pomocą sprzętowego TWI. Otóż chciałbym połączyć dwie ATmegi, z których pierwsza - SLAVE TRANSMITTER - obsługuje akcelerometr poprzez ADC i przekazuje dane drugiej - MASTER RECEIVER - która to z kolei wyświetla dane na wyświetlaczu LCD. Przewertowałem elektrodę, google, datasheeta ATmegi i znalazłem wydawałoby...
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...
Jestem w trakcie rozwijania pewnej (narazie prostej) konstrukcji. Zastosowałem jako enkodery transoptor szczelinowy, a jako tarcze dziurkowane kółko z LEGO. Niestety to rozwiązanie nie umożliwia mi badania, w która stronę się kręcą koła, ale jest już jakaś prosta podstawa do pomiaru obrotów kół. Tarcza jest umieszczona przed przekładnią ślimakową, więc...
Firma STMicroelecronics wydała nową wersję oprogramowania sterowników obsługujących komunikację z systemami Linux, co umożliwi korzystanie z układów typu MEMS w szerszym zakresie. Nowa architektura sterowników jest obsługiwana w najnowszej wersji jądra Linux (od rewizji 3.9). Sterownik sprawia, że urządzenia MEMS firmy ST są bardziej dostępne dla programistów...
Natomiast jak juz mowisz o profesjonalizmie czy to o plytce czy o srodowisku programistycznym to nie bawimy sie w zabawki tylko inwestujemy kase i tyle. Nie bardzo zgadzam się z takimi bardzo nieprawdziwymi dogmatami - jak profesjonalnie to się inwestuje i tyle. Jeżeli takie stwierdzenia nie pochodzą z księżyca, to przynajmniej z krajów bardziej rozwiniętych...
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...
To tak nie jest. Po pierwsze - stosując filtr górno-przepustowy nie zlikwidujesz składowej stałej grawitacji. Zgodnie z twoją logiką jeżeli zostawisz akcelerometr nieruchomo i zastosujesz ten filtr to akcelerometr ma wskazywać około 0 ? - tak nie będzie. W przypadku układu różniczkującego (filtra GP), wartość napięcia na wyjściu filtra jest zależna...
Witam, problem z ADXL345 jest następujący - po skonfigurowaniu rejestrów adxl345 tak aby czujnik wykrywał aktywność i jej brak przy użyciu osi X Y Z, czujnik nie pracuje prawidłowo. Aktywność i brak aktywności nie jest wykrywana tak jak należy. Przy użyciu wszystkich osi i ustawieniu progu dla aktywności 0x03 i 0x01 dla braku aktywności (1 bit to 62,5mg)...
Cześć Mam problem z połączeniem akcelerometru ADXL345 i czytnika kart SD przez SPI. Oba urządzenia muszą pracować na jednym SPI. Czyli wychodzi na to, że karta SD pracuje ok, natomiast nie ma połączenia z czujnikiem ADXL345. Na innych forach wyczytałem że to kwestia SPI_MODE która dla akcelerometru wynosi 3 a dla karty SD 0. Zmieniam to w kodzie lecz...
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 podepnę się pod temat by nie zakładać nowego. Mam sobie układ Atmega32 -> konwerter poziomów napięć ST2378 -> ADXL345 Transmisja pięknie hula po SPI na 2m kabelku. Mam natomiast problem z przerwaniami w ADXL345. Ma on 2 programowane wyjścia wysyłające przerwanie. W zależności od wyboru: dane gotowe do obioru, pojedynczy klik, podwójny klik (i...
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...
Termin IoT określający przedmioty mające łączność z internetem staje się coraz bardziej popularny. Można zaobserwować zwiększoną liczbę projektów DIY, kampanii finansowanych społecznościowo oraz produktów komercyjnych mających możliwość komunikacji z wykorzystaniem internetu. Firma Arrow Electronics Poland na początku tego roku zorganizowała seminarium...
Witam, Mam następujący problem. Chciałbym próbkować dane z akcelerometru, żyroskopu oraz magnetometru z częstotliwością 1 KHz, przez okres 7 sekund. Dane te chciałbym zapisać na karcie SD. Dotychczas aby zapisać dane na kartę SD korzystałem z biblioteki Fatfs (SDIO). Teraz jest to dość problematyczne, ze względu na czas realizacji zapisu. Dane muszą...
Dziekuje za odpowiedzi, mnie rowniez sie wydawalo ze kolega przesadzil z tymi taktami dla floatow. Jestem zaszczycony otrzymaniem odpowiedzi od autora mojej pierwszej ksiazki o AVRach :D Co do propozycji czestotliwosci probkowania to faktycznie jest to chyba najbardziej prawdopodobny powod, ATMega jest taktowana 16 Mhz, w tym samym przerwaniu jest zaprogramowane...
Witam, buduję robota balansującego z wykorzystaniem atmegi328p oraz czujnikiem MPU-6050 akcelerometr + żyroskop (moduł DFRobot). Po dziesiątkach godzin nieudolnych prób doboru nastaw regulatora PID zacząłem doszukiwać się jakiś błędów, ponieważ robot wykazuje opóźnioną reakcję, i nie jest zdolny utrzymać się nawet przez 5 sekund. Moje podejrzenia padły...
Dziękuję za odpowiedź:) Analizowałem Wasze wypowiedzi ale niestety nie zrozumiałem wszystkiego na tyle dobrze aby stworzyć sobie kod. Nie mielibyście jakiś adresów stron www na których jest to opisane w prostszy sposób lub z większą ilością przykładów. Jeśli chodzi o moje zastosowanie tego to potrzebuję odczytywać wartości z przetwornika analogowo-cyfrowego...
Witam. Podczas projektowania robocika 4 kołowego z 4 silnikami(pololu lub HL149) chciałem założyć na oś 4 tarcze z myszy kulkowej i układ opto (dioda IR +fototranzystor podwójny)+komparatory LM358D Planuje kontrolować przebytą drogę jak i kierunek obrotu kół(coś ala kontrola trakcji), 8 wyjść z komparatorów planuje podłączyć pod 8 przerwań zewnętrznych...
Autor, jako mieszkaniec Seattle, gdzie organizowany jest cyklicznie przejazd przez plażę na deskorolkach czy rowerach, skonstruował gadżet – wyświetlacz widmowy – do swojej deskorolki. Jako że autorowi idea wyświetlaczy widmowych nie była obca – postanowił wykorzystać ten efekt w konstruowanym gadżecie. Idea działania wyświetlacza...
Te przerwania to najgorsza rzecz do ogarnięcia. Odbudowałem program fragmentami ze starego i na początek dałem proste krótkie przerwanie by jak nacisnę przycisk wysłało byle co po usarcie. No i działa ALE na którym for się zatrzyma w głównej pętli programu gdy wywołam pierwszy raz przerwanie to na tej już zostaje i nie chce jej opuścić ale jak wywołuje...
Witam, standardowo akcelerometr na płytce przeznaczony jest dla komunikacji SPI, ale wydaje mi się, że nie powinno być problemu, żeby skonfigurować go pod I2C. 1. Ustawienie czujnika w tryb I2C po przez ustawienie stanu wysokiego na nożce CS podpiętej do pinu PE2 lub PE3 (PE3 jest raczej prawdą). 2. Ustawienie LSb adresu czujnika na 0 po przez zwarcie...
Witam, robię amatorsko quadrocopter i jak wiadomo do okreslenia orientacji przestrzennej uzywam oczywiscie magnetometru, akcelerometru i zyroskopu. Teoretycznie mozna by orientacje okreslac jedynie na podstaie magnetometru i akcelerometru, ale one z siebie same troche szumia i dlatego postanowilem zrobic taka fuzje czujnikow dolaczajac jeszcze zyroskop...
Chciałbym przedstawić robota mobilnego należącego do klasy minisumo, którego wykonałem w 2012 roku. Roboty tego typu tworzone są do walk na ringach o odpowiednich średnicach zależnych od klasy robota, czyli jego wymiarów i wagi. Klasa minisumo to wymiary w granicach 10x10 cm oraz waga poniżej 500 g. Na początek wypiszę naważniejsze założenia, które...
Dzięki za odpowiedź:) Negacja składowych GX, GY jak najbardziej wynika z orientacji sensorów. Na płytce ewaluacyjnej (Rysunek 3) Widać, iż osie X,Y żyroskopu L3GD20 mają są przeciwnie zorientowane względem założonego układu współrzędnych i co do tego nie mam wątpliwości. Zastanawia mnie natomiast oś Z, a właściwie potrzeba zanegowania GZ. Dziwi mnie...
Patrzyłeś kiedyś na przebiegi graficzne tego co daje na wyjściu? Oj, nie pamiętam, ze 4 lata temu go uruchamiałem, zresztą potrzebowałem tylko detekcję ruchu z akcelerometru i jedną oś żyra. Był chyba spory szum w danych z akcelerometru ale ręki sobie nie dam uciąć. Ja miałem z LSM330DLC inny problem, raz na kilka miesięcy potrafił się zawiesić przy...
Pokaż program po zmianach. [syntax=c] /* BAUD RATE: 9600 */ #include <avr/io.h> // Załaduj bibliotekę input/output #include <util/delay.h> // Załaduj bibliotekę opóźnień #include <avr/interrupt.h> // Załaduj bibliotekę obsługi przerwań #include "ioinit.h" // Załaduj bilbiotekę zew. (do ustawienia portów ATMega 8) #include "uart.h"...
Cześć, chcę wykorzystać akcelerometr LSM6DS3, aby wykryć aktywność lub jej brak. Skonfigurowałem go tak, aby przy wykryciu aktywności generował przerwanie na pinie INT. Po wyjściu ze stanu aktywności też jest generowane przerwanie. A więc w przerwaniu muszę sprawdzić czy czujnik jest w trybie obniżonego poboru prądu, czy też w stanie normalnej aktywności:...
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, próbuję osbłużyć akcelerometr ADXL345 po i2c, ale komunikacja zawiesza się po pierwszej komendzie i w ogóle program nie wchodzi do pętli while(1). jak zakomentuje linijkę: i2cTransmit(ADXL345, POWER_CTL, 0) w mainie; to ATmega wysyła po USARCIE dane bez problemu, w przeciwnym razie zawiesza się. o to listing programu: ATmega168 + 20 MHz, na samym...
Bardzo dziękuje, za te informacje zmieniłem trochę kod dzięki nim: Dodano po 25 Ops znowu mój błąd. Teraz już wszystko działa wielkie dzięki za pomoc. Jeżeli jest ktoś zainteresowany obsługą KAmodMEMS2 przez I2C to załączam poniżej kod. Mikroprocesor Atmega32. [syntax=c] #include <stdlib.h> #include <avr/io.h> #include <avr/interrupt.h>...
Witam, Gdy nastąpi jakiś błąd transmisji przez I2C program się zawiesza, gdzie może być błąd? [syntax=c]#include <stdlib.h> #include <avr/io.h> #include <avr/interrupt.h> #include <avr/pgmspace.h> #include "uart.h" // częstotliwość CPU w MHz #ifndef F_CPU #define F_CPU 16000000UL #endif // prędkość transmisji 9600 #define UART_BAUD_RATE...
Witam Serdecznie Na początek kod: [syntax=c]#define F_CPU 4000000UL #include <avr/io.h> #include <avr/iom128.h> #include <util/delay.h> #include <avr/interrupt.h> volatile uint8_t i=0; int main(void) { DDRA = 0xFF; ASSR &= ~(1<<AS0); TCCR0 |= (1<<CS01) | (1<<CS02); TIMSK |= (1<<TOIE0); TCNT0 = 131;...
Używam przerwań. Funkcja read_ms() z nich korzysta. Oto kod wykorzystujący przerwania: scaledy na scaledx i od tego momentu zaczęły się te problemy. Nawet po powrocie do scaledy program ląduje w DH.
witam, Chciałbym podpiąć się pod temat. Robię aplikacje okienkową w Builder C++ do wizualizacji(wykresów) z akcelerometru trójosiowego ADXL345. Komunikacja uC z czujnikiem jest przez SPI, a uC przesyła to do PC przez RS232. I teraz chciałbym przejść do robienia programu na PC w Builder C++. I chciałbym, aby całą transmisją rządził komputer, i zamiast...
Witam Bardzo proszę o pomoc w konfiguracji akcelerometru LIS3DH. [url=]datasheet [url=]application note Chciałbym aby układ podawał stan niski na INT1 w momencie kiedy układ wykryję zmianę przyśpieszenia w którąkolwiek stronę o wartości 32mg po 0.5 sekundy. Po prostu, gdy ktoś ruszy układ specjalnie (a nie przypadkiem stuknie) niech zadziała przerwanie...
Z przerwaniami, bez przerwań, z DMA [url=]CubeMX HAL i I2C i nawet błędów nie znalazłem (w HAL bo w kursie nie pamiętam ale chyba też nie ma błędów). Przyznam, ze brakuje na Elektrodzie takiego kursu.
Witam już kilka lat temu, będąc jeszcze nieświadomym studentem stworzyłem stworzyłem stronę internetową ELEKTRONIKA: Playlista: Programowanie AVR/ARM w C: playlist: Programowanie AVR na Atmega16 i Atmel Studio: 1) Ogólne filmy odnośnie programowania: Programowanie obiektowe w JAVA: playlist: [url=]Link 1) Słowa kluczowe static, class, extends, super,...
Hej Troche przykombinowales z tym printf, nie prosciel bylo nadpisac funkcje fputc... i w ciele tej metody umiescic obsluge wysylania pojedynczego znaku przez UART, w dodatku mozesz rozroznic strumienie i wyslac np. tym samym printf na CDC dodac sobie poziomy DBG itp np... int fputc(int ch, FILE *f) { if( f== stdout) { while...
Zastosuj akcelerometr 3D, np LIS302DL. Możesz nim mierzyć kąt jak i przyspieszenie. Przy zakresie 2g i czułości ustawionej na 5, wygeneruje Ci przerwanie nawet przy pierdn... dmuchnięciu :). Accel ten ma 2 zakresy: 2g i 8g a każdy z tych zakresów da się podzielić na 128 kroków czułości.
mierzący prąd w mA A po co mierzyć prąd, chyba lepiej napięcie (większość mikrokontrolerów ma wbudowany przetwornik AC, a jak umiesz liczyć to policzysz sobie prąd z prawa Ohma). Zresztą weź cyfrowy akcelerometr, będziesz się komunikował po np. I2C i z głowy masz jakikolwiek pomiar wielkości analogowych. i zapamiętujący czasowo jego przebieg w funkcji...
Ja ostatnio rozwiązałem to tak do transmisji danych z 3 osiowego akcelerometru: [syntax=c] sprintf((char *)buforTx,"X%03iY%03iZ%03iE%1c%1c",Buffe... USART_ITConfig(USART1, USART_IT_TXE, ENABLE); //Przerwanie-transmisja [/syntax] Potem w programiku napisanym w C# wyłuskuję z ciągu interesujące mnie dane:
Lepiej używać do tego SPI (at)10MHz przez DMA startowane z przerwania. Ja również używałem SPI do komunikacji z czujnikami MEMS tj. akcelerometrem BMA180 i żyroskopem L3G4200D gdzie częstotliwość odczytu wynosiła 1kH: Zeby nie było - pomysł I2C na kabelkach nie był mój, musiałem się dostosować... Sam nigdy nie popełniłbym takiej głupoty... Czy budowałeś...
Witam, Przepisałem dokładnie cały przykład inicjalizacji interfejsu I2C z ksiązki Tomasza Francuza, a mimo to Avrstudio nie pozwala mi go skompilować. Szukałem pomocy w innych przykładach ale nie widze błędu. Prosze o pomoc. //Próbuje uruchomić akcelerometr mma7455l [syntax=c]#include <avr/io.h> // Załaduj bibliotekę input/output #include <avr/interrupt.h>...
Witam, Mam problem ze sterowaniem akcelerometru MMA7455L przy użyciu I2C. Chciałbym móc sczytywać wszystkie osie tzn. XYZ. Niestety nie wiem jak sie za bardzo za to zabrać. Udało mi się uruchomić I2C, tzn przepisałem te rozwiazanie z ksiązki Tomasza Francuza i nie wiem co dalej. Znam zasady sterowania, ale boje się, że coś mi pojdzie nie tak, a nie...
Sensorian Shield to pochodzący z Kickstartera projekt modułu rozszerzającego możliwości komputera Raspberry Pi. Płyta pozwala na pomiar kilku parametrów środowiskowych, między innymi: natężenia oświetlenia, zmian pola magnetycznego, wysokości położenia czy temperatury. Urządzenie zostało wyposażone również w trzy pojemnościowe czujniki dotyku pełniące...
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)...
#43 Eagle Eye 1. Czym jest Eagle Eye? Eagle Eye to moja koncepcja dynamicznego monitorowania otoczenia domu. 2. Na czym polega pomysł? System Eagle Eye to duży dron wyposażony w wysokiej rozdzielczości kamerę. Może to być kamera z mocnym źródłem podczerwieni lub kamera termowizyjna. Dron posiada swoją zadaszoną stację bazową, gdzie się ładuje. Ponadto...
Poznałem już DMA o czym napisałem parę postów wyżej, w kontekście obsługi ADC. Właśnie taki sposób obsługi I2C jak w przypadku ADC via DMA byłby ideałem. Przy transmisji z ADC dzięki DMA nawet przez chwilę procesor nie jest wykorzystywany. Jedynie sprawdza co pewien czas czy dane z tablicy tych wyników mieszczą się w ustalonym przedziale. Przeoczenie...
Witam, zlecę do wykonania: Żyroskop i akcelerometr przyczepiony do rakiety/nadgarstka/klatki piersiowej ma rejestrować obrót kątowy oraz przyśpieszenie, które mają zostać pokazane na wykresach w dziedzinie czasu oraz częstotliwości. Chodzi mi o możliwość zobaczenia wykresów z 3 osi z jednego czujnika, zakładając, że czujnik jest 3 osiowy. Dane mają...
Akcelerometr wykrywa dwa polozenia w ktorych sila jest zblizona do sily grawitacji, generowane sa przerwania I inkrementuje sie licznik, to tak w skrocie... To juz mam zrobione. Pytanie moje dotyczylo przesylania danych za posrednictwem urzadzenia o.niskim poborze energii. Abstrahujac juz od projektu, moglbys sie wypowiedziec na temat rmf12b czy sie...
Jak chcesz mieć czas rzeczywisty to do projektu dodaj jakiś RTC. I tak już używasz I2C więc możę być DS3231. Definiujesz sobie zmienne przechowujące sekundy/minuty/godziny. Raz przy starcie odczytujesz czas z RTC i napełniasz swoje zmienne, p potem ewentualnie kontrolnie co minutę robisz korektę czasu wg RTC, DS3231 - jest bardzo dokładny. Można też...
Cześć, Chciałem pokazać co do tej pory mi się udało stworzyć i zapytać o sugestie, co można poprawić. Plany na przyszłość to rozbudowa do telemetrii. Układ będzie zamontowany w bolidzie Formuły Student do pomiarów np. położenia pedałów, temperatury opon, kąt skrętu kierownicy, prędkość obrotowa każdego koła. W przyszłości mogą dojść : tensometry, czujniki...
Witam bardzo serdeczenie, pisząc bibliotekę na akcelerometr ADXL345, na mikrokontrolerze STM32F103C8T6 (BluePill), napotkałem problem. Tak jak w temacie chodzi o "UsageFault_Handler" w który to program wskakuje zaraz po obsłudze funkcji "ADXL345_readReg " lub "ADXL345_writeReg " . Właściwie to tyle co udało mi się ustalić jak do tej pory :). Zwykle...
Kto zna mnie na forum, albo czytał moje artykuły, ten wie, że delikatnie rzecz ujmując Jeden standard, by wszystkimi rządzić Projektowanie układów z użyciem Arduino jest proste. Płytki Arduino i moduły rozszerzeń do nich mają standardowy kształt i rozstaw złączy, dzięki czemu możemy ułożyć całą wieżę z gotowych modułów z płytką Arduino na samym spodzie....
Dzięki za zainteresowanie tematem :) Może podkreślę to co napisałem w pierwszym poście. To co ma być w pchełce musi spełniać warunki: - koszt musi być minimalny, jeśli zmieścimy się w 5zł byłoby super, - mam bardzo, bardzo ... bardzo mało miejsca na PCB. Kilka dodatkowych elementów o rozmiarach 0603, to już bardzo duże wyzwanie, - w czasie czuwania...