Reklāma

Featured-rpi-gpioJa jūs, kaut arī Arduino bijāt foršs, vienkārši pagaidiet, līdz jūs nokļūsit rokās Aveņu Pi Aveņu Pi: neoficiāla apmācībaNeatkarīgi no tā, vai esat pašreizējais Pi īpašnieks, kurš vēlas uzzināt vairāk, vai šīs kredītkartes lieluma ierīces potenciālais īpašnieks, tas nav ceļvedis, kuru vēlaties palaist garām. Lasīt vairāk - šīs lietas ir pārsteidzošas. Viņiem ir ne tikai pilnībā funkcionējošs dators, bet arī dažādi Universālā ievade / izvade tapas. Tāpat kā Arduino, mēs varam tos izmantot, lai izveidotu elektronikas projektus - un tas ir pārsteidzoši viegli, lai sāktu.

Šodien mēs savienosim releju un izmantosim to gaismas diodes ieslēgšanai, taču tikpat viegli jūs varētu ieslēgt lampu.

Šis ievads kalpo kā pirmā daļa lielākam mājas automatizācijas projektam. Kristians jau ir licis pamatus tam darba sākšana ar Pi Aveņu Pi: neoficiāla apmācībaNeatkarīgi no tā, vai esat pašreizējais Pi īpašnieks, kurš vēlas uzzināt vairāk, vai šīs kredītkartes lieluma ierīces potenciālais īpašnieks, tas nav ceļvedis, kuru vēlaties palaist garām. Lasīt vairāk

instagram viewer
, tāpēc es šeit neatkārtošu sākotnējās darbības, lai lejupielādētu OS vai pievienotu SD karti - pieņemšu, ka jums ir strādājošā Raspian sistēma jau iestatīts.

Brīdinājums: Kaut arī Aveņu Pi var lai to izmantotu līdzīgi kā Arduino, ir nepieciešama nedaudz lielāka kopšana. Pi tapas darbojas 3.3v, kamēr Arduino izmanto 5v. Lai arī Arduino var salauzt, Pi ir daudz vieglāk salauzt, jo tapas pieslēdzas tieši pie borta mikroshēmas - nosūtot 5 V uz leju, tas var to apcept.

Tāpēc esiet ļoti uzmanīgs, mēģinot atkārtot Arduino projektus savā Pi - vai nu sekojiet Pi specifiskajai apmācībai, vai arī pārliecinieties, ka jums ir laba izpratne par pamata elektroniku.

