Przeszukaj forum
Pokazywanie wyników dla tagów 'I2C MPU6050'.
Znaleziono 1 wynik
-
MPU6050 Problem z komunikacją I2C z modułem GY-521 MPU6050
MarcinN opublikował temat w Arduino i ESP
Witam, jest to mój pierwszy wpis na tym forum dlatego witam wszystkich bardzo serdecznie. Swoją przygodę z Arduino zacząłem około 5 lat temu, przez ten czas udało mi się zgromadzić wiele czujników, modułów oraz rozwinąć się w dziedzinie programowania i elektroniki. Dodam jeszcze, że wszystko to traktuję jako jedno z wielu hobby, które w "zdrowy" sposób zapełnia mój wolny czas. To tyle o mnie 🙂 Dawno temu zakupiłem moduł akcelerometru GY-521 oparty o scalak MPU-6050, przeleżał dość długo nieużywany (właściwie nigdy nie sprawdzony) aż niedawno nadszedł czas na praktyczne jego wykorzystanie. Do obsługi tego modułu posłużyłem się gotową biblioteką znalezioną na blogu pana Korneliusza (jarzebski.pl) adres: https://github.com/jarzebski/Arduino-MPU6050. Po załadowaniu biblioteki wziąłem się do podłączenia modułu z płytką Arduino Nano. Scalak z modułu pracuje pod napięciem 3,3V, jednak zamontowany jest w nim stabilizator napięcia stąd został podłączony bezpośrednio pod 5V z Arduino. W module piny SDA i SCL są "fabrycznie" podciągnięte na płytce rezystorami 2,2kΩ pod 3,3V. Jako że I2C w Arduino działa w konfiguracji otwarty dren zrezygnowałem z konwertera stanów logicznych podłączając bezpośrednio piny A5 i A4 do akcelerometru. Reasumując podłączenie wygląda w sposób następujący: 5V -> VCC GND -> GND A4 -> SDA A5 -> SCL Nadszedł czas na pierwszy program, był to gotowy przykład z wyżej wymienionej biblioteki MPU6050_gyro_pitch_roll_yaw gdyż idealnie nadawał się do krótkiej modyfikacji i zmontowania układu już na gotowo. Po wgraniu i przetestowaniu byłem bardzo mile zaskoczony stabilnością działania tego modułu gdyż wszystkie wartości wyświetlane na SerialMonitorze odpowiadały rzeczywistości. W pełni zadowolny wziąłem się za szybką modyfikacje, która polegała na tym, że gdy moduł zostanie odchylony o co najmniej 5 stopni w jednej z trzech osi to zostanie uruchomiony alarm. Wszystko przebiegło bez żadnych problemów, program działa bardzo stabilnie ale... tylko wtedy kiedy jest podłączony do komputera przez USB a na SerialMonitorze wyświetlam wartości kąta odchylenia. Nie mogę pojąć tego ewenementu i nie mam pojęcia co robię źle. Sytuacja wygląda tak, zamówiłem nowy, taki sam moduł - efekt ten sam, wgrałem program na inna płytkę Nano - problem ten sam co wcześniej, zamieniłem Nano na Uno - nic to nie zmieniło. Po wielu godzinach spędzonych na szukaniu odpowiedzi w internecie oraz rozmyślaniu o rozwiązaniu i kolejnych próbach uruchomienia stwierdziłem, że sprawdzę czy moduł cokolwiek "mówi" do Arduino kiedy komputer "nie patrzy". Nie posiadam oscyloskopu więc wymyśliłem bardzo prosty test z diodami. Moduł leży poziomo: kiedy obrót w prawo - uruchamia prawą diodę, kiedy w lewo - lewą. Tu problem był dokładnie taki sam, kiedy Arduino wpięte jest do komputera i uruchomiony jest SerialMonitor to działa bez zarzutu, bardzo stabilnie. Kiedy uruchamiane jest z powerbanka, czy to z gniazda DC baterią 9V (w przypadku UNO) czy chociażby przetwornicą DC DC ustawioną na 7,5V wpiętą pod Vin to diody przy obrocie nie świecą albo wariują. Dodam też, że po wpięciu płytki Arduino do komputera w przypadku, w którym to nie uruchamiam SerialMonitora, raz działa a raz nie, z SerialMonitorem za każdym razem działa poprawnie. Na obecną chwilę skończyły mi się pomysły, próbowałem kompilacji na różnych wersjach AdruinoIDE, wywalałem z kodu cały Serial do komunikacji z komputerem i nic. Czy ktoś z was spotkał się z takim problemem z modułem GY-521? Bardzo proszę o pomoc lub sugestie. Pozdrawiam- 1 odpowiedź
-
- 1
-
- I2C MPU6050
- GY-521
-
(i 2 więcej)
Tagi: