Skocz do zawartości

I2C Python - odczytywanie MPU9150


Nick223

Pomocna odpowiedź

Witam

Mam taki problem. Nie rozumiem za bardzo jak działa I2C, nie jestem biegły w sprawach elektroniki i programowania, aczkolwiek trochę rozumiem. Podłączyłem MPU9150 do mojej maliny 2, i2cdetect pokazuje adres czujnika i tutaj akurat wszystko działa. Nie znalazłem biblioteki i nie rozumiem też do końca w jakiej kolejności wartości wpisują się do danych rejestrów itp., ale postanowiłem chociaż spróbować z pomocą internetu coś samemu napisać. Na Arduino mniej więcej jest wszystko ok, ale na malinie już nie. Python 2.7

import smbus

bus = smbus.SMBus(1)
def write(val):
   bus.write_byte_data(0x68, 0, val)

read = bus.read_byte_data(0x68, 1)

def read_X():
   write(0x43)
   x1=read
   write(0x44)
   x2=read
   X = x1+x2 << 8
   print(X)

while 1:
   read_X()

Proszę mi wybaczyć niewiedzę, ale ciężko znaleźć coś wytłumaczonego w sposób dla mnie przystępny.

Zawsze zwraca stałą wartość. Podobnie z jakimś randomowym RTC. Będzie mi ktoś w stanie wytłumaczyć co robię źle ? Piszę (i kod i post) w celach wyłącznie edukacyjnych.

Dziękuję

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.