Prasības:

  • NPN tranzistors, piemēram, P2N2222A
  • 1k rezistors
  • Relejs; Es izmantoju 4 releju 5v moduli, kurā ir iebūvēta papildu aizsardzības shēma (tāpēc nav vajadzīgas papildu diodes
  • LED un 220 omi rezistors pārbaudei
  • Izlaušanās kabelis

Izlaušanās kabelis (“Cobbler Kit”)

GPIO tapas atrodas Pi pusē blakus RCA video izejas ligzdai.

breakout-cable

Lai gan jūs varētu tehniski savienot dažus sieviešu kabeļu pārejas kabeļus tieši ar tiem, tie nav marķēti nekādā noderīgā veidā, tāpēc jūs, visticamāk, kaut ko salaužat. Tā vietā iegūstiet noplūdes kabeli, piemēram, tviņa no Adafruitvai viens no daudzajiem lētākajiem kloniem vietnē eBay. Jums to, iespējams, vajadzēs lodēt, jo tas būs komplekta formā.

breakout-board

Lai arī tāfeles pusē ir iecirtums, kas norāda pareizu kabeļa izvietojumu, Pi pusē to nav. Pārliecinieties, vai 3v un 5v tapas Pi tālākajā stūrī ir saskaņotas ar attiecīgajiem paneļa tapām. Protams, ja esat iegādājies lietu, kas nepakļauj GPIO galveni, jums būs jāskrien ar neapbruņotu Pi vai jāizgriež caurums.

skaidrs gadījums-gpio

Alternatīvi, jūs varat saņemt pilnu dēli, kas tiek piestiprināts virs Pi, un parasti tam ir pievienots noderīgu komponentu klāsts.

Pamata shēma

Iestatiet ķēdi, kā aprakstīts zemāk. Es atstāju releja shēmu, jo tā mainīsies. Izmantojiet (parasti slēgts) un COM jūsu releja spailes jūsu LED vai citai ierīcei.

ķēde

Izmantojiet 4. tapu no Aveņu Pi. Uz mana izlaušanās tāfeles ir marķējums + GPCLK0; neatkarīgi no tā, tas ir ceturtais tapa, skaitot no 3V3.

pin4

Komandrindas pārbaude

Šajos piemēros es pieņemu, ka esat pieteicies, izmantojot SSH vai kā savādāk kā root lietotājs. Ja nē, dažām komandām jums būs jāpasludina ar sudo, lai norādītu paaugstinātas privilēģijas.

Pirmkārt, mums jāinstalē VaduPi.

git klons git: //git.drogon.net/wiringPi cd wiringPi ./build

Pieņemot, ka viss gāja labi, mums tagad vajadzētu būt iespējai tieši kontrolēt GPIO no komandrindas šādi:

gpio -g mode 4 out. gpio -g rakstīt 4 1

Pirmā komanda ir līdzīga Arduino iestatīšanas funkcijai, kurā mēs sakām, ka Pi kā izeju izmanto 4. tapu. Nākamā komanda tapai raksta vērtību 1, kurai vajadzētu iedarbināt tranzistoru, aktivizēt releju, aizvērt gaismas diodes ķēdi un to ieslēgt.

Satriecošs. Ja tā nav, dodieties atpakaļ un pārbaudiet vadu. Vai relejs noklikšķina?

Python

Lai arī Python nav vienīgais veids, kā sazināties ar GPIO tapām, to parasti uzskata par vienkāršāko un tas ir visbiežāk sastopamais esošajos projektos. Atšķirībā no C, Python ir salīdzinoši viegli paņemams (lūk 5 vietnes Python mācīšanai 5 labākās vietnes, lai uzzinātu Python programmēšanuVai vēlaties uzzināt Python programmēšanu? Šeit ir labākie veidi, kā mācīties Python tiešsaistē, no kuriem daudzi ir pilnīgi bez maksas. Lasīt vairāk ).

Sāciet, instalējot šādus Python paplašinājumus:

apt-get install python-dev apt-get instalēt python-rpi.gpio

Tagad izveidojiet jaunu failu ar nosaukumu test.py. Ja izmantojat komandrindu, ierakstiet

nano test.py

Ielīmējiet vai ierakstiet šo (arī uz šo pamani):

importēt RPi. GPIO kā GPIO. importa laiks. GPIO.setmode (GPIO.BCM) GPIO.setup (4, GPIO.OUT) x diapazonā (0,10): laiks miega (5) GPIO. izeja (4,1) laiks miega režīms (5) GPIO izeja (4,0)

Šis ir ļoti vienkāršs Python skripts, kas 5 sekundes ieslēdz LED (vai visu citu, ko esat pieķēris relejam), pēc tam izslēdzot uz 5 sekundēm, 10 reizes. Jums vajadzētu būt iespējai saprast lielāko daļu koda. GPIO.setmode līniju vienkārši izmanto, lai norādītu tapu numerācijas shēmu, kuru mēs izmantosim.

Tieši tā! Lai palaistu kodu, ierakstiet:

python test.py
pabeigts

Nākamnedēļ mēs nedaudz izstrādāsim iestatījumus un izdarīsim aizraujošas lietas, piemēram, pievienosim balss vadību. Ja releja ķēdē pievienosit augstsprieguma elektriskos elementus, jūs pārliecinieties, vai izmantojat atbilstoša nomināla releju tiešraidēun pārliecinieties, ka viss ir norobežots, lai tas atrastos prom no zīdaiņu vai mammas ziņkārīgajiem pirkstiem. Tomēr nopietni, esi piesardzīgs.

Lūdzu, iesūtiet savus jautājumus, komentārus, atsauksmes un haikus zemāk esošajā lodziņā, taču atcerieties, ka es novērtēšu jūs par gramatikas lietošanu.

Džeimsam ir mākslīgā intelekta bakalaura grāds, un viņš ir sertificēts CompTIA A + un Network +. Viņš ir galvenais MakeUseOf izstrādātājs un brīvo laiku pavada, spēlējot VR peintbolu un galda spēles. Kopš mazotnes viņš būvēja datorus.