Raspberry Pi I2C (Python) (5 / 7 steg)
Steg 5: Exempel 1: CMPS03 kompass modul
För att använda modulen CMPS03 kompass, ansluta strömmen till V + och 0V, från Pi. Jag använde den 5V line, som de rekommenderar inte gör eftersom det kan skada din pi, det fungerade för mig, och har orsakat nu skador, men jag är inte ansvarig om ditt fries.
Anslut sedan raderna SDA och SCL till Pi SDA och SCL, och du är redo att rulla. Kopplingsschema visas på http://www.robot-electronics.co.uk/htm/cmps3tech.htm.
När du har anslutit det, att köra kommandot "i2cdetect -y 0". I mitt fall återvände detta:
0 1 2 3 4 5 6 7 8 9 en b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Detta visar att modulen är på adress 0x60. Sedan behöver du en python-fil:
importera smbus def bearing255(): def bearing3599(): samtidigt sant:
Importera tid
Bus = smbus. SMBus(0)
Adress = 0x60
Bear = bus.read_byte_data (adress, 1)
returnera Björn
bear1 = bus.read_byte_data (adress, 2)
bear2 = bus.read_byte_data (adress, 3)
Bear = (bear1 << 8) + bear2
Bear = Björn/10,0
returnera Björn
försedda med = bearing3599() #this returnerar värdet med 1 decimal i grader.
bear255 = bearing255() #this returnerar värdet som ett byte mellan 0 och 255.
skriva ut bäring
skriva ut bear255
Time.Sleep(1)
Detta program bör sparas som något, men lägga till ".py" på slutet. Kör sedan kommandot med sudo python whateveryoucalledit.p och du borde få värden skrivs till din skärm i en lång lista.