Bakit Mas Mabuti ang GPIO Zero Kaysa sa RPi. GPP para sa Mga Proyekto ng Raspberry Pi

Bakit Mas Mabuti ang GPIO Zero Kaysa sa RPi. GPP para sa Mga Proyekto ng Raspberry Pi

Ang Raspberry Pi ay ang perpektong computer para sa pag-aaral. Ang Raspbian OS na nakabase sa Linux ay may naka-built na Python, na ginagawang isang mahusay na unang system para sa mga nagsisimula na coder. Ang mga Pangkalahatang Pakay na Input / Output (GPIO) na mga pin ay ginagawang madali para sa mga gumagawa ng namumuko na mag-eksperimento sa mga proyekto sa electronics ng DIY.





Ito ay lalong madali kapag gumamit ka ng mga library ng code na kumokontrol sa mga pin na ito, at ang tanyag na RPi.GPIO Python library ay isang mahusay na halimbawa ng gayong silid aklatan. Ngunit ito ba ang pinakamahusay na landas para sa mga nagsisimula? Sumali sa amin habang iniimbestigahan.





Ano ang GPIO Zero?

Ang library ng GPIO Zero ay isang library ng Python para sa pagtatrabaho sa mga GPIO pin. Ito ay isinulat ni Ang manager ng pamayanan ng Raspberry Pi na si Ben Nuttall . Na naglalayong maging madaling maunawaan at 'magiliw,' ito streamline Python code para sa pinaka-regular na mga kaso ng paggamit ng Raspberry Pi.





Pinagsasama ang simpleng mga kasanayan sa pagbibigay ng pangalan at naglalarawang pag-andar, ang GPIO Zero ay mas madaling ma-access para maunawaan ng mga nagsisimula. Kahit na ang mga bihasang gumagamit ng RPi.GPIO library ay maaaring ginusto ito --- at upang maunawaan kung bakit, tingnan natin kung paano ihinahambing ang RPi.GPIO sa GPIO Zero.

Ano ang Mali Sa RPi.GPIO?

Wala. Wala naman. Ang RPi.GPIO ay pinakawalan noong unang bahagi ng 2012 ng developer na si Ben Croston. Ito ay isang matatag na silid-aklatan na nagpapahintulot sa mga gumagamit na kontrolin ang mga GPIO pin mula sa code. Nagtatampok ito sa halos bawat proyekto ng nagsisimula natakpan namin.



may hawak ng cell phone ng diy para sa kotse

Sa kabila ng malawak na paggamit nito, ang RPi.GPIO ay hindi kailanman dinisenyo para sa mga end user. Ito ay isang patunay sa mahusay na disenyo ng RPi.GPIO na maraming mga nagsisimula ay gumagamit nito gayunpaman.

Ano ang Magandang Tungkol sa GPIO Zero?

Kapag ikaw ay pag-aaral ng Python code , natutunan mo na dapat itong madaling basahin at kasing maikling hangga't maaari. Nilalayon ng GPIO Zero na saklawin ang parehong mga puntos. Itinayo sa tuktok ng RPi.GPIO bilang isang front-end na balot ng wika, pinapasimple nito ang pag-setup at paggamit ng GPIO.





Isaalang-alang ang sumusunod na halimbawa, pag-set up at pag-on ng isang LED:

Ang code sa itaas ay dapat maging pamilyar sa sinumang may ginamit ang kanilang Pi upang makontrol ang mga LED .





Ang library ng RPi.GPIO ay na-import, at ang isang pin para sa LED ay idineklara. Ang uri ng layout ng pin ay naka-set up (ang BCM at BOARD mode ay ipinaliwanag sa aming patnubay sa GPIO ), at ang pin ay naka-set up bilang isang output. Pagkatapos, ang pin ay nakabukas.

Ang diskarte na ito ay may katuturan, ngunit ang paraan ng GPIO Zero ng paggawa nito ay mas simple:

