- Raspberry Pi at Joystick Module:
- Kinakailangan ang Mga Bahagi:
- Diagram ng Circuit:
- Paggawa ng Paliwanag:
Sa sesyon na ito pupunta kami sa Interface ng isang Joystick kasama ang Raspberry Pi. Pangunahing ginagamit ang Joystick upang maglaro ng iba't ibang mga laro. Bagaman madaling magkonekta ang mga USB type na joystick, ngunit ngayon ikokonekta natin ang Joystick sa pamamagitan ng mga pin ng Raspberry Pi GPIO, madali itong magamit sa maraming mga kaso.
Raspberry Pi at Joystick Module:
Magagamit ang mga Joystick sa iba't ibang mga hugis at sukat. Ang isang tipikal na module ng Joystick ay ipinapakita sa larawan sa ibaba. Karaniwang nagbibigay ang module ng Joystick na ito ng Mga Analog Output at ang output voltages na ibinigay ng modyul na ito na patuloy na nagbabago alinsunod sa direksyon kung saan natin ito ilipat. At makukuha natin ang direksyon ng paggalaw sa pamamagitan ng pagbibigay kahulugan sa mga pagbabagong boltahe na ito gamit ang ilang microcontroller. Dati ay ginamit namin ang AVR Microcontroller sa Joystick.
Ang module ng Joystick na ito ay may dalawang palakol tulad ng nakikita mo. Ang mga ito ay X-axis at Y-axis. Ang bawat axis ng JOY STICK ay naka-mount sa isang potentiometer o palayok. Ang mga gitnang puntos ng mga kaldero na ito ay itinutulak bilang Rx at Ry. Kaya sina Rx at Ry ay mga variable point sa mga kaldero na ito. Kapag ang Joystick ay naka-standby, si Rx at Ry ay kumikilos bilang voltage divider.
Kapag ang joystick ay inilipat kasama ang pahalang na axis, ang boltahe sa Rx pin ay nagbabago. Katulad nito, kapag inilipat ito kasama ng patayong axis, ang boltahe sa Ry pin ay nagbabago. Kaya mayroon kaming apat na direksyon ng Joystick sa dalawang output ng ADC. Kapag inilipat ang stick, ang boltahe sa bawat pin ay mataas o mababa depende sa direksyon.
Tulad ng alam natin na ang Raspberry Pi ay walang panloob na mekanismo ng ADC (Analog to Digital Converter). Kaya't ang modyul na ito ay hindi maaaring konektado nang direkta sa Pi. Gagamitin namin ang mga kumpare na batay sa Op-amp upang suriin ang mga output ng boltahe. Ang mga OP-Amps na ito ay nagbibigay ng mga signal sa Raspberry Pi at Pi na nagpapalipat-lipat sa mga LEDs depende sa mga signal. Dito namin ginamit ang apat na LEDs upang ipahiwatig ang paggalaw ng Joystick sa apat na direksyon. Suriin ang demonstration Video sa dulo.
Ang bawat isa sa 17 mga pin ng GPIO ay hindi maaaring tumagal ng boltahe na mas mataas sa + 3.3V, kaya ang mga output ng Op-amp ay hindi maaaring mas mataas sa 3.3V. Samakatuwid pinili namin ang op-amp LM324, ang IC na ito ay may quad na pagpapatakbo amplifier na maaaring gumana sa 3V. Sa IC na ito, mayroon kaming mga naaangkop na output para sa mga output para sa aming mga Raspberry pi GPIO Pins. Dagdagan ang nalalaman tungkol sa GPIO Pins ng Raspberry Pi dito. Suriin din ang aming Raspberry Pi Tutorial Series kasama ang ilang magagandang Proyekto ng IoT.
Kinakailangan ang Mga Bahagi:
Narito ginagamit namin ang Raspberry Pi 2 Model B kasama ang Raspbian Jessie OS. Ang lahat ng pangunahing mga kinakailangan sa Hardware at Software ay dati nang tinalakay, maaari mo itong tingnan sa Panimula ng Raspberry Pi at Raspberry PI LED Blinking para sa pagsisimula, bukod sa kailangan namin:
- 1000µF capacitor
- Module ng Joystick
- LM324 Op-amp IC
- 1KΩ risistor (12 piraso)
- LED (4 na piraso)
- 2.2KΩ risistor (4 na piraso)
Diagram ng Circuit:
Mayroong apat na mga kumpare ng OP-AMP sa loob ng LM324 IC para sa pagtuklas ng apat na direksyon ng Joystick. Nasa ibaba ang diagram ng LM324 IC mula sa datasheet nito.
Ang mga koneksyon na tapos na para sa Interfacing Joystick module na may Raspberry Pi ay ipinapakita sa circuit diagram sa ibaba. Ang U1: A, U1: B, U1: C, U1: D ay nagpapahiwatig ng apat na paghahambing sa loob ng LM324. Ipinakita namin ang bawat kumpare sa circuit diagram na may kaukulang Pin no. ng LM324 IC.
Paggawa ng Paliwanag:
Para sa pagtuklas ng paggalaw ng Joystick kasama ang Y-axis, mayroon kaming OP-AMP1 o U1: A at OP-AMP2 o U1: B, at para sa pagtuklas ng paggalaw ng Joystick kasama ang X-axis, mayroon kaming OP-AMP3 o U1: C at OP-AMP4 o U1: D.
Nakita ng OP-AMP1 ang downside na paggalaw ng joystick kasama ang Y-axis:
Negatibong terminal ng kumpare ng U1: Ang A ay ibinibigay ng 2.3V (gamit ang boltahe divider circuit ng 1K at 2.2K) at ang Positibong terminal ay konektado sa Ry. Sa paglipat ng joystick pababa kasama ang Y-axis nito, tumataas ang Ry boltahe. Kapag ang boltahe na ito ay mas mataas kaysa sa 2.3V, nagbibigay ang OP-AMP ng + 3.3V na output sa output na Pin nito. Ang HIGIT na output ng lohika ng OP-AMP ay makikita ng Raspberry Pi at tumutugon si Pi sa pamamagitan ng pag-toggle ng isang LED.
Nakita ng OP-AMP2 ang pataas na paggalaw ng joystick kasama ang Y-axis:
Ang negatibong terminal ng kumpare na U1: Ang B ay ibinigay ng 1.0V (gamit ang boltahe divider circuit ng 2.2K at 1K) at ang positibong terminal ay konektado sa Ry. Sa paglipat ng joystick pataas kasama ang Y-axis nito, bumababa ang Ry boltahe. Kapag ang boltahe na ito ay mas mababa kaysa sa 1.0V, ang output ng OP-AMP ay magiging Mababa. Ang LOW na output ng lohika ng OP-AMP ay makikita ng Raspberry Pi at si Pi ay tumutugon sa pamamagitan ng pag-toggle ng isang LED.
Nakita ng OP-AMP3 ang kaliwang kilusan ng joystick kasama ang X-axis:
Negatibong terminal ng kumpare na U1: Ang C ay ibinibigay ng 2.3V (gamit ang boltahe divider circuit ng 1K at 2.2K) at ang positibong terminal ay konektado sa Rx. Sa paglipat ng joystick na naiwan kasama ang x-axis nito, tumataas ang boltahe ng Rx. Kapag ang boltahe na ito ay mas mataas kaysa sa 2.3V, nagbibigay ang OP-AMP ng + 3.3V na output sa output na Pin nito. Ang HIGH na output ng lohika ng OP-AMP ay makikita ng Raspberry Pi at si Pi ay tumutugon sa pamamagitan ng pag-toggle ng isang LED.
Nakita ng OP-AMP4 ang kanang kilusan ng joystick kasama ang X-axis:
Ang negatibong terminal ng kumpare na U1: 4 ay ibinibigay na may 1.0V (gamit ang boltahe divider circuit ng 2.2K at 1K) at ang Positibong terminal ay konektado sa Rx. Sa paglipat ng joystick nang tama sa x-axis nito, bumababa ang boltahe ng Rx. Kapag ang boltahe na ito ay mas mababa kaysa sa 1.0V, ang output ng OP-AMP ay magiging Mababa. Ang LOW na output ng lohika ng OP-AMP ay makikita ng Raspberry Pi at si Pi ay tumutugon sa pamamagitan ng pag-toggle ng isang LED.
Sa ganitong paraan ang lahat ng apat na lohika, na tumutukoy sa apat na direksyon ng Joystick, ay konektado sa Raspberry Pi. Kinukuha ng Raspberry Pi ang mga output ng mga kumpare na ito bilang mga input at tumutugon nang naaayon sa pamamagitan ng pag-toggle ng mga LED. Nasa ibaba ang mga resulta na ipinakita sa terminal ng Raspberry Pi, dahil na-print din namin ang direksyon ng Joystick sa terminal gamit ang aming Python Code.
Ang Python code at video ay ibinibigay sa ibaba. Madali ang code at maiintindihan ng mga komentong ibinigay sa code.