„Raspberry Pi“ yra ARM architektūros procesoriaus plokštė, skirta elektronikos inžinieriams ir mėgėjams. PI yra viena iš labiausiai patikimų projektų kūrimo platformų. Turėdamas didesnį procesoriaus greitį ir 1 GB RAM, PI gali būti naudojamas daugeliui aukšto lygio projektų, tokių kaip vaizdo apdorojimas ir daiktų internetas.
Norint atlikti bet kurį iš aukšto rango projektų, reikia suprasti pagrindines PI funkcijas. Šiose pamokose aptarsime visas pagrindines „Raspberry Pi“ funkcijas. Kiekvienoje pamokoje aptarsime vieną iš PI funkcijų. Pamokų ciklo pabaigoje galėsite patys atlikti aukšto lygio projektus. Patikrinkite, ar pradedate naudoti „Raspberry Pi“ ir „Raspberry Pi“ konfigūraciją.
Ankstesnėse pamokose aptarėme LED mirksi ir mygtuko sąsają su Raspberry Pi. Šioje „ Raspberry Pi“ PWM pamokoje kalbėsime apie tai, kaip gauti PWM išvestį su „Raspberry Pi“. PWM reiškia „ pulso pločio moduliacija “. PWM yra metodas, naudojamas kintamai įtampai gauti iš pastovaus maitinimo šaltinio. Mes generuosime PWM signalą iš „Raspberry PI“ ir parodysime PWM, keisdami prie Pi prijungto šviesos diodo ryškumą.
Impulso pločio moduliacija:
Anksčiau mes daug kartų kalbėjome apie PWM: impulso pločio moduliacija su ATmega32, PWM su Arduino Uno, PWM su 555 laikmačio IC ir PWM su Arduino Due.
Aukščiau pateiktame paveikslėlyje, jei jungiklis tam tikrą laiką yra nuolat uždarytas, šviesos diodas per šį laiką nuolat įsijungs. Jei jungiklis bus uždarytas pusę sekundės ir atidarytas kitą pusę sekundės, tada LED lemputė bus įjungta tik pirmąją pusę. Dabar proporcija, kuriai LED dega per visą laiką, vadinama „ Duty Cycle“ ir gali būti apskaičiuojama taip:
Darbo ciklas = Įjungti laiką / (Įjungti laiką + Išjungti laiką)
Darbo ciklas = (0,5 / (0,5 + 0,5)) = 50%
Taigi vidutinė išėjimo įtampa bus 50% akumuliatoriaus įtampos.
Taip yra vieną sekundę, ir mes galime pamatyti, kad šviesos diodas yra išjungtas pusę sekundės, o LED įsijungia kitą pusę sekundės. Jei įjungimo ir išjungimo dažnumas padidėjo nuo „1 per sekundę“ iki „50 per sekundę“. Žmogaus akis negali užfiksuoti šio dažnio. Normaliai akiai bus matomas šviesos diodas, šviečiantis puse ryškumo. Taigi, sutrumpinus įjungimo laiką, šviesos diodas pasirodo daug lengvesnis.
Mes užprogramuosime PI gauti PWM ir prijungsime šviesos diodą, kad parodytume jo veikimą.
„Raspberry Pi“ yra 40 GPIO išvesties kaiščių. Bet iš 40 galima užprogramuoti tik 26 GPIO kaiščius (nuo GPIO2 iki GPIO27). Norėdami sužinoti daugiau apie GPIO kaiščius, pereikite: LED mirksi su Raspberry Pi
Būtini komponentai:
Čia mes naudojame „ Raspberry Pi 2 Model B“ su „Raspbian Jessie OS“. Visi pagrindiniai aparatūros ir programinės įrangos reikalavimai buvo aptarti anksčiau, jų galite rasti „Raspberry Pi“ įvade, išskyrus mums reikalingą:
- Jungiamieji kaiščiai
- 220Ω arba 1KΩ rezistorius
- LED
- Bandomoji Lenta
Grandinės paaiškinimas:
Kaip parodyta grandinės schemoje, mes sujungsime šviesos diodą tarp PIN35 (GPIO19) ir PIN39 (įžeminimas). Kaip minėta anksčiau, iš bet kurio iš šių kaiščių negalime ištraukti daugiau kaip 15 mA, todėl norėdami apriboti srovę, mes nuosekliai su šviesos diodu jungiame 220Ω arba 1KΩ varžą.
Darbinis paaiškinimas:
Kai viskas bus prijungta, galime įjungti „Raspberry Pi“, kad programa būtų parašyta PYHTON ir ją vykdoma.
Mes kalbėsime apie keletą komandų, kurias ketiname naudoti PYHTON programoje.
Mes ketiname importuoti GPIO failą iš bibliotekos, žemiau pateikta funkcija leidžia mums užprogramuoti PI GPIO kaiščius. Mes taip pat pervadiname „GPIO“ į „IO“, todėl programoje, kai norime nurodyti GPIO kaiščius, naudosime žodį „IO“.
importuoti RPi.GPIO kaip IO
Kartais, kai GPIO kaiščiai, kuriuos bandome naudoti, gali atlikti kitas funkcijas. Tokiu atveju vykdydami programą gausime įspėjimus. Žemiau komanda liepia PI nepaisyti įspėjimų ir tęsti programą.
IO.setwarnings (False)
Mes galime nurodyti PI GPIO kaiščius pagal PIN kodą laive arba pagal jų funkcijos numerį. Kaiščių schemoje galite matyti, kad lentoje „PIN 35“ yra „GPIO19“. Taigi mes sakome, kad čia mes smeigtuką atvaizduosime „35“ arba „19“.
IO.setmode (IO.BCM)
Mes nustatome GPIO19 (arba PIN35) kaip išvesties kaištį. Iš šio kaiščio gausime PWM išvestį.
IO.setup (19, IO.IN)
Nustatę kaištį kaip išvestį, turime nustatyti kaištį kaip PWM išvesties kaištį, p = IO.PWM (išvesties kanalas, PWM signalo dažnis)
Pirmiau nurodyta komanda yra skirta nustatyti kanalą ir nustatyti PWM signalo dažnį. 'p' čia yra kintamasis, jis gali būti bet koks. Mes naudojame GPIO19 kaip PWM išvesties kanalą . „ PWM signalo dažnis “ pasirinktas 100, nes nenorime matyti, kad mirksi šviesos diodas.
Žemiau komanda naudojama PWM signalo generavimui pradėti, „ DUTYCYCLE “ yra įjungimo santykio nustatymui, 0 reiškia, kad šviesos diodas bus įjungtas 0% laiko, 30 reiškia, kad šviesos diodas bus įjungtas 30% laiko, o 100 reiškia, kad visiškai įjungta.
p. pradžia (DUTYCYCLE)
Ši komanda vykdo kilpą 50 kartų, x padidinamas nuo 0 iki 49.
x x diapazone (50):
Nors 1: naudojama begalybės kilpai. Naudojant šią komandą, šios kilpos teiginiai bus vykdomi nuolat.
Vykdant programą, PWM signalo darbo ciklas padidėja. Ir tada sumažėja pasiekus 100%. Prie šio PIN pritvirtinus šviesos diodą, šviesos diodų ryškumas pirmiausia padidėja, o vėliau sumažėja.