Innehållsförteckning:

Kontrollera flera lysdioder med Python och din Raspberry Pi: s GPIO -stift: 4 steg (med bilder)
Kontrollera flera lysdioder med Python och din Raspberry Pi: s GPIO -stift: 4 steg (med bilder)

Video: Kontrollera flera lysdioder med Python och din Raspberry Pi: s GPIO -stift: 4 steg (med bilder)

Video: Kontrollera flera lysdioder med Python och din Raspberry Pi: s GPIO -stift: 4 steg (med bilder)
Video: ESP32 Turorial 1 - Introduction to SunFounder's ESP32 IoT Learnig kit Software and Arduino IDE 2024, Juli
Anonim
Kontrollera flera lysdioder med Python och din Raspberry Pi: s GPIO -stift
Kontrollera flera lysdioder med Python och din Raspberry Pi: s GPIO -stift

Denna instruktionsbok visar hur du styr flera GPIO -stift på din RaspberryPi för att driva fyra lysdioder. Det kommer också att introducera dig till parametrar och villkorliga uttalanden i Python.

Vår tidigare instruerbara användning av din Raspberry Pi: s GPIO -stift för att styra en lysdiod visar hur man slår på och stänger av en enda lysdiod med kommandot GPIO.output. Denna instruktionsbok bygger på den kunskapen för att lära dig hur du får mer kontroll över din krets.

Steg 1: Vad du behöver

Vad du kommer att behöva
Vad du kommer att behöva
Vad du kommer att behöva
Vad du kommer att behöva

- En RaspberryPi med Raspbian redan installerad. Du måste också kunna komma åt Pi med en bildskärm, mus och tangentbord eller via fjärrskrivbord. Du kan använda vilken modell som helst av Raspberry Pi. Om du har en av Pi Zero -modellerna kanske du vill löda några rubrikstift till GPIO -porten.

- Röd, blå, gul och grön lysdiod

- En lödlös prototypbrödbräda

- 4 x 330 ohm motstånd

- Några tröjor från man till kvinna

Steg 2: Bygg din krets

Bygg din krets
Bygg din krets
Bygg din krets
Bygg din krets

Bygg ovanstående krets på din brödbräda och se till att ingen av komponentledningarna vidrör och att lysdioderna är anslutna på rätt sätt.

Hur identifierar du de positiva och negativa ledningarna (polariteten) på dina lysdioder? Om du tittar noga på en LED ser du att den har två små bitar av metall inuti det färgade höljet. Dessa kallas för anoden och katoden. Katoden är den största av de två och är också ansluten till lysdiodernas negativa ledning.

När du har kontrollerat din krets ansluter du bygelkablarna till din Raspberry Pi: s GPIO -stift genom att följa diagrammet ovan.

Steg 3: Skapa ett skript för att styra och testa lysdioderna

Skapa ett skript för att styra och testa lysdioderna
Skapa ett skript för att styra och testa lysdioderna

Öppna IDLE på din Raspberry Pi (Meny> Programmering> Python 2 (IDLE)).

Öppna ett nytt projekt, gå till Arkiv> Ny fil. Skriv sedan (eller kopiera och klistra in) följande kod:

importera RPi. GPIO som GPIO

importtid GPIO.setmode (GPIO. BCM) GPIO.setup (17, GPIO. OUT) GPIO.setup (18, GPIO. OUT) GPIO.setup (22, GPIO. OUT) GPIO.setup (23, GPIO. OUT) GPIO.output (17, True) time.sleep (3) GPIO.output (17, False) time.sleep (1) GPIO.output (18, True) time.sleep (3) GPIO.output (18, False) time.sleep (1) GPIO.output (22, True) time.sleep (3) GPIO.output (22, False) time.sleep (1) GPIO.output (23, True) time.sleep (3) GPIO. utgång (23, falskt)

Spara ditt projekt som multilights.py (Arkiv> Spara som) i mappen Raspberry Pis Documents.

Öppna Terminal på din Raspberry Pi (Meny> Tillbehör> Terminal) och navigera till din mapp Dokument genom att skriva följande:

cd/home/pi/Documents

