Tartalomjegyzék:

Több LED vezérlése Python és a Raspberry Pi GPIO csapjaival: 4 lépés (képekkel)
Több LED vezérlése Python és a Raspberry Pi GPIO csapjaival: 4 lépés (képekkel)

Videó: Több LED vezérlése Python és a Raspberry Pi GPIO csapjaival: 4 lépés (képekkel)

Videó: Több LED vezérlése Python és a Raspberry Pi GPIO csapjaival: 4 lépés (képekkel)
Videó: Ventilátor programozása - Iskolatévé: Raspberry Pi, 5. rész 2024, Július
Anonim
Több LED vezérlése a Python és a Raspberry Pi GPIO csapjaival
Több LED vezérlése a Python és a Raspberry Pi GPIO csapjaival

Ez az utasítás bemutatja, hogyan vezérelhet több GPIO -tűt a RaspberryPi készüléken 4 LED táplálására. Ezenkívül bemutatja a Python paramétereit és feltételes állításait.

Korábbi utasításunk a Raspberry Pi GPIO csapjainak használatáról a LED vezérlésére bemutatja, hogyan lehet be- és kikapcsolni egyetlen LED -et a GPIO.output paranccsal. Ez az utasítás az ismeretekre építve megtanít arra, hogyan szerezhet nagyobb ellenőrzést az áramkör felett.

1. lépés: Amire szüksége lesz

Amire szüksége lesz
Amire szüksége lesz
Amire szüksége lesz
Amire szüksége lesz

- Egy RaspberryPi, amelyen már telepítve van a Raspbian. A Pi -hez monitor, egér és billentyűzet vagy távoli asztal segítségével is hozzá kell férnie. A Raspberry Pi bármelyik modelljét használhatja. Ha rendelkezik a Pi Zero modellek valamelyikével, érdemes forrasztania néhány fejlécet a GPIO porthoz.

- Piros, kék, sárga és zöld LED -ek

- Forrasztás nélküli prototípus -kenyérlap

- 4 x 330 ohmos ellenállások

- Néhány férfi -női áthidaló vezeték

2. lépés: Építse fel az áramkört

Építsd meg az áramkört
Építsd meg az áramkört
Építsd meg az áramkört
Építsd meg az áramkört

Építse fel a fenti áramkört a kenyértáblájára, ügyelve arra, hogy az alkatrészek egyik vezetéke ne érjen hozzá, és a LED -ek megfelelően legyenek csatlakoztatva.

Hogyan azonosítja a LED -ek pozitív és negatív vezetékét (polaritását)? Ha alaposan megnézi a LED -et, látni fogja, hogy két kis fémdarab van a színes burkolaton belül. Ezeket anódnak és katódnak nevezik. A katód a kettő közül a legnagyobb, és a LED -ek negatív vezetékéhez is csatlakozik.

Miután ellenőrizte az áramkört, csatlakoztassa a jumper kábeleket a Raspberry Pi GPIO csapjaihoz a fenti ábra szerint.

3. lépés: Hozzon létre egy parancsfájlt a LED -ek vezérlésére és tesztelésére

Hozzon létre egy parancsfájlt a LED -ek vezérlésére és tesztelésére
Hozzon létre egy parancsfájlt a LED -ek vezérlésére és tesztelésére

A Raspberry Pi készüléken nyissa meg az IDLE -t (Menü> Programozás> Python 2 (IDLE)).

Nyisson meg egy új projektet, és válassza a Fájl> Új fájl lehetőséget. Ezután írja be (vagy másolja és illessze be) a következő kódot:

importálja az RPi. GPIO -t GPIO -ként

importálási idő 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. kimenet (23, hamis)

Mentse el projektjét multilights.py néven (Fájl> Mentés másként) a Raspberry Pis Documents mappába.

A Raspberry Pi készüléken nyissa meg a Terminált (Menü> Kiegészítők> Terminál), és navigáljon a Dokumentumok mappához az alábbiak beírásával:

cd/home/pi/Dokumentumok

Most már futtathatja az új szkriptet a következő beírásával:

python multilights.py

A lámpák felváltva kapcsolják be és ki. A fenti szkript a time.sleep parancs segítségével szünetet hoz létre az egyes lépések között, így minden fény 3 másodpercig világít, és várjon 1 másodpercet, mielőtt bekapcsolja a következő lámpát.

4. lépés: Rugalmasság hozzáadása a paraméterek és a feltételes állítások használatával

A paraméterek és a feltételes állítások használatával a fenti szkriptet sokkal rugalmasabbá tehetjük.

A Paraméter lehetővé teszi olyan érték tárolását, amelyet később használhat a szkriptben. A leggyakoribb típusú értékek a karakterláncok (szöveg), az egész számok (egész számok) vagy a lebegők (tizedes számok).

A Feltételes kimutatás határozza meg, hogy egy kódszegmenst kell -e végrehajtani, ha ellenőrzi, hogy egy bizonyos feltétel teljesül -e. A feltétel paramétereket is tartalmazhat.

Nyissa meg az IDLE -t a Raspberry Pi -n, és nyisson meg egy új projektet (Fájl> Új fájl). Ezután írja be a következőt. Ügyeljen arra, hogy a Tab billentyű használatával biztosítsa, hogy az összes behúzás (lap) szerepeljen:

importálja az RPi. GPIO -t GPIO -ként

importálási idő a sys importálásból 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) ha ledaction == "off": if wholed == "a": GPIO.output (LEDa, False) if wholed == "b": GPIO.output (LEDb, False) if youled == "c": GPIO.output (LEDc, False) if wholed == "d": GPIO.output (LEDd, False) if wholed == "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 theced == "b": GPIO.output (LEDb, True) if wholed == "c": GPIO.output (LEDc, True) if wholed == "d": GPIO.output (LEDd, True) if thisled == "all": GPIO.output (LEDa, True) GPIO.output (LEDb, True) GPIO.output (LEDc, True) GPIO.output (LEDd, True)

Mentse el projektjét controllight.py néven (Fájl> Mentés másként) a Dokumentumok mappába. Most nyissa meg a Terminál (Menü> Kellékek> Terminál) parancsot, és írja be a következő parancsot:

python controllight.py b be

A második LED -nek be kell kapcsolnia. Most írja be a következőt:

python controllight.py b ki

A második LED -nek ki kell kapcsolnia.

Az 5., 6., 7. és 8. sorban létrehozzuk a LEDa, LEDb, LEDc és LEDd paramétereket, hogy eltároljuk, melyik GPIO tűt melyik LED -hez csatlakoztattuk. Ez lehetővé teszi számunkra, hogy alternatív GPIO -csapokat használjunk anélkül, hogy lényeges változtatásokat kellene végrehajtanunk a szkripten.

Például, ha az első LED -eket a 3. tűhöz (GPIO 2) csatlakoztatnánk, akkor csak az 5. sort kell a következőre cserélnünk:

LEDa = 2

A 4. sor a controllight.py után beírt értékeket tárolja a (c) és a ledaction (be) paraméterekben. A szkript ezután ezeket a paramétereket használja, számos feltételes utasítás mellett, hogy eldöntse, melyik LED -et vezérelje, és be- vagy kikapcsolja -e.

A 16. sor (ha ledaction == "on":) feltételes utasítás. Az ezt a kijelentést követő behúzott sorok csak akkor futnak, ha az utasítás feltétele teljesül. Ebben az esetben a feltétel az, hogy a ledaction tartalmazza a szöveget.

Ha elolvassa a szkript többi Feltételes nyilatkozatát, meg tudja -e jósolni, mi fog történni, ha beírja a következő parancsot a Terminálban?

python controllight.py minden be

Miért nem próbálja ki, és tegye meg válaszát az alábbi megjegyzések részben.

Ajánlott: