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 : 2020/09/26 15:15 (modification externe)