Innehållsförteckning:
- Steg 1: Vad du behöver
- Steg 2: Bygg din krets
- Steg 3: Skapa ett skript för att styra och testa lysdioderna
- Steg 4: Lägga till flexibilitet genom att använda parametrar och villkorliga uttalanden
Video: Kontrollera flera lysdioder med Python och din Raspberry Pi: s GPIO -stift: 4 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:41
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
- 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 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
Ö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:
Kontrollera lysdioder med din Android - Arduino-Bluetooth-modul: 5 steg
Kontrollera lysdioder med din Android | Arduino-Bluetooth-modul: Handledningen ska hjälpa oss att bygga en krets och styra den via mobilappen. Låt oss säga att du kommer att kunna styra lamporna i ditt hem? Så, inte riktigt lamporna, men för korthetens skull kommer vi att styra en LED för tillfället och du kan lägga till alla ki
ESP8266 NODEMCU BLYNK IOT Handledning - Esp8266 IOT Använda Blunk och Arduino IDE - Kontrollera lysdioder över Internet: 6 steg
ESP8266 NODEMCU BLYNK IOT Handledning | Esp8266 IOT Använda Blunk och Arduino IDE | Kontrollera lysdioder över internet: Hej killar i denna instruktion kommer vi att lära oss hur man använder IOT med vår ESP8266 eller Nodemcu. Vi kommer att använda blynk -appen för det. Så vi kommer att använda vår esp8266/nodemcu för att styra lysdioderna över internet. Så Blynk -appen kommer att anslutas till vår esp8266 eller Nodemcu
Kontrollera åtkomst till Arduino YÚN med MySQL, PHP5 och Python: 11 steg (med bilder)
Kontrollera åtkomst till Arduino YÚN med MySQL, PHP5 och Python: Hej vänner! Som ni vet, i september den nya premiärskölden för Arduino, Arduino YUN. Denna lilla vän har ett inbäddat Linux -system som vi kan köra allt du kan tänka dig (åtminstone hittills). Även om det finns väldigt lite information
N: Hur man gör en akryl- och LED-skulptur i flera lager med variabla belysningsnivåer: 11 steg (med bilder)
N: Hur man gör en mångskiktad akryl- och LED-skulptur med variabla belysningsnivåer: Här kan du ta reda på hur du gör dig helt egen som gjord för utställningen www.laplandscape.co.uk curated by art/design group Lapland. Fler bilder kan ses på flickr Denna utställning pågår från onsdag 26 november - fredag 12 december 2008 inklusive
Kopiera och klistra in och komma åt filer mellan flera datorer: 3 steg
Kopiera och klistra in och få åtkomst till filer mellan flera datorer: Jag hittade precis en webbplats som tillåter människor att kopiera och klistra in text, bilder, videor etc. mellan flera datorer. Det låter dig också skapa ett anslagstavla, ladda upp filer och skriva ut din webbsida. Och det bästa är att du inte ens har