Étape 6: Capteur de gamme SRF08
Il en fil exactement la même manière qu’avant, avec puissance, SDA et SCL branché sur la Pi. J’ai trouvé que ce capteur ne fonctionnerait pas hors tension 3.3V, mais encore une fois, je ne supporter aucune responsabilité pour vous mettre 5V à travers vos tiges de Pi. Vous pouvez même laisser le module boussole en plus, parce que I2C peut gérer plusieurs appareils sur une seule ligne. Le schéma de câblage peut être vu ici : http://www.robot-electronics.co.uk/htm/srf08tech.shtml.
Exécuter i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: 70 -- -- -- -- -- -- --
Notez que j’ai laissé le module compas branché.
Vous devrez ensuite le fichier python suivant. Il est plus complexe, car vous devez écrire une commande pour le capteur pour qu’il puisse commencer la lecture.
importer smbus #SRF08 NÉCESSITE 5V def write(value) : def lightlevel() : range() def : While True :
moment de l’importation
bus = smbus. SMBus(0)
adresse = 0 x 70
bus.write_byte_data (adresse, 0, valeur)
Retourne -1
lumière = bus.read_byte_data (adresse, 1)
retour de lumière
range1 = bus.read_byte_data (adresse, 2)
Range2 = bus.read_byte_data (adresse, 3)
range3 = (range1 << 8) + range2
range3 retour
Write(0x51)
Time.Sleep(0.7)
lightlvl = lightlevel()
RNG = range()
impression lightlvl
imprimer le rng
Cet exemple affiche le niveau de lumière sur le capteur de lumière intégré et la gamme actuelle, en cm.