8_-_pas_de_grovepi_comment_faire
Ceci est une ancienne révision du document !
Vous n'avez pas de GroPi ?
Voici une solution avec un kit RaspBerry Pi 0 et une carte Arduino munie d'un shield Grove.
Il faut récupérer le fichier C arduino de la grove Pi et le téleverser dans l'arduino.
cd /home/pi git clone https://github.com/DexterInd/GrovePi.git cd GrovePi/Firmware/Source/v1.2/grove_pi_v1_2_7/
Dans ce dossier il faut copier toutes les librairies(*.cpp *.h) dans un dossier Grovepi dans votre espace perso Arduino.
Ensuite ouvrir le fichier grove_pi_v1_2_7.ino et le téleverser dans l'arduino.
Côté câblage:
Raspberry Arduino GPIO2(SDA) A4 (SDA) GPIO3(SCL) A5 (SCL) 5V Vref GND GND
Si votre raspberry a été paramétré pour fonctionner avec Grovepi la carte est maintenant reconnue.
i2cdetect -y 1
Vous affichera l'adresse de la carte Arduino (0x04).
Tout le travail réalisé avec Mqtt/HomeAssistant/Freeboard/NodeRed fonctionnera tout aussi bien avec votre carte UNO.
import time
import smbus
bus = smbus.SMBus(1)
p_version = 3
def read_i2c_byte(address):
for i in range(retries):
try:
return bus.read_byte(address)
except IOError:
print("IOError")
return -1
def write_i2c_block(address,block):
for i in range(retries):
try:
return bus.write_i2c_block_data(address,1,block)
except IOError:
print("IOError")
return -1
def read_i2c_block(address):
for i in range(retries):
try:
return bus.read_i2c_block_data(address,1)
except IOError:
print("IOError")
return -1
def digitalWrite(pin, value):
write_i2c_block(address, dWrite_cmd + [pin, value, unused])
return 1
def pinMode(pin, mode):
if mode == "OUTPUT":
write_i2c_block(address, pMode_cmd + [pin, 1, unused])
elif mode == "INPUT":
write_i2c_block(address, pMode_cmd + [pin, 0, unused])
return 1
#main
retries = 10
unused = 0
dRead_cmd = [1]
dWrite_cmd = [2]
dht_temp_cmd=[40]
pMode_cmd=[5]
address = 0x04
pin=3
loop=0
pinMode(pin, "OUTPUT")
while True:
loop = loop + 1
print (loop, pin, loop % 2)
digitalWrite(pin, loop % 2)
time.sleep(1)
8_-_pas_de_grovepi_comment_faire.1525009725.txt.gz · Dernière modification : (modification externe)

