Arduino Polska Forum
Komunikacja BMP280 MPU6050 i NRF24l01 - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Instalacja i rozwiązywanie problemów (https://forum.arduinopolska.pl/dzial-instalacja-i-rozwi%C4%85zywanie-problem%C3%B3w)
+--- Wątek: Komunikacja BMP280 MPU6050 i NRF24l01 (/watek-komunikacja-bmp280-mpu6050-i-nrf24l01)



Komunikacja BMP280 MPU6050 i NRF24l01 - Scislov - 24-11-2019

Witam. Buduję samolot sterowany przez moduł NRF24l01 i arduino pro mini. chcę jednocześnie, aby arduino używało czujników ciśnienia BMP280 i położenia MPU6050. Jednak arduino ma  tylko po jednej magistrali SPI i I2c, a wifi używa SPI, MPU6050 I2c, a BMP280 SPI lub Ic2. Czy da się w jakoś sposób komunikować jednocześnie ze wszystkimi czujnikami? Można w jakoś sposób używać multipleksera, aby wybierał czujnik z którego mają być odczytane pomiary, lub użyć innych pinów i programowo napisać emulator jednej z magistrali?


RE: Komunikacja BMP280 MPU6050 i NRF24l01 - Agregacik - 24-11-2019

Do magistrali I2C można podłączyć wiele urządzeń jednocześnie. Każde urządzenie ma swój adres. No chyba, że adresy się pokrywają i nie można je zmienić. Do SPI też możesz podłączyć wiele urządzeń i wybierasz z którym chcesz" rozmawiać"szynami SS osobnymi dla każdego urządzenia.
Tu do poczytania o SPI https://forbot.pl/blog/kurs-stm32-9-spi-w-praktyce-ekspander-io-id8466


RE: Komunikacja BMP280 MPU6050 i NRF24l01 - Scislov - 24-11-2019

Czyli jeżeli autorzy bibliotek czujników przewidzieli kilka urządzeń jednocześnie, można bez zmian w programie połączyć czujniki razem?


RE: Komunikacja BMP280 MPU6050 i NRF24l01 - Agregacik - 24-11-2019

W zasadzie tak, można podłączyć czujniki równolegle. Adresy czujnikom nadają producenci. Niektóre czujniki posiadają możliwość zmiany tego adresu przez zwarcie do masy odpowiednich wyprowadzeń. Biblioteki mają zwykle możliwość zmiany tego adresu, jak producent pozwala na to. Jak nie ma, to trzeba pogrzebać w bibliotece, ale trzeba znać adres urządzenia. Do "wykrywania" adresu I2C służą programiki, skanery I2C.


RE: Komunikacja BMP280 MPU6050 i NRF24l01 - elvis - 24-11-2019

Informacja o adresach jest w dokumentacji czujników - dla BMP280 to 0x50, natomiast MPU6050 może mieć adres 0x68 lub 0x69. Nie powinno być więc problemów z komunikacją przy użyciu jednego interfejsu i2c. Oczywiście nie będzie to "jednoczesne" odczytywanie wszystkich wyników, ale spokojnie można je odczytać "jeden-po-drugim".