Étape 5: Importations et Pin Setup
#!/usr/bin/python import time import RPi.GPIO as GPIO from pubnub import Pubnub
Ce sont toutes les importations dont vous aurez besoin. RPi.GPIO vous permet de cartographier les goupilles sur votre facture pro forma. Nous utiliserons le temps et Pubnub. Temps pour coordonner les changements de couleur dans nos LED et Pubnub aux valeurs de couleur du flux à votre lumière PHue.
Rappelez-vous ces assignations des broches que vous avez notées plus haut, maintenant nous avons besoin d’eux.
## Make your pin assignments red_gpio = 18 green_gpio = 23 blue_gpio = 24
Puis on instanciera nos goupilles en utilisant la fonction « GPIO.setup ». Il faut déclarer les broches General Purpose Input/Output comme une entrée ou une sortie.
## Setup GPIO Board and Pins GPIO.setmode(GPIO.BCM) # BCM for GPIO numbering GPIO.setup(red_gpio, GPIO.OUT) GPIO.setup(green_gpio, GPIO.OUT) GPIO.setup(blue_gpio, GPIO.OUT)
La fonction « GPIO.setmode » dit python quelle broche système de numérotation est utilisée. Voir ce fil pour une brève description des options. Le diagramme GPIO que j’ai utilisé pour sélectionner les numéros de NIP utilisé la conception de canal BCM. Si vous avez des problèmes avec cette partie plus tard, essayez d’utiliser le GPIO. Option de pension. « GPIO.setup » est où nous déclarons les broches comme entrée ou sortie. L’autre option est bien sûr « GPIO. IN' qui est utilisé lorsque quelque chose comme un capteur est retourner des données à la Pi.
## Init the GPIO PWMs Freq = 100 #Hz RED = GPIO.PWM(red_gpio, Freq) RED.start(0) GREEN = GPIO.PWM(green_gpio, Freq) GREEN.start(0) BLUE = GPIO.PWM(blue_gpio, Freq) BLUE.start(0)
Ce code est utilisé pour mettre en place vos NIP à l’aide de Pulse Width Modulation. PWM est une méthode pour générer un signal analogique à l’aide d’une source numérique. Il encode un message en un signal de pulsation. Le « message » est dans ce cas, le RVB valeurs que chacun de nos pins enverra à la LED. Si vous êtes intéressé vous pouvez en savoir plus sur ce ici.