Schritt 4: Schreiben des Programms
Bevor wir in sie zu erhalten, ist es wichtig zu beachten, dass Einzug in die Python-Sprache wichtig ist. Andere Sprachen verwenden Satzzeichen wie Klammern, um dem Programm den Auftrag, die Dinge laufen zu sagen; Python nutzt Einzug. Aus diesem Grund können Sie möglicherweise nicht einfach kopieren und fügen den Code von dieser Seite zu Ihrem Programm, wie die Formatierung nicht vollständig erhalten werden kann. Bitte zögern Sie nicht zu folgen und Ihren eigenen Code zu schreiben, wie Sie gehen, oder einfach mein Beispielcode hier herunterladen.
Wenn Sie neu zu programmieren, ist es wichtig zu erwähnen, dass es nicht eine Möglichkeit, ein Programm zu schreiben. Menschen haben ihren eigenen Stil, aber es kommt vor allem darauf an wie Sie denken über ein Problem zu lösen. Ich geben Beispielcode und Zeile für Zeile erklären, aber bitte wissen, dass dies nicht die einzige Möglichkeit, exakte dasselbe Ergebnis zu erzielen.
import sys, time
Hier, importieren wir zwei integrierte Bibliotheken - Funktionen, Variablen, etc., die bereits definiert wurden, und wir fordern können.
import RPi.GPIO as GPIO
Dies ist eine Raspbian-Bibliothek, die uns erlaubt Python zur Kontrolle GPIO-Pins zu verwenden.
redPin = 11 greenPin = 13 bluePin = 15
Jetzt definieren wir einige Variablen - welche Pins wir auf die RGB-führen verbinden. Dieser Schritt ist nicht notwendig, aber es erleichtert die Pins ändern Sie bei Bedarf.
def blink(pin):
Hier definieren wir eine Funktion. Eine Funktion ist eine Reihe von Schritten, die der Computer in der Reihenfolge ausgeführt werden, die wir ihm geben. Diese besondere Funktion erfordert eine Variable zur Ausführung: die Anzahl der Pin, die wir beleuchten wollen.
GPIO.setmode(GPIO.BOARD)
Wir starten unsere Funktion durch verweisen auf eine unserer Bibliotheken, GPIO. Dann, sagen wir es, dass wir wollen, wählen eine Namenskonvention für die GPIO-Pins (davon gibt es zwei), damit das Programm, welche wir uns weiß zu beziehen. Dann, sagen wir es das "Board" Übereinkommen (anstatt der BMC-Konvention), wieder die GPIO-Bibliothek verwenden.
GPIO.setup(pin, GPIO.OUT)
Jetzt sagen, wieder einmal mit der GPIO-Bibliothek, wir die Pi, dass wir einen Stift verwenden möchten. Aber wir müssen zuerst geben die pin und wie wir wollen, es zu benutzen - Eingang oder Ausgang. "Pin" ist hier die Variable, die blink(pin) gesteckt werden.
GPIO.output(pin, GPIO.HIGH)
Nun, da die Pin eingerichtet wurde, schaltet dieser Linie. Jetzt sollten Sie die Syntax erkennen; Wir verwenden hier die gleiche Variable "Pin" und die GPIO-Bibliothek verwenden, um den Stift auf einen Wert von "High" gesetzt. Im Falle von GPIO-Pins, "hohe" Werte ergeben in 3,3V übergeben wird, oder "on", während eine "niedrige" Ergebnisse im 0v übergebenen Wert oder "off".
Jetzt gehen wir definieren eine Funktion, um die Lichter auszuschalten. Es ist fast identisch zur vorherigen Funktion aussehen, nur wir werden die Stifte wieder auf niedrig festlegen.
DEF turnOff(pin): def turnOff(pin): GPIO.setmode(GPIO.BOARD) GPIO.setup(pin, GPIO.OUT) GPIO.output(pin, GPIO.LOW)
Wir müssen definieren einige spezifische Funktionen in Farbe mit den Funktionen, die wir gerade gemacht. Daran erinnern Sie, dass wir Pins 11, 13 und 15 für rot, grün und blau verwenden. Wir beginnen mit Funktionen, die Lichter einschalten. Mit dieser Art von Funktion benötigen nicht wir alle Parameter, so dass die Klammern leer bleiben; Aufruf dieser Funktion später im Programm wird es einfach ausführen.
def redOn(): blink(redPin)
Hier geben wir der "Blink" Funktion eine Pin-Nummer zu verwenden, 11. Wenn wir redOn() aufrufen, startet unsere Blink-Funktion mit "Pin" ersetzt durch "RedPin" ausführen. Daran erinnern Sie, dass früher, wir RedPin gleich 11 festgelegt.
Nun tun wir das gleiche für den Rest der Farben.
def greenOn(): blink(greenPin) def blueOn(): blink(bluePin)
Denken Sie daran, dass beim Umgang mit Licht, gelb erfolgt durch Mischen von rot mit grün, Cyan, grün und blau, Magenta mit rot und blau und weiß durch die Kombination aller drei mit.
def yellowOn(): blink(redPin) blink(greenPin) def cyanOn(): blink(greenPin) blink(bluePin) def magentaOn(): blink(redPin) blink(bluePin) def whiteOn(): blink(redPin) blink(greenPin) blink(bluePin)
Schließlich schreiben wir die Funktionen um die Lichter auszuschalten. Wiederum werden die Syntax ähnelt der oben genannten Funktionen.
def redOff(): turnOff(redPin) def greenOff(): turnOff(greenPin) def blueOff(): turnOff(bluePin) def yellowOff(): turnOff(redPin) turnOff(greenPin) def cyanOff(): turnOff(greenPin) turnOff(bluePin) def magentaOff(): turnOff(redPin) turnOff(bluePin) def whiteOff(): turnOff(redPin) turnOff(greenPin) turnOff(bluePin)
Jetzt sind wir bereit, unsere wichtigste Funktion zu definieren; eine Schleife, die ständig Fragen, für die Benutzereingabe und reagieren, indem Sie verschiedene Funktionen aufrufen. In diesem Fall wird der Benutzer Farben aktivieren bzw. deaktivieren können. Dieses Programm ist geschrieben, so dass nur wenige vorgegebene Eingaben akzeptiert wird. Andernfalls wird es nichts zu tun und eine entsprechende Meldung angezeigt.
Wieder bitten wir nicht für alle Variablen mit dieser Funktion, so dass die Klammern leer bleiben. "while True" im Wesentlichen "während das Programm ausgeführt wird, dies zu tun", sagt damit es läuft ständig, bis wir den Vorgang beenden.
def main(): while True: cmd = raw_input("Choose an option:")
Wir definieren eine neue Variable "Cmd" um später verwenden, und legen Sie es auf die Eingabe des Benutzers. Es wird auch ständig fordert den Benutzer um eine Option auszuwählen.
Eine if-Anweisung, die nur ausgeführt werden, wenn genau die Benutzereingaben entspricht jetzt den Text innerhalb der Anführungszeichen. Beachten Sie, dass hier verwenden wir zwei "gleich" Symbole. In Python, und in der Tat die meisten Sprachen dient ein einzelnes "gleich", ändern Sie den Wert einer Variablen, während Doppel verwendet werden, zu vergleichen, ob Variable Werte zueinander passen.
if cmd == "red on": redOn()
"Elif" steht für "elseif". Diese Stifte auf die früheren "If"-Anweisung und fügt neue Parameter, ermöglicht es uns, eine Kette von "elseif" Aussagen leicht erstellen.
elif cmd == "red off": redOff() elif cmd == "green on": greenOn() elif cmd == "green off" greenOff() elif cmd == "blue on": blueOn() elif cmd == "blue off": blueOff() elif cmd == "yellow on": yellowOn() elif cmd == "yellow off": yellowOff() elif cmd == "cyan on": cyanOn() elif cmd == "cyan off": cyanOff() elif cmd == "magenta on": magentaOn() elif cmd == "magenta off": magentaOff() elif cmd == "white on": whiteOn() elif cmd == "white off": whiteOff() else: print("Not a valid command.") return
Mit unserer letzten "else"-Anweisung wenn der Benutzer versucht, etwas anderes als einen der oben genannten Befehle eingegeben wird es dem Benutzer sagen, dass es einen ungültigen Befehl. Das letzte, was, das die Funktion muss, ist dass die "Rückkehr", damit das Programm weiß, wann eine Schleife.
main()
Dies ist die letzte Zeile des Codes. Wenn das Programm ausgeführt wird, wird diese Linie nennen die Hauptfunktion, die wir gerade definiert und die Schleife wird festgelegt.