Ang GPIO Zero ay may module para sa mga LED, na-import sa simula. Nangangahulugan ito na maaari mong ideklara ang numero ng pin, at tawagan ang humantong sa() pamamaraan

kung paano gumawa ng isang texture sa photoshop

Bakit Mas Mabuti ang Diskarte ng GPIO Zero?

Mayroong ilang mga kadahilanan kung bakit ang pamamaraang ito ng pagtatrabaho ay isang pagpapabuti sa RPi.GPIO.

Una, natutugunan nito ang 'madaling basahin, maikli hangga't maaari' na kinakailangan. Habang ang mga pahayag sa pag-set up ng RPi.GPIO ay sapat na madaling maunawaan, hindi kinakailangan ang mga ito. Ang isang LED ay palaging isang output, kaya ang GPIO Zero ay nagtatakda ng mga pin sa likod ng mga eksena. Ang resulta ay tatlong linya lamang ng code upang mai-set up, pagkatapos ay magsindi ng isang LED.

Maaari mong mapansin na walang pag-set up ng board mode sa halimbawa ng GPIO Zero. Gumagamit lamang ang library ng pagnunumero ng Broadcom (BCM) para sa mga pin. Ipinapaliwanag ng taga-disenyo ng library na si Ben Nuttall kung bakit sa isang 2015 Panayam sa RasPi.tv :

'Ang pag-numero ng BOARD ay maaaring mukhang mas simple ngunit sasabihin kong humantong ito sa mga bagong gumagamit na isipin na ang lahat ng mga pin ay pangkalahatang layunin --- at hindi sila. Ikonekta ang isang LED sa pin 11, bakit hindi ikonekta ang ilan pa sa mga pin 1, 2, 3 at 4? Ang 1 ay 3V3. Ang 2 at 4 ay 5V. Ang isang kawalan ng kamalayan sa kung ano ang layunin ng mga pin ay maaaring mapanganib. '

Sa ganitong paraan, ganap na may katuturan na gamitin ang mga numero ng BCM. Dahil na ito GPIO Zero ay magiging pamantayan sa dokumentasyon ng Raspberry Pi pasulong, ito ay nagkakahalaga ng pag-aaral!

Mas mahusay ba ang GPIO Zero?

Habang tila mas prangka sa ibabaw, mayroon bang mga problema ang bagong library? Tulad ng anumang bagong library ng pag-coding, ito ay isang bagay ng opinyon. Sa isang banda, ang pag-alis ng setup code ay mahusay para sa mga nagsisimula at napapanahong mga coder. Ang code ng pagsulat ay mas prangka at mas mabilis.

Sa kabilang banda, ang pag-alam nang eksakto kung ano ang nangyayari ay mahalaga para sa pag-aaral. Kunin ang halimbawa ng pagse-set up ng isang pindutan mula sa Dokumentasyong GPero Zero :

Ang pindutan pinapasimple ng module ang pag-set up para sa mga pindutan ng push. Alam nitong ang mga pindutan ay mga pag-input, kaya ginagamit ang idineklarang numero ng pin para sa pag-set up. Ang pag-check para sa isang pindutan ng pindutan ay mas madali din, kasama ang .nahiwalay upang makita ang mga pagpindot sa pindutan.

Ginamit namin ang eksaktong pag-andar na ito sa Tutorial sa pindutan ng Raspberry Pi , na kung saan ay isang mahusay na paraan upang pamilyar ang iyong sarili sa mga pagkakaiba sa mga aklatan.

Mapapansin ng mga gumagamit ng RPi.GPIO library na ang panloob na pull-up / pull-down na resistors ng Pi ay hindi na-set up sa code. Nagtataas ito ng isang nakawiwiling tanong. Mahalaga ba para sa mga nagsisimula na malaman ang tungkol sa mga pull-up / down resistors? Muli, si Ben Nuttall ay may isang sagot sa katanungang ito:

'Maaari kang magtaltalan na mabuting malaman ang tungkol sa mga pull up at pull down, at magiging tama ka --- ngunit bakit kailangan kong turuan iyon sa unang araw? [...] Kung nais mong turuan ang mga electronics sa mas malalim mayroong maraming saklaw para sa na --- ngunit hindi ito dapat maging sapilitan kung nagsisimula ka lang. '

Sa kabuuan, ang simpleng diskarte ng GPIO Zero ay malamang na isang magandang bagay para sa mga nagsisimula at mga beterano. Bukod, ang RPi.GPIO ay hindi pupunta kahit saan. Palagi itong nandiyan upang bumalik sa kung kinakailangan.

Ang Python ba ang Tanging Pagpipilian?

Ang Python ay ang wika na kilala ang Pi, ngunit hindi lamang ito ang pagpipilian. Kung pamilyar ka na sa pagprograma sa wikang C, kung gayon Mga Kable Pi natakpan mo na ba

Bilang kahalili, kung nag-program ka na sa JavaScript, ang Node.js ay madaling mai-install sa Pi. Magagamit ang pag-access sa GPIO sa pamamagitan ng rpi-gpio npm library . Ruby sa Riles Maaari ring mai-install sa Raspberry Pi, kahit na ang Pi ay maaaring hindi pinakamahusay na paraan upang malaman ang Rails!

Ang lahat ng mga kahalili na ito, kasama ang mga aklatan na maraming wika tulad ng mahusay mura naman maaaring gumawa ng nakalilito ang pagpili ng isang library. Dito nagaganyak ang GPIO Zero: para sa mga nagsisimula nagtataka kung paano at saan magsisimula.

Kung ikaw ay nasa isang punto kung saan kailangan mo ng isang bagay na hindi nito ibinibigay, magiging handa ka nang sumisid sa iba pang mga aklatan sa iyong sariling bilis.

Pagsisimula Sa GPIO Zero Yourself

Ang GPIO Zero ay ang pinakabagong library na gumawa ng isang splash para sa Pi at may magandang dahilan. Para sa karamihan ng mga gumagamit, ginagawang mas simple ang pag-coding para sa mga GPIO pin na basahin at mas mabilis na magsulat.

kung paano palaging magpatakbo ng isang programa bilang administrator windows 10

Dahil sa paggamit ng Raspberry Pi sa edukasyon, anumang bagay na ginagawang mas natural ang pag-aaral ay isang magandang bagay. Habang ang RPi.GPIO ay naging perpekto hanggang ngayon, ang GPIO Zero ay tumatagal ng isang magandang ideya at ginagawang mas mahusay ito.

Ang isang mahusay na paraan upang makapagsimula sa GPIO Zero ay ang kumuha ng isang proyekto ng nagsisimula tulad ng Musical Door Sensor at i-port ito sa bagong silid-aklatan.

Magbahagi Magbahagi Mag-tweet Email 5 Mga Tip upang Supercharge ang Iyong Mga VirtualBox Linux Machine

Pagod na sa hindi magandang pagganap na inaalok ng mga virtual machine? Narito kung ano ang dapat mong gawin upang mapalakas ang pagganap ng VirtualBox.

Basahin Susunod
Mga Kaugnay na Paksa
  • DIY
  • Programming
  • Raspberry Pi
  • Sawa
  • GPIO
Tungkol sa May-akda Ian Buckley(216 Mga Artikulo Nai-publish)

Si Ian Buckley ay isang freelance journalist, musikero, tagaganap at tagagawa ng video na naninirahan sa Berlin, Germany. Kapag hindi siya nagsusulat o nasa entablado, nakikipag-usap siya sa mga elektronikong DIY o code sa pag-asang maging isang baliw na siyentista.

Higit pa Mula kay Ian Buckley

Mag-subscribe sa aming newsletter

Sumali sa aming newsletter para sa mga tip sa tech, pagsusuri, libreng ebook, at eksklusibong deal!

Mag-click dito upang mag-subscribe