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. Šīs Raspberry Pi apmācības sērijas beigās jūs pats varēsiet veikt augsta līmeņa projektus. Iet cauri tālāk sniegtajām apmācībām:
- Darba sākšana ar Raspberry Pi
- Aveņu Pi konfigurācija
- LED mirgo
- Aveņu Pi pogas saskarne
- Aveņu Pi PWM paaudze
- DC motora vadība, izmantojot Raspberry Pi
- Stepper motora vadība ar Raspberry Pi
- Saskarņu maiņu reģistrs ar Raspberry Pi
Šajā apmācībā mēs sazināsimies ar kapacitatīvo skārienpaliktni ar Raspberry Pi. Kapacitatīvajam skārienpaliktnim ir 8 taustiņi no 1 līdz 8. Šie taustiņi nav precīzi taustiņi, tie ir skārienjutīgi paliktņi, kas novietoti uz PCB. Kad mēs pieskaramies vienam no spilventiņiem, spilventiņi uz tā virsmas izmaina kapacitātes izmaiņas. Šīs izmaiņas uztver vadības bloks un vadības bloks, kā atbilde izvelk atbilstošo tapu augstu izejas pusē.
Mēs pievienosim šo ietilpīgo skārienpaliktņa sensora moduli Raspberry Pi, lai to izmantotu kā PI ievades ierīci.
Pirms došanās tālāk, mēs nedaudz apspriedīsimies par Raspberry Pi GPIO Pins.
GPIO piespraudes:
Kā parādīts iepriekšējā attēlā, PI ir 40 izejas tapas. Bet, aplūkojot otro zemāk redzamo attēlu, var redzēt, ka ne visas 40 tapas var ieprogrammēt mūsu lietošanai. Tās ir tikai 26 GPIO tapas, kuras var ieprogrammēt. Šīs tapas pāriet no GPIO2 uz GPIO27.
Šīs 26 GPIO tapas var ieprogrammēt pēc vajadzības. Daži no šiem tapām arī veic dažas īpašas funkcijas, par to mēs apspriedīsim vēlāk. Atstājot īpašu GPIO, mums ir palikuši 17 GPIO (gaiši zaļa krāsa).
Katra no šīm 17 GPIO tapām var piegādāt ne vairāk kā 15 mA strāvu. Un visu GPIO strāvu summa nedrīkst pārsniegt 50mA. Tātad no katras šīs GPIO tapas mēs varam vidēji uzzīmēt maksimāli 3mA. Tāpēc nevajadzētu traucēt šīm lietām, ja vien nezināt, ko darāt.
Vēl viena svarīga lieta šeit ir tā, ka PI loģiskā vadība ir + 3,3 V, tāpēc PI GPIO pin nevar dot vairāk kā + 3,3 V loģiku. Ja jūs piešķirat + 5V jebkurai PI GPIO tapai, tā tiek sabojāta. Tāpēc, lai iegūtu pareizu PI loģisko izeju, mums jāaktivizē kapacitatīvais skārienpaliktnis ar + 3,3 V.
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
- Kapacitatīvs skārienpaliktnis
Ķēdes shēma:
Savienojumi, kas tiek veikti kapacitatīvās skārienpaliktņa saskarnei, ir parādīti iepriekšminētajā shēmā.
Darbības un programmēšanas skaidrojums:
Kad viss ir savienots, kā norādīts shēmā, mēs varam ieslēgt PI, lai programmu ierakstītu PYHTON.
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. Tāpat kā “PIN 29” uz tāfeles ir “GPIO5”. Tātad mēs šeit sakām, vai nu mēs šeit parādīsim tapu ar “29” vai “5”.
IO.setmode (IO.BCM)
Mēs iestatām 8 tapas kā ievades tapas. Mēs atklāsim 8 galvenās izejas no kapacitatīvā skārienpaliktņa.
IO.setup (21, IO.IN) IO.setup (20, IO.IN) IO.setup (16, IO.IN) IO.setup (12, IO.IN) IO.setup (25, IO.IN) IO.setup (24, IO.IN) IO.setup (23, IO.IN) IO.setup (18, IO.IN)
Gadījumā, ja nosacījums lencēs ir patiess, paziņojumi cilpas iekšpusē tiks izpildīti vienu reizi. Tātad, ja GPIO spraudnis 21 iet uz augšu, tad IF cilpas iekšējie paziņojumi tiks izpildīti vienu reizi. Ja GPIO spraudnis 21 nepaaugstinās, IF loka iekšējie priekšraksti netiks izpildīti.
ja (IO.input (21) == True):
Zemāk esošā komanda tiek izmantota kā uz visiem laikiem, ar šo komandu šīs cilpas iekšējie paziņojumi tiks izpildīti nepārtraukti.
Kamēr 1:
Kad esam uzrakstījuši zemāk esošo programmu PYTHON un izpildījuši, esam gatavi doties. Pieskaroties spilventiņam, modulis uzvelk atbilstošo tapu, un PI nosaka šo sprūdu. Pēc noteikšanas PI izdrukā ekrānā atbilstošo taustiņu.
Tādējādi mums ir saskarnes kapacitatīvais skārienpaliktnis ar PI.