Raspberry Pi ir ARM arhitektūras procesors, kas paredzēts elektronikas inženieriem un vaļaspriekiem. PI ir viena no uzticamākajām projektu izstrādes platformām, kas tur pastāv. Ar lielāku procesora ātrumu un 1 GB RAM PI var izmantot daudziem augsta līmeņa projektiem, piemēram, attēlu apstrādei un lietu internetam.
Lai veiktu kādu no augsta līmeņa projektiem, ir jāsaprot PI pamatfunkcijas. Šajās apmācībās mēs aplūkosim visas Raspberry Pi pamatfunkcijas. Katrā apmācībā mēs apspriedīsim vienu no PI funkcijām. Apmācību sērijas beigās jūs pats varēsiet veikt augsta līmeņa projektus. Pārbaudiet tos, lai sāktu darbu ar Raspberry Pi un Raspberry Pi konfigurāciju.
Iepriekšējās apmācībās mēs esam apsprieduši LED mirgojošo un pogas saskarni ar Raspberry Pi. Šajā Raspberry Pi PWM apmācībā mēs runāsim par PWM izejas iegūšanu ar Raspberry Pi. PWM nozīmē pulsa platuma modulāciju. PWM ir metode, ko izmanto, lai mainīgu spriegumu iegūtu no pastāvīgas barošanas avota. Mēs ģenerēsim PWM signālu no Raspberry PI un demonstrēsim PWM, mainot ar Pi savienota LED spilgtumu.
Pulsa platuma modulācija:
Mēs jau iepriekš daudzkārt runājām par PWM: Pulsa platuma modulācija ar ATmega32, PWM ar Arduino Uno, PWM ar 555 taimera IC un PWM ar Arduino Due.
Iepriekš redzamajā attēlā, ja slēdzis ir nepārtraukti slēgts noteiktā laika periodā, šajā laikā LED nepārtraukti ieslēgsies. Ja slēdzis ir slēgts uz pusi sekundes un atvērts uz nākamo pusi sekundes, tad gaismas diode iedegsies tikai pirmajā sekundes pusē. Tagad proporciju, kurai LED ir ieslēgta visā laikā, sauc par darba ciklu, un to var aprēķināt šādi:
Darba cikls = Ieslēgšanas laiks / (Ieslēgšanas laiks + Izslēgšanas laiks)
Darba cikls = (0,5 / (0,5 + 0,5)) = 50%
Tātad vidējais izejas spriegums būs 50% no akumulatora sprieguma.
Tas attiecas uz vienu sekundi, un mēs varam redzēt, ka gaismas diode ir izslēgta uz pusi sekundes un LED ir ieslēgta otrajā pusē sekundē. Ja ieslēgšanas un izslēgšanas reižu biežums palielinās no “1 sekundē” līdz “50 sekundē”. Cilvēka acs nevar uztvert šo frekvenci. Normālai acij gaismas diode būs redzama kā kvēlojoša ar pusi no spilgtuma. Tātad, turpinot samazināt ON laiku, gaismas diode šķiet daudz gaišāka.
Mēs ieprogrammēsim PI, lai iegūtu PWM, un pievienosim LED, lai parādītu tā darbību.
Raspberry Pi ir 40 GPIO izvades tapas. Bet no 40 var ieprogrammēt tikai 26 GPIO tapas (GPIO2 līdz GPIO27). Lai uzzinātu vairāk par GPIO tapām, izlasiet: LED mirgo ar Raspberry Pi
Nepieciešamās sastāvdaļas:
Šeit mēs izmantojam Raspberry Pi 2 B modeli ar Raspbian Jessie OS. Visas aparatūras un programmatūras pamatprasības ir iepriekš apspriestas, jūs to varat meklēt Raspberry Pi ievadā, izņemot to, kas mums nepieciešams:
- Savienojošās tapas
- 220Ω vai 1KΩ rezistors
- LED
- Maizes dēlis
Ķēdes skaidrojums:
Kā parādīts ķēdes shēmā, mēs savienosim LED starp PIN35 (GPIO19) un PIN39 (zeme). Kā jau minēts iepriekš, mēs nevaram izvilkt vairāk par 15 mA no vienas no šīm tapām, tāpēc, lai ierobežotu strāvu, mēs virkni savienojam 220Ω vai 1KΩ rezistoru ar LED.
Darba skaidrojums:
Kad viss ir savienots, mēs varam ieslēgt Raspberry Pi, lai ierakstītu programmu PYHTON un to izpildītu.
Mēs runāsim par dažām komandām, kuras mēs izmantosim PYHTON programmā.
Mēs importēsim GPIO failu no bibliotēkas, zemāk esošā funkcija ļauj mums ieprogrammēt PI GPIO tapas. Mēs arī pārdēvējam “GPIO” par “IO”, tāpēc programmā, kad vien mēs vēlamies atsaukties uz GPIO tapām, mēs izmantosim vārdu “IO”.
importēt RPi.GPIO kā IO
Dažreiz, kad GPIO tapas, kuras mēs cenšamies izmantot, iespējams, veic citas funkcijas. Tādā gadījumā mēs saņemsim brīdinājumus, izpildot programmu. Zemāk komanda liek PI ignorēt brīdinājumus un turpināt programmu.
IO.setwarnings (False)
Mēs varam atsaukties uz PI GPIO tapām vai nu pēc tapas numura uz kuģa, vai pēc to funkcijas numura. Adatu diagrammā uz tāfeles var redzēt, ka PIN 35 ir GPIO19. Tātad mēs šeit sakām, vai nu mēs šeit parādīsim tapu ar “35” vai “19”.
IO.setmode (IO.BCM)
Mēs kā izejas tapu iestatām GPIO19 (vai PIN35). No šīs tapas mēs iegūsim PWM izvadi.
IO.iestatīšana (19, IO.IN)
Pēc tapas iestatīšanas kā izejas mums jāiestata tapa kā PWM izejas tapa, p = IO.PWM (izejas kanāls, PWM signāla frekvence)
Iepriekš minētā komanda ir paredzēta kanāla iestatīšanai, kā arī PWM signāla frekvences iestatīšanai. 'p' šeit ir mainīgais lielums, tas var būt jebkas. Mēs izmantojam GPIO19 kā PWM izejas kanālu . ' PWM signāla biežums ' ir izvēlēts 100, jo mēs nevēlamies redzēt, ka mirgo gaismas diode.
Zemāk esošā komanda tiek izmantota, lai sāktu PWM signāla ģenerēšanu, ' DUTYCYCLE ' ir ieslēgšanas koeficienta iestatīšanai, 0 nozīmē, ka gaismas diode iedegsies 0% laika, 30 nozīmē, ka gaismas diode iedegsies 30% laika un 100 nozīmē pilnīgi ieslēgta.
p. sākt (DUTYCYCLE)
Šī komanda izpilda cilpu 50 reizes, x tiek palielināts no 0 līdz 49.
x diapazonā (50):
Kamēr 1: tiek izmantots bezgalības ciklam. Izmantojot šo komandu, paziņojumi šajā cilpā tiks izpildīti nepārtraukti.
Izpildot programmu, PWM signāla darba cikls palielinās. Un pēc tam samazinās, sasniedzot 100%. Ar šim PIN piestiprinātu gaismas diodi gaismas diožu spilgtums vispirms palielinās un pēc tam samazinās.