Du kan nu köra ditt nya skript genom att skriva följande:

python multilights.py

Lamporna kommer i tur och ordning att slås på och av. Ovanstående skript använder kommandot time.sleep för att skapa en paus mellan varje steg, vilket gör att varje lampa lyser i 3 sekunder och väntar i 1 sekund innan nästa lampa tänds.

Steg 4: Lägga till flexibilitet genom att använda parametrar och villkorliga uttalanden

Genom att använda parametrar och villkorliga uttalanden kan vi göra ovanstående skript mycket mer flexibelt.

En parameter låter dig lagra ett värde som du kan använda senare i skriptet. De vanligaste typerna av värden är strängar (text), heltal (heltal) eller floats (decimaltal).

Ett villkorligt uttalande avgör om ett kodesegment ska köras eller inte genom att kontrollera om ett visst villkor är uppfyllt. Villkoret kan också innefatta parametrar.

Öppna IDLE på din Raspberry Pi och öppna ett nytt projekt (Arkiv> Ny fil). Skriv sedan följande. Var noga med att se till att alla indrag (flikar) ingår med hjälp av tabbtangenten:

importera RPi. GPIO som GPIO

importtid från sys import argv whichled = argv [1] ledaction = argv [2] LEDa = 17 LEDb = 18 LEDc = 22 LEDd = 23 GPIO.setmode (GPIO. BCM) GPIO.setup (LEDa, GPIO. OUT) GPIO. setmode (GPIO. BCM) GPIO.setup (LEDb, GPIO. OUT) GPIO.setmode (GPIO. BCM) GPIO.setup (LEDc, GPIO. OUT) GPIO.setmode (GPIO. BCM) GPIO.setup (LEDd, GPIO. OUT) if ledaction == "off": if whichled == "a": GPIO.output (LEDa, False) if whled == "b": GPIO.output (LEDb, False) if whled == "c": GPIO.output (LEDc, False) if whichled == "d": GPIO.output (LEDd, False) if whled == "all": GPIO.output (LEDa, False) GPIO.output (LEDb, False) GPIO. output (LEDc, False) GPIO.output (LEDd, False) if ledaction == "on": if whichled == "a": GPIO.output (LEDa, True) if whled == "b": GPIO.output (LEDb, True) ifwhled == "c": GPIO.output (LEDc, True) if whichled == "d": GPIO.output (LEDd, True) if whled == "all": GPIO.output (LEDa, True) GPIO.output (LEDb, True) GPIO.output (LEDc, True) GPIO.output (LEDd, True)

Spara ditt projekt som controllight.py (Arkiv> Spara som) i mappen Dokument. Öppna nu Terminal (Meny> Tillbehör> Terminal) och skriv följande kommando:

python controllight.py b på

Den andra lysdioden ska tändas. Skriv nu följande:

python controllight.py b av

Den andra lysdioden ska släckas.

I rad 5, 6, 7 & 8 skapar vi parametrarna LEDa, LEDb, LEDc och LEDd för att lagra vilken GPIO -pin vi har anslutit till vilken LED. Detta gör att vi kan använda alternativa GPIO -stift utan att behöva göra väsentliga ändringar i skriptet.

Till exempel, om vi skulle ansluta de första lysdioderna till Pin 3 (GPIO 2) istället, skulle vi bara behöva ändra rad 5 till följande:

LEDa = 2

Rad 4 lagrar de värden som du skrev efter controllight.py i parametrarna som (c) och ledaction (on). Skriptet använder sedan dessa parametrar, tillsammans med ett antal villkorliga uttalanden för att bestämma vilken lysdiod som ska kontrolleras och om den ska slås på eller av.

Rad 16 (om ledaction == "på":) är ett villkorligt uttalande. De indragna raderna som följer detta uttalande körs bara om uttalandets villkor är uppfyllt. I detta scenario är villkoret att ledaction innehåller texten på.

Genom att läsa igenom skriptets andra villkorliga uttalanden, kan du förutsäga vad som kommer att hända när du skriver följande kommando i Terminal?

python controllight.py allt på

Varför inte ge det en chans och publicera ditt svar i kommentarfältet nedan.

Rekommenderad: