Ang Raspberry Pi ay isang ARM architecture processor based board na dinisenyo para sa mga elektronikong inhinyero at libangan. Ang PI ay isa sa pinaka mapagkakatiwalaang mga platform sa pagbuo ng proyekto doon ngayon. Sa mas mataas na bilis ng processor at 1 GB RAM, maaaring magamit ang PI para sa maraming mga proyekto sa mataas na profile tulad ng pagproseso ng Imahe at Internet of Things.
Para sa paggawa ng alinman sa mga proyekto sa mataas na profile, kailangang maunawaan ng isa ang mga pangunahing pag-andar ng PI. Saklawin namin ang lahat ng mga pangunahing pag-andar ng Raspberry Pi sa mga tutorial na ito. Sa bawat tutorial tatalakayin namin ang isa sa mga pagpapaandar ng PI. Sa pagtatapos ng serye ng tutorial magagawa mong mag-isa ang mga proyekto ng mataas na profile sa iyong sarili. Suriin ang mga ito para sa Pagsisimula sa Raspberry Pi at Raspberry Pi Configuration.
Tinalakay namin ang interface ng blinky at Button na LED sa Raspberry Pi sa mga nakaraang tutorial. Sa tutorial na ito ng Raspberry Pi PWM pag -uusapan natin ang tungkol sa pagkuha ng output ng PWM kasama ang Raspberry Pi. Ang PWM ay nangangahulugang ' Pulse Width Modulation '. Ang PWM ay isang pamamaraan na ginamit para makuha ang variable variable mula sa pare-pareho na supply ng kuryente. Bubuo kami ng PWM signal mula Prambuwesas Lara at ipakita ang PWM sa pamamagitan ng iiba-iba ng Liwanag ng isang LED, na konektado sa Pi.
Pulse Width Modulation:
Dati ay napag-usapan natin ang tungkol sa PWM nang maraming beses sa: Pulse width Modulation na may ATmega32, PWM na may Arduino Uno, PWM na may 555 timer IC at PWM na may Arduino Dahil.
Sa itaas na pigura, kung ang switch ay sarado nang tuluy-tuloy sa loob ng isang panahon, ang LED ay 'ON' sa oras na ito na tuloy-tuloy. Kung ang switch ay sarado para sa kalahating segundo at binuksan para sa susunod na kalahating segundo, pagkatapos ang LED ay ON lamang sa unang kalahating segundo. Ngayon ang proporsyon kung saan NAKA-ON ang LED sa kabuuang oras ay tinatawag na Duty Cycle, at maaaring kalkulahin tulad ng sumusunod:
Duty Cycle = I-ON ang oras / (I-ON ang oras + I-OFF ang oras)
Duty Cycle = (0.5 / (0.5 + 0.5)) = 50%
Kaya't ang average na boltahe ng output ay 50% ng boltahe ng baterya.
Ito ang kaso para sa isang segundo at maaari naming makita ang LED na OFF para sa kalahati segundo at LED pagiging SA iba pang kalahating segundo. Kung ang Dalas ng ON at OFF na beses ay nadagdagan mula sa '1 bawat segundo' hanggang sa '50 bawat segundo '. Hindi makuha ng mata ng tao ang dalas na ito. Para sa isang normal na mata ang LED ay makikita, bilang kumikinang na may kalahati ng ningning. Kaya't sa karagdagang pagbawas ng ON time na ang LED ay lilitaw na mas magaan.
Paprogram namin ang PI para sa pagkuha ng isang PWM at kumonekta sa isang LED upang maipakita ang paggana nito.
Mayroong 40 GPIO output pin sa Raspberry Pi. Ngunit sa labas ng 40, 26 na GPIO pin lamang (GPIO2 hanggang GPIO27) ang maaaring mai-program. Upang malaman ang higit pa tungkol sa mga pin ng GPIO, dumaan sa: LED Blinking with Raspberry Pi
Kinakailangan ang Mga Bahagi:
Narito ginagamit namin ang Raspberry Pi 2 Model B kasama ang Raspbian Jessie OS. Ang lahat ng pangunahing mga kinakailangan sa Hardware at Software ay dati nang tinalakay, maaari mo itong tingnan sa Panimula ng Raspberry Pi, bukod sa kailangan namin:
- Kumokonekta na mga pin
- 220Ω o 1KΩresistor
- LED
- Lupon ng Tinapay
Paliwanag sa Circuit:
Tulad ng ipinakita sa circuit diagram ay magkonekta kami ng isang LED sa pagitan ng PIN35 (GPIO19) at PIN39 (ground). Tulad ng sinabi nang mas maaga, hindi kami maaaring gumuhit ng higit sa 15mA mula sa alinman sa mga pin na ito, kaya upang limitahan ang kasalukuyang kumokonekta kami sa isang resistor na 220Ω o 1KΩ sa serye sa LED.
Paggawa ng Paliwanag:
Kapag ang lahat ay konektado, maaari nating buksan ang Raspberry Pi upang isulat ang programa sa PYHTON at maisagawa ito.
Pag-uusapan natin ang ilang mga utos na gagamitin namin sa programa ng PYHTON.
Mag-a-import kami ng GPIO file mula sa silid-aklatan, sa ibaba ang pagpapaandar ay nagbibigay-daan sa amin upang mai-program ang mga pin ng GPIO ng PI. Pinapalitan din namin ang pangalan ng "GPIO" sa "IO", kaya sa programa tuwing nais naming mag-refer sa mga GPIO pin gagamitin namin ang salitang 'IO'.
i-import ang RPi.GPIO bilang IO
Minsan, kapag ang mga GPIO pin, na sinusubukan naming gamitin, ay maaaring gumagawa ng ilang iba pang mga pagpapaandar. Sa kasong iyon, makakatanggap kami ng mga babala habang isinasagawa ang programa. Sa ibaba ng utos ay sinasabi sa PI na huwag pansinin ang mga babala at magpatuloy sa programa.
IO.setwarnings (Mali)
Maaari naming i-refer ang mga GPIO pin ng PI, alinman sa pamamagitan ng pin number sa board o ng kanilang function number. Sa pin diagram, maaari mong makita ang 'PIN 35' sa pisara na 'GPIO19'. Kaya sasabihin namin dito alinman na ilalarawan namin ang pin dito sa pamamagitan ng '35' o '19'.
IO.setmode (IO.BCM)
Itinatakda namin ang GPIO19 (o PIN35) bilang output pin. Makakakuha kami ng output ng PWM mula sa pin na ito.
IO.setup (19, IO.IN)
Matapos itakda ang pin bilang output kailangan naming i-setup ang pin bilang PWM output pin, p = IO.PWM (output channel, dalas ng PWM signal)
Ang utos sa itaas ay para sa pagse-set up ng channel at para din sa pag-set up ng dalas ng PWM signal. Ang 'p' dito ay isang variable na maaaring maging anupaman. Gumagamit kami ng GPIO19 bilang PWM output channel . Ang ' dalas ng signal ng PWM ' ay napili nang 100, dahil ayaw naming makita ang LED na kumikislap.
Ang utos sa ibaba ay ginagamit upang simulan ang pagbuo ng signal ng PWM, ang ' DUTYCYCLE ' ay para sa pagtatakda ng ratio ng Turn On, 0 ay nangangahulugang ang LED ay ON para sa 0% ng oras, 30 ay nangangahulugang magiging ON ang LED para sa 30% ng oras at 100 nangangahulugang ganap na ON.
p.start (DUTYCYCLE)
Ang utos na ito ay nagpapatupad ng loop ng 50 beses, na nadagdagan mula 0 hanggang 49.
para sa x sa saklaw (50):
Habang ang 1: ay ginagamit para sa infinity loop. Gamit ang utos na ito ang mga pahayag sa loob ng loop na ito ay patuloy na maisasagawa.
Sa pagpapatupad ng programa, tumataas ang cycle ng tungkulin ng PWM signal. At pagkatapos ay bumababa pagkatapos maabot ang 100%. Sa isang naka-attach na LED sa PIN na ito, ang ningning ng LED ay tataas muna at pagkatapos ay babawasan.