IoT: DIY nyans ljus (5 / 9 steg)
Steg 5: Import och Pin Setup
#! / usr/bin/python
Importera tid
importera RPi.GPIO som GPIO
importera Pubnub från pubnub
Detta är all import som du behöver. RPi.GPIO kan du mappa stiften på din Pi. Vi kommer att använda tid och Pubnub. Tid att samordna färgförändringar i våra LED, och Pubnub till stream färgvärden till din PHue ljus.
Kom ihåg dessa Stifttilldelningar du skrev ner tidigare, nu behöver vi dem.
## Göra din pin uppdrag
red_gpio = 18
green_gpio = 23
blue_gpio = 24
Sedan kommer vi initiera våra pins med hjälp av funktionen "GPIO.setup". Vi måste deklarera allmänna ändamål Input/Output stiften som indata eller en utgång.
## Setup GPIO styrelsen och Pins
GPIO.setmode (GPIO. BCM) # BCM för GPIO numrering
GPIO.setup (red_gpio, GPIO. OUT)
GPIO.setup (green_gpio, GPIO. OUT)
GPIO.setup (blue_gpio, GPIO. OUT)
Funktionen "GPIO.setmode" berättar python vad pin numreringssystem som används. Se denna tråd för en kort beskrivning av alternativ. GPIO diagrammet jag används för att välja pin numberings används BCM kanal design. Om du har senare problem med denna del, försök användande GPIO. STYRELSEN alternativ. 'GPIO.setup' är där vi förklarar stiften som ingång eller utgång. Det andra alternativet är naturligtvis "GPIO. IN "som används när något liknande en sensor är tillbaka data till Pi.
## Init GPIO PWMs
Freq = 100 #Hz
RÖD = GPIO. PWM (red_gpio, Freq)
RED.start(0)
GRÖN = GPIO. PWM (green_gpio, Freq)
GREEN.start(0)
BLÅ = GPIO. PWM (blue_gpio, Freq)
BLUE.start(0)
Denna kod används för att ställa in din stift med Puls bredd Modulation. PWM är en metod för att generera en analog signal med hjälp av en digital källa. Den kodar ett meddelande till en pulserande signal. "Budskapet" i det här fallet är RGB-värden som var och en av våra pins kommer att sända till LED. Om du är intresserad kan du läsa mer om PWMs här.