Stap 6: SRF08 Range Sensor
Draad in op precies dezelfde manier als voorheen, met macht, SDA en SCL op de Pi aangesloten. Ik vond dat deze sensor niet uit 3.3V werken zou, maar nogmaals, ik dragen geen verantwoordelijkheid voor u zetten 5V door uw Pi pinnen. U kunt zelfs laten de kompas module in ook, omdat I2C kan omgaan met meerdere apparaten op één regel. Het schakelvoorbeeld kan hier gezien worden: http://www.robot-electronics.co.uk/htm/srf08tech.shtml.
Voer i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 een b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: 70 -- -- -- -- -- -- --
Merk op dat ik het kompas module aangesloten hebt verlaten.
Vervolgens moet u het volgende python-bestand. Het is complexer, omdat je schrijven een opdracht op de sensor moet te krijgen om te beginnen met lezen.
importeren van smbus #SRF08 VEREIST 5V def write(value): def lightlevel(): def range(): terwijl juist:
importeren
bus = smbus. SMBus(0)
adres = 0x70
bus.write_byte_data (adres, 0, waarde)
retourneren -1
licht = bus.read_byte_data (adres, 1)
licht terug
Bereik1 = bus.read_byte_data (adres, 2)
Range2 gevuld = bus.read_byte_data (adres, 3)
range3 = (range1 << 8) + Range2 gevuld
terug range3
Write(0x51)
time.Sleep(0.7)
lightlvl = lightlevel()
RNG = range()
Afgedrukt van lightlvl
afdrukken van rng
Dit zal het lichtniveau bedrukken met de ingebouwde lichtsensor en het stroombereik, in cm.