• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Komunikacja BMP280 MPU6050 i NRF24l01
#1
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?
 
Odpowiedź
#2
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-...-io-id8466
 
Odpowiedź
#3
Czyli jeżeli autorzy bibliotek czujników przewidzieli kilka urządzeń jednocześnie, można bez zmian w programie połączyć czujniki razem?
 
Odpowiedź
#4
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.
 
Odpowiedź
#5
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".
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości