Välise LED-i juhtimine Raspberry Pi ja GPIO tihvtide abil

Selles postituses uurime Raspberry Pi GPIO tihvte, luues GPIO programmi “Hello World”, mille tulemusel vilgub punane LED. Kasutame Pythoni programmeerimiskeelt. Kasutan peata Raspberry Pi Zero WH (juhtmeta koos joodetud päistega) koos Raspbian Stretch Lite'iga (Raspberry Pi operatsioonisüsteem minimaalse pildiga, mis põhineb Debiani Stretchil).

Ma räägin oma peata sshPi-ga, kasutades scpkäske ja edastan vajalikud failid oma Mac-ist Pi-le . Eeldan, et teie Raspberry Pi on installitud ja töötab koos Raspbian OS-iga. Kui ei, siis on Internetis palju artikleid, mis kirjeldavad, kuidas oma Pi seadistada ja Raspbiat installida, sealhulgas ametlik Raspberry Pi dokumentatsioon.

Asjad, mida vajate:

  • 1 x Raspberry Pi (kasutan Pi Zero WH mudelit)
  • 1 x leivalaud
  • 1 x punane LED-tuli
  • 1 x 330 oomi takisti
  • 2 x naissoost isase hüppaja kaabel

GPIO tihvtide konfiguratsioon

GPIO tähistab üldotstarbelist sisendväljundit . GPIO tihvtide abil saab Raspberry Pi ühendada väliseid elektroonilisi komponente ja nendega suhelda. Hiljutised Raspberry Pi mudelid (Pi 3, Pi Zero, Pi W ja Pi WH mudelid jne) sisaldavad 40 GPIO tihvti. Iga tihvti saab sisse või välja lülitada või minna HIGHvõi LOWelektrooniliselt. Kui tihvt on HIGHsee, väljastab 3,3 volti, kui tihvt on, LOWsiis see on välja lülitatud.

Meie näites kasutame pin 6(maa) ja pin 25. Raspberry Pi GPIO tihvtide kohta lisateabe saamiseks vaadake kassast pinout.xyz.

Vooluringi seadistamine

Vooluringi ehitamise ajal peaksite Pi välja lülitama. Loome vooluringi, nagu on näidatud alloleval skeemil:

Märkus . Pildil olev takisti on 220 oomi, kuid olen oma vooluringis kasutanud 330 oomi.

  1. Kasutage emasest kuni meessoost hüppajakaablit, et ühendada pin 6(Ground) (must kaabel ülaltoodud pildil) leivapaneeli negatiivse reaga.
  2. Kasutage ühenduse loomiseks teist naissoost mees-hüppajat, et ühendada GPIO pin 25punktiga, mida tähistavad paneeli rida Aja veerg 12, nagu eespool näidatud (sinine kaabel ülaltoodud pildil).
  3. Ühendage 330-oomise takisti üks ots negatiivse reaga (rida, mis on roheliselt esile tõstetud, kus varem ühendatud must kaabel ühendati) ja ühendage teine ​​ots punktiga, mida tähistab paneelil rea Cveerg 11, nagu eespool näidatud.
  4. LEDi lühem ots on negatiivne ja pikem positiivne. Pikem ots peaks alati olema ühendatud vooluahela suurema pingega (see tähendab suurema potentsiaaliga) punktiga. LED-i lühem ots on pin 25sinise kaabli kaudu ühendatud GPIO-ga (mis suudab väljendada 3,3 V) ja pikem ots on pin 6musta kaabli kaudu maaga (mis on 0 V ja toimib nagu aku negatiivne klemm). nende vahel takisti.

Takisti

Pidades meeles, et olin juba mõnda aega tagasi (umbes 4–5 aastat) läbinud elektri- ja elektroonikatehnika sissejuhatavad klassid, tekkis mul kaks küsimust, millele vajasin vastuseid. Palun leppige sellega, et olen selles kontekstis naiivne.

  1. Miks vajame oma vooluahelasse takistit?
  2. Kuidas teha kindlaks, kui palju takistit (elektritakistuse mõõt) takisti peaks olema?

Raspberry Pi ekstra elektrienergia (pinge) hajutamiseks on vajalik takisti. Vaarika Pi toiteallikaks on 3,3 V 50mA. Oletame, et meie punasel valgusdioodil võib esipinge olla (pinge on negatiivne pinge, mida LED kasutab, kui see on sisse lülitatud) umbes 2 V ja tarbib 4 mA voolu. Nii et ülejäänud 1,3 V peaks takisti hajutama.

Kasutades Ohmi seadus, V = IR, R= (3.3V - 2V) / (4/1000)mis on umbes 325 ohms- nii et ma soovitame kasutada 330 ohm takisti .

Avastasin selle Raspberry Pi foorumi arutelust.

LED-i vilkumine Pythoni abil

Nüüd, kui meil on täielik vooluring, on järgmine osa programmeerida GPIO-pordid, et maagia juhtuks: LED-i vilkuma panemiseks. pin 25LED-i vilkumiseks kasutame GPIO väljundit .

Käivitage oma Pi ja ühendage see ssh abil. Terminalis kasutage Pythoni teegi installimiseks järgmist käsku gpiozero. gpiozeroRaamatukogu teeb koostööd GPIO tuima ja ühendatud väliseid komponente väga lihtne.

Pythoni teegi installimiseks tippige sudo apt-get install python3-gpiozero.

Nüüd käivitame Pythoni koodi. Salvestage allolev kood oma Pi-failisüsteemi faili nimega blink1.py. Skript lülitab põhimõtteliselt sisse ühendatud LED-i pin 25, magab 1 sekundi, lülitab seejärel LED-i välja ja magab jälle 1 sekundi. Ja seda tehakse pidevalt tsüklis, kuni programm lõpetatakse (vajutades ctrl+ c).

Nüüd terminalist, minna kataloogi, kus skript salvestada ja käivitada käsuga: python3 blink1.py.

Näete, kuidas punane LED vilgub järgmiselt:

gpiozeroSarnase seadistamise abil saame luua palju lõbusaid asju . Tutvuge dokumentatsiooniga, gpiozeromilles on toodud mõned huvitavad näited. Proovige ehitada foorisüsteem.

Algselt avaldati aadressil shahbaz.co 7. aprillil 2018.