- „Raspberry Pi“ ir vairasvirtės modulis:
- Būtini komponentai:
- Grandinės schema:
- Darbinis paaiškinimas:
Šioje sesijoje mes eisime į „Joystick“ sąsają su „Raspberry Pi“. Vairasvirtė pirmiausia naudojama įvairiems žaidimams žaisti. Nors USB tipo vairasvirtes lengva prijungti, tačiau šiandien vairasvirtę sujungsime per „Raspberry Pi GPIO“ kaiščius, daugeliu atvejų tai bus naudinga.
„Raspberry Pi“ ir vairasvirtės modulis:
Vairas yra įvairių formų ir dydžių. Tipinis „ Joystick“ modulis parodytas paveikslėlyje žemiau. Šis vairasvirtės modulis paprastai teikia analoginius išėjimus, o šio modulio teikiamos išėjimo įtampos nuolat keičiasi atsižvelgiant į kryptį, kuria mes jį judame. Ir mes galime gauti judėjimo kryptį interpretuodami šiuos įtampos pokyčius naudodami kokį nors mikrovaldiklį. Anksčiau mes naudojome AVR mikrovaldiklį su „Joystick“.
Šis vairasvirtės modulis turi dvi ašis, kaip matote. Jie yra X ir Y ašys. Kiekviena JOY STICK ašis pritvirtinta prie potenciometro ar puodo. Šių puodų vidurio taškai išstumiami kaip Rx ir Ry. Taigi Rx ir Ry yra kintantys šių puodų taškai. Kai vairasvirtė yra budėjimo režime, Rx ir Ry veikia kaip įtampos daliklis.
Kai vairasvirtė perkeliama išilgai horizontalios ašies, Rx kaiščio įtampa pasikeičia. Panašiai, kai ji juda išilgai vertikalios ašies, Ry kaičio įtampa keičiasi. Taigi mes turime keturias vairasvirtės kryptis dviem ADC išėjimais. Judinant lazdą, kiekvieno kaiščio įtampa padidėja arba sumažėja, priklausomai nuo krypties.
Kaip žinome, „ Raspberry Pi“ neturi vidinio ADC („Analog to Digital Converter“) mechanizmo. Taigi šio modulio negalima tiesiogiai prijungti prie Pi. Norėdami patikrinti įtampos išėjimus, naudosime „Op-amp“ pagrindu veikiančius palygintuvus. Šie OP stiprintuvai teikia signalus „Raspberry Pi“, o Pi perjungia šviesos diodus priklausomai nuo signalų. Čia naudojome keturis šviesos diodus, kad nurodytumėte vairasvirtės judėjimą keturiomis kryptimis. Pabaigoje patikrinkite demonstracinį vaizdo įrašą.
Kiekvienas iš 17 GPIO kaiščių negali priimti didesnės nei + 3,3 V įtampos, todėl „Op-amp“ išėjimai negali būti didesni nei 3,3 V. Taigi mes pasirinkome op-amp LM324, šis IC turi keturių greičių stiprintuvą, kuris gali veikti esant 3 V įtampai. Su šiuo IC mes turime tinkamus išėjimus, skirtus mūsų Raspberry pi GPIO kaiščių išėjimams. Sužinokite daugiau apie „Raspberry Pi“ GPIO kaiščius čia. Taip pat patikrinkite mūsų „Raspberry Pi Tutorial“ seriją kartu su keletu gerų DI projektų.
Būtini komponentai:
Čia mes naudojame „ Raspberry Pi 2 Model B“ su „Raspbian Jessie OS“. Visi pagrindiniai aparatinės ir programinės įrangos reikalavimai buvo aptarti anksčiau, jų galite rasti „Raspberry Pi“ įvade ir mirksi „Raspberry PI“ šviesos diodas, išskyrus tai, ko mums reikia:
- 1000µF kondensatorius
- Vairasvirtės modulis
- LM324 Op-amp IC
- 1KΩ rezistorius (12 vnt.)
- LED (4 vnt.)
- 2.2KΩ rezistorius (4 vnt.)
Grandinės schema:
LM324 IC viduje yra keturi OP-AMP palygintuvai, skirti aptikti keturias vairasvirtės kryptis. Žemiau pateikiama LM324 IC schema iš jos duomenų lapo.
Jungtys, atliekamos „ Joystick“ modulio sąsajoje su „Raspberry Pi“, parodytos žemiau esančioje grandinės schemoje. U1: A, U1: B, U1: C, U1: D nurodo keturis lygintuvus LM324 viduje. Kiekvieną palygiklį parodėme grandinės schemoje su atitinkamu kaiščiu Nr. iš LM324 IC.
Darbinis paaiškinimas:
Norėdami nustatyti vairasvirtės judėjimą išilgai Y ašies, turime OP-AMP1 arba U1: A ir OP-AMP2 arba U1: B, o vairasvirtės judėjimą palei X ašį - OP-AMP3 arba U1.: C ir OP-AMP4 arba U1: D.
OP-AMP1 nustato vairasvirtės judėjimą palei Y ašį:
Neigiamas komparatoriaus U1 gnybtas: A tiekiamas su 2,3 V (naudojant įtampos daliklio grandinę 1K ir 2,2K), o teigiamasis gnybtas yra prijungtas prie Ry. Judant vairasvirtę žemyn palei jos ašį, Ry įtampa padidėja. Kai ši įtampa bus didesnė nei 2,3 V, OP-AMP savo išvesties kaiščiu suteikia + 3,3 V išėjimą. Šį AUKŠTĄ loginį OP-AMP išėjimą aptiks „Raspberry Pi“, o Pi atsakys perjungdamas šviesos diodą.
„OP-AMP2“ nustato vairasvirtės judėjimą išilgai Y ašies:
Neigiamas komparatoriaus U1 gnybtas yra aprūpintas 1,0 V įtampa (naudojant įtampos daliklio grandinę 2,2 K ir 1 K), o teigiamasis gnybtas yra prijungtas prie Ry. Judinant vairasvirtę aukštyn išilgai Y ašies, Ry įtampa mažėja. Kai ši įtampa bus žemesnė nei 1,0 V, OP-AMP išėjimas bus žemas. Šią LOW loginę OP-AMP išvestį aptiks „Raspberry Pi“, o Pi atsakys perjungdamas šviesos diodą.
OP-AMP3 aptinka vairasvirtės kairės pusės judėjimą išilgai X ašies:
Neigiamas komparatoriaus U1 terminalas: C tiekiamas su 2,3 V (naudojant įtampos daliklio grandinę 1K ir 2,2K), o teigiamasis gnybtas prijungtas prie Rx. Judant vairasvirtę kairę išilgai x ašies, Rx įtampa padidėja. Kai ši įtampa bus didesnė nei 2,3 V, OP-AMP savo išvesties kaiščiu suteikia + 3,3 V išėjimą. Šį AUKŠTĄ loginį OP-AMP išėjimą aptiks „Raspberry Pi“, o Pi atsakys perjungdamas šviesos diodą.
OP-AMP4 aptinka vairasvirtės judėjimą dešinėje pusėje išilgai X ašies:
Neigiamas komparatoriaus U1: 4 gnybtas yra aprūpintas 1,0 V įtampa (naudojant įtampos daliklio grandinę 2,2 K ir 1 K), o teigiamasis gnybtas prijungtas prie Rx. Judant vairasvirtę į dešinę išilgai x ašies, Rx įtampa mažėja. Kai ši įtampa bus žemesnė nei 1,0 V, OP-AMP išėjimas bus žemas. Šią LOW loginę OP-AMP išvestį aptiks „Raspberry Pi“, o Pi atsakys perjungdamas šviesos diodą.
Tokiu būdu visos keturios logikos, lemiančios keturias vairasvirtės kryptis, sujungiamos su Raspberry Pi. „Raspberry Pi“ ima šių palyginimų išvestis kaip įvestį ir atitinkamai reaguoja perjungdama šviesos diodus. Žemiau pateikiami „Raspberry Pi“ terminalo rezultatai, nes mes taip pat atspausdinome Joystick kryptį terminale, naudodami savo „Python“ kodą.
„Python“ kodas ir vaizdo įrašas pateikiami žemiau. Kodas yra lengvas ir jį galima suprasti pagal kode pateiktus komentarus.