Glùin LED le GPIO nan sùbh-craoibhe Pi

Nas tràithe am-bliadhna fhuair thu turas mu GPIO nan sùbh-craoibhe Pi agus mhol e cuid de bhùird briseadh feumail airson a bhith a 'comharrachadh àireamhan pìne. An-diugh bidh sinn a 'leantainn air adhart leis a' chuspair sin agus a 'tòiseachadh le bhith a' cleachdadh nam biorran sin còmhla ri còd agus cruaidh-chruaidh

Is e an GPIO mar a tha Pi-sùbh-craoibhe a 'bruidhinn ris an t-saoghal a-muigh - "rudan fìor" - a' cleachdadh còd gus na comharran agus na follaidean a chlàradh a-steach agus a-mach às an ceann-uidhe 40-pin.

Tha còdadh leis an GPIO gu reusanta sìmplidh airson tòiseachadh le, gu h-àraidh airson pròiseactan tòiseachaidh leithid LEDs agus luchd-buidhe. Le dìreach dà phàirtean agus beagan loidhnichean de chòd, faodaidh tu solais no stàilinn LED mar phàirt den phròiseact agad.

Nochd an artaigil seo dhut na dh'fheumas tu airson LED a sholas le bhith a 'cleachdadh còd Python air do Pi-fiadh-craoibhe, a' cleachdadh modh traidiseanta 'RPi.GPIO'.

01 de 04

Na tha a dhìth oirbh

Chan eil ach beagan phàirtean sìmplidh agus saor riatanach airson a 'phròiseict seo. Richard Saville

Seo liosta de na rudan a dh 'fheumas tu airson a' phròiseict tòiseachaidh beag seo. Bu chòir dhut a bhith comasach air na rudan sin a lorg anns an stòr dèanadair as fheàrr leat no air làraich ropa air-loidhne.

02 de 04

Cruthaich an Cuairt - Ceum 1

Ceangail gach prìne ris a 'bhòrd arain le uèirichean geansa. Richard Saville

Bidh sinn a 'dol a chleachdadh 2 pinsin GPIO airson a' phròiseict seo, pìos talmhainn (prìne corporra 39) airson cas an talamh LED, agus pinn GPIO (GPIO 21, prìne corporra 40) gus cumhachd a thoirt don LED - ach a-mhàin tha sinn a 'co-dhùnadh - cò às a tha an còd a' tighinn a-steach.

Sa chiad dol a-mach, tionndaidh am Pi-sùbh-craoibh agad. A-nis, a 'cleachdadh nan uèirichean geansaidh, ceangail am prìne gu làrach air do chlàr. An ath rud a nì an aon rud airson pin pin GPIO, a 'ceangal ri slighe eadar-dhealaichte.

03 de 04

Cruthaich an Cuairt - Ceum 2

Bidh an LED agus an resistor a 'lìonadh a' chuairt. Richard Saville

An ath sin cuiridh sinn an LED agus cuiridh sinn ris a 'chuairt.

Tha polarity aig LEDs, a 'ciallachadh gum feum iad a bhith air an leigeil leotha ann an dòigh shònraichte. Mar as trice tha cas nas fhaide aca a tha an cas-anod (dearbhach), agus mar as trice tha còmhnard air ceann plastaig LED a tha a 'comharrachadh cas casail (àicheil).

Tha resistor air a chleachdadh airson an dà chuid LED a dhìon bho bhith a 'faighinn cus a tha an-dràsta, agus an pinio GPIO bho bhith a' toirt cus seachad - a dh'fhaodadh cron a dhèanamh air an dà chuid.

Tha beagan de mheasadh coitcheann ann airson LED coitcheann - 330ohm. Tha cuid de matamataig air a chùlaibh, ach a-nis leigidh sinn fòcas air a 'phròiseact - faodaidh tu an-còmhnaidh sùil a thoirt air lagh nan uan agus cuspairean co-cheangailte ris an deidh sin.

Ceangail aon chas den resistor ris an raon GND air do bhòrd arain, agus an taobh eile ris an loidhne a tha ceangailte ri cas nas giorra an LED agad.

Feumaidh cas nas fhaide an LED a-nis a dhol a-steach don loidhne ceangailte ris a 'phinut GPIO.

04 de 04

Còd GPIO Python (RPi.GPIO)

Tha RPi.GPIO na leabharlann sàr-mhath airson a bhith a 'cleachdadh pinsin GPIO. Richard Saville

Aig an àm seo tha cearcal againn air a leigeil suas agus deiseil airson a dhol, ach chan eil sinn ag iarraidh air a 'phinut GPIO cumhachd sam bith a chuir a-mach fhathast, agus mar sin cha bu chòir do LED a bhith air a lasadh.

Feuch gun dèan sinn faidhle Python gus innse dhuinn don phinut GPIO gus beagan cumhachd a chuir a-mach airson 5 diogan agus an uairsin stad. Bidh na leabharlannan GPIO neo-chomasach air an tionndadh as ùire de Raspbian an-dràsta.

Fosgail uinneag deireannach agus cruthaich sgriob Python ùr le bhith a 'dol a-steach don òrdugh a leanas:

sudo nano led1.py

Fosglaidh seo faidhle fala gus an cuir sinn ar còd a-steach. Cuir a-steach na sreathan gu h-ìseal

#! / usr / bin / python # Cuir a-steach na leabharlannan a dh 'fheumas sinn RPi.GPIO a thoirt a-steach mar ùine in-ghabhail GPIO # Cuir am modh GPIO GPIO.setmode (GPIO.BCM) # Cuir an àireamh GPIO LED LED = 21 # Cuir an pin GP LED mar mach GPIO.setup (LED, GPIO.OUT) # Tionndaidh an dotair GPIO air GPIO.output (LED, fìor) # Athar 5 diog time.sleep (5) # Tionndaidh an pin GPIO air GPIO.output (LED, False)

Brùth Ctrl + X gus an fhaidhle a shàbhaladh. Gus am faidhle a ruith, cuir a-steach an òrdugh a leanas anns a 'phort-adhair agus brùth air a-steach:

sudo python led1.py

Bu chòir don LED a bhith a 'lasadh airson 5 diogan agus an uairsin dheth, crìochnaich am prògram.

Carson nach feuch ris an àireamh 'time.sleep' atharrachadh gus an LED a shoillseachadh airson diofar amannan, no feuch ris an 'GPIO.output (LED, fìor) atharrachadh' gu 'GPIO.output (LED, False)' agus faic dè thachras?