Anksčiau šiais metais jūs gausite "Raspberry Pi" GPIO kelionę ir taip pat rekomendavote tikrai naudingas "breakout" plokštes, skirtas identifikuoti PIN numerius. Šiandien mes tęsiame šią temą ir pradėkite naudoti šiuos kaiščius kartu su kodu ir aparatine įranga.
GPIO yra tai, kaip Raspberry Pi kalbasi su išoriniu pasauliu - "realūs dalykai" - naudojant kodą, kad programuotų signalus ir įtampą į ir iš 40 kontaktų antraštės.
Kodavimas su GPIO yra pakankamai paprastas, kad būtų galima pradėti, ypač pradedantiesiems projektams, pvz., Šviesos diodams ir žibintuvams. Naudodami tik keletą komponentų ir keletą kodo eilučių, galite šviesti arba mirksėti šviesą, kaip dalį savo projekto.
Šiame straipsnyje parodysime, ko jums reikia šviesos diodams, naudojant "Pepone" kodą "Raspberry Pi", naudojant tradicinį "RPi.GPIO" metodą.
01 iš 04
Ko tau reikia
Čia pateikiamas viskas, ko jums reikės šiai mažai pradedančiųjų projektui. Jūs turėtumėte sugebėti rasti šiuos elementus savo mėgstamų parduotuvių parduotuvėje ar internetinės aukciono svetainėse.
- "Raspberry Pi" darbo vieta, kurioje veikia naujausia "Raspbian" ("Pi", ekranas, klaviatūra, pelė, maitinimas, SD kortelė - visi prijungti)
- Maža lenta
- 5 mm šviesos diodas
- 330 ohm rezistorius
- 2 vyriški ir moteriški megztiniai laidai
02 iš 04
Sukurkite grandinę - 1 žingsnis
Šį projektą ketiname naudoti 2 GPIO kaiščius, šviesos diodų antžeminę koją (fizinis kintamasis 39) ir bendrą GPIO kištuką (GPIO 21, fizinį kortą 40), kad būtų įjungtas šviesos diodas, tačiau tik tada, kai mes nusprendžiame - kur yra kodas.
Pirma, išjunk savo Aviečių Pi. Dabar, naudodamiesi drožlių laidais, prijunkite žemės smeigtuką ant juostos juostos. Tada atlikite tą patį GPIO kaištui, jungiantis prie kitos juostos.
03 iš 04
Sukurkite grandinę - 2 veiksmas
Toliau mes pridėsime šviesos diodą ir rezistorių prie grandinės.
LED turi poliškumą - tai reiškia, kad jie turi būti prijungiami tam tikru būdu. Jie paprastai turi vieną ilgesnę koją, kuri yra anoda (teigiama) kojelė, paprastai plokščia briauna ant LED plokštės, kuri žymi katodo (neigiamą) koją.
Rezistoriaus naudojamas siekiant apsaugoti tiek šviesos diodą nuo per didelio srovės tiekimo, tiek ir "GPIO" smeigtuko perteklius - tai gali pakenkti abu.
Standartinių šviesos diodų standartinis rezistorių įvertinimas yra maždaug 330ohm. Prieš tai yra keletas matematikos, tačiau dabar mes sutelksime dėmesį į projektą. Vėliau visada galite ieškoti omų teisės ir susijusių temų.
Prijunkite vieną rezistoriaus kojelę prie GND juosta ir kitą rezistoriaus koją iki juostos, jungtos prie trumpesnės jūsų LED lempos.
Ilgesnė LED lemputė dabar turi prisijungti prie juostos, prijungtos prie GPIO kaiščio.
04 iš 04
Python GPIO kodas (RPi.GPIO)
Šiuo metu mes turime grandinę, prijungtą prie laidų ir pasiruošę eiti, bet mes dar nepasakėme savo GPIO smeigtukui atsiųsti bet kokios galios, todėl jūsų šviesos diodas neturėtų būti apšviečiamas.
Leiskite sukurti "Python" failą, kad pasakytume savo GPIO PIN kodą, kad 5 sekundes išsiųstumėte maitinimą ir sustabdytumėte. Naujausia "Raspbian" versija turės jau įdiegtas reikalingas GPIO bibliotekas.
Atidarykite terminalo langą ir sukurkite naują "Python" scenarijų, įveskite šią komandą:
Sudo nano led1.pyTai atvers tuščią failą, kad galėtume įvesti mūsų kodą. Įveskite toliau pateiktas eilutes:
#! / usr / bin / python # Importuokite bibliotekas, į kurias turime importuoti RPi.GPIO kaip GPIO importavimo laiką # Nustatykite GPIO režimą GPIO.setmode (GPIO.BCM) # Nustatykite LED GPIO numerį LED = 21 # Nustatykite LED GPIO kaištį kaip išvesties GPIO.setup (LED, GPIO.OUT) # Pasukite GPIO kištuką į GPIO. išvesties (LED, tiesa) # Palaukite 5 sekundes time.sleep (5) # Išjunkite GPIO kištuką iš GPIO.output (LED, False)Norėdami išsaugoti failą, paspauskite Ctrl + X. Norėdami paleisti failą, terminale įveskite šią komandą ir paspauskite enter:
Sudo python led1.pyLED turi šviesti 5 sekundes, tada išjunkite, baigiant programą.
Kodėl gi ne pabandyti pakeisti "time.sleep" numerį, kad šviesos diodas būtų šviesus skirtingiems laikams, ar pabandykite pakeisti "GPIO.output (LED, True)" į "GPIO.output (LED, False)" ir pažiūrėkite, kas atsitiks?