- ADC0804 un Aveņu Pi:
- Nepieciešamās sastāvdaļas:
- Ķēdes skaidrojums:
- Programmēšanas skaidrojums:
- Darbs:
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 sasaistīsim ADC (Analog to Digital Conversion) mikroshēmu ar Raspberry Pi. Mēs zinām visus analogos parametrus, kas nozīmē, ka tie laika gaitā pastāvīgi mainās. Pieņemsim, ka telpas temperatūra ir piemērota, telpas temperatūra mainās nepārtraukti. Šī temperatūra ir norādīta ar decimāldaļām. Bet digitālajā pasaulē nav decimāldaļu, tāpēc mums analogā vērtība jāpārvērš ciparu vērtībā. Šis pārveidošanas process tiek veikts ar ADC tehniku. Uzziniet vairāk par ADC šeit: Ievads ADC0804
ADC0804 un Aveņu Pi:
Parastajiem kontrolieriem ir ADC kanāli, bet PI nav iekšēji nodrošinātu ADC kanālu. Tātad, ja mēs vēlamies saskarni ar jebkuru analogo sensoru, mums ir nepieciešama ADC pārveidošanas vienība. Tāpēc šim nolūkam mēs izmantojam saskarni ADC0804 ar Raspberry Pi.
ADC0804 ir mikroshēma, kas paredzēta analogā signāla pārvēršanai 8 bitu digitālos datos. Šī mikroshēma ir viena no populārākajām ADC sērijām. Tā ir 8 bitu konversijas vienība, tāpēc mums ir vērtības vai 0 līdz 255 vērtības. Ar mērīšanas spriegumu, kas nepārsniedz 5V, mums būs izmaiņas uz katru 19,5mV. Zemāk ir ADC0804 pinout:
Vēl viena svarīga lieta šeit ir tā, ka ADC0804 darbojas ar 5 V un tādējādi nodrošina izvadi 5 V loģiskā signālā. 8 kontaktu izvadē (kas pārstāv 8 bitus) katrs kontakts nodrošina + 5 V izeju, lai attēlotu loģiku'1 '. Tātad problēma ir tā, ka PI loģika ir + 3,3 v, tāpēc jūs nevarat dot + 5 V loģiku PI + 3,3 V GPIO tapai. Ja jūs piešķirat + 5V jebkurai PI GPIO tapai, tā tiek sabojāta.
Tātad, lai pazeminātu loģisko līmeni no + 5 V, mēs izmantosim sprieguma dalītāja ķēdi. Mēs esam apsprieduši sprieguma dalītāja ķēdi, iepriekš to meklējot, lai to precizētu. Ko mēs darīsim, mēs izmantojam divus rezistorus, lai sadalītu + 5 V loģiku 2 * 2,5 V loģikās. Tātad pēc sadalīšanas mēs piešķirsim PI 2,5 v loģiku. Tātad, ikreiz, kad loģiku “1” uzrāda ADC0804, PI GPIO tapā + 5V vietā redzēsim + 2,5V.
Uzziniet vairāk par Raspberry Pi GPIO tapām šeit un apmeklējiet mūsu iepriekšējās apmācības.
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
- 220Ω vai 1KΩ rezistors (17 gab.)
- 10K katls
- 0,1µF kondensators (2 gab.)
- ADC0804 IC
- Maizes dēlis
Ķēdes skaidrojums:
Tas darbojas ar barošanas spriegumu + 5v un var izmērīt mainīgu sprieguma diapazonu 0-5V diapazonā.
The savienojumi sasaistei ADC0804 ar aveņu PI, tiek parādīts shēmas diagramma iepriekš.
ADC vienmēr ir daudz trokšņu, šis troksnis var ievērojami ietekmēt veiktspēju, tāpēc trokšņu filtrēšanai mēs izmantojam 0,1uF kondensatoru. Bez tā būs daudz svārstību pie izejas.
Mikroshēma darbojas uz RC (rezistors-kondensators) oscilatora pulksteņa. Kā parādīts shēmā, C2 un R20 veido pulksteni. Šeit ir svarīgi atcerēties, ka kondensatoru C2 var mainīt uz zemāku vērtību, lai iegūtu augstāku ADC konversijas ātrumu. Tomēr ar lielāku ātrumu samazināsies precizitāte. Tātad, ja lietojumprogrammai ir nepieciešama lielāka precizitāte, izvēlieties kondensatoru ar lielāku vērtību un lielākam ātrumam - ar mazāku vērtību.
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. Pēc šīm tapām mēs noteiksim 8 bitu ADC datus.
IO.setup (4, IO.IN) IO.setup (17, IO.IN) IO.setup (27, IO.IN) IO.setup (22, IO.IN) IO.setup (5, IO.IN) IO.setup (6, IO.IN) IO.setup (13, IO.IN) IO.setup (19, 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 19 iet uz augšu, tad IF cilpas paziņojumi tiks izpildīti vienu reizi. Ja GPIO 19. kontakts nenokļūst augstā līmenī, IF loka iekšējie priekšraksti netiks izpildīti.
ja (IO.input (19) == 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:
Sīkāks programmas skaidrojums ir norādīts zemāk esošajā koda sadaļā.
Darbs:
Pēc programmas uzrakstīšanas un izpildes ekrānā redzēsiet “0”. '0' nozīmē 0 voltu pie ieejas.
Ja pielāgosim mikroshēmai pievienoto 10K podu, ekrānā redzēsim izmaiņas vērtībās. Ekrāna vērtības nepārtraukti ritina, tās ir PI nolasītās digitālās vērtības.
Sakiet, ja mēs saņemam banku līdz viduspunktam, ADC0804 ieejā mums ir + 2,5 V. Tātad ekrānā redzam 128, kā parādīts zemāk.
+ 5V analogajai vērtībai mums būs 255.
Tātad, mainot trauku, mēs ADC0804 ieejā mainām spriegumu no 0 līdz + 5V. Ar šo PI nolasiet vērtības no 0 līdz 255. Vērtības tiek drukātas uz ekrāna.
Tātad mēs esam sasaistījuši ADC0804 ar Raspberry Pi.