Nota

Ciao, benvenuto nella Community di SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.

Perché Unirsi?

  • Supporto da Esperti: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra community e del nostro team.

  • Impara e Condividi: Scambia consigli e tutorial per migliorare le tue competenze.

  • Anteprime Esclusive: Ottieni accesso anticipato agli annunci di nuovi prodotti e anteprime.

  • Sconti Speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.

  • Promozioni Festive e Giveaway: Partecipa a giveaway e promozioni festive.

👉 Pronto a esplorare e creare con noi? Clicca [Qui] e unisciti oggi stesso!

4.1 Utilizzo del Joystick

Se giochi molto ai videogiochi, allora dovresti essere molto familiare con il Joystick. Di solito è utilizzato per muovere il personaggio, ruotare lo schermo, ecc.

Il principio alla base della capacità del Joystick di permettere al computer di leggere le nostre azioni è molto semplice. Può essere considerato come composto da due potenziometri perpendicolari tra loro. Questi due potenziometri misurano il valore analogico del joystick in senso verticale e orizzontale, risultando in un valore (x,y) in un sistema di coordinate rettangolari planari.

Il joystick di questo kit ha anche un input digitale, che viene attivato quando il joystick viene premuto.

Componenti Necessari

In questo progetto, abbiamo bisogno dei seguenti componenti.

È sicuramente conveniente acquistare un kit completo, ecco il link:

Nome

ELEMENTI IN QUESTO KIT

LINK

Kepler Kit

450+

Kepler Ultimate Kit

Puoi anche acquistarli separatamente dai link sottostanti.

SN

COMPONENTE

QUANTITÀ

LINK

1

Introduzione al Pico W

1

ACQUISTA

2

Cavo Micro USB

1

3

Breadboard

1

ACQUISTA

4

Cavi Jumper

Diversi

ACQUISTA

5

Resistenza

1(10KΩ)

ACQUISTA

6

Modulo Joystick

1

Schema Elettrico

sch_joystick

Il pin SW è collegato a una resistenza di pull-up da 10K, il motivo è quello di ottenere un livello logico stabile sul pin SW (asse Z) quando il joystick non è premuto; altrimenti, il pin SW sarebbe in uno stato sospeso e il valore in uscita potrebbe variare tra 0 e 1.

Collegamenti

wiring_joystick

Codice

Nota

  • Apri il file 4.1_toggle_the_joystick.py nel percorso kepler-kit-main/micropython o copia questo codice in Thonny, poi clicca su «Esegui Script Corrente» o semplicemente premi F5 per eseguirlo.

  • Non dimenticare di selezionare l’interprete «MicroPython (Raspberry Pi Pico)» nell’angolo in basso a destra.

  • Per tutorial dettagliati, fai riferimento a Aprire ed Eseguire Codice Direttamente.

import machine
import utime

x_joystick = machine.ADC(27)
y_joystick = machine.ADC(26)
z_switch = machine.Pin(22,machine.Pin.IN)

while True:
    x_value = x_joystick.read_u16()
    y_value = y_joystick.read_u16()
    z_value = z_switch.value()
    print(x_value,y_value,z_value)
    utime.sleep_ms(200)

Dopo l’esecuzione del programma, la Shell stamperà i valori x,y,z del joystick.

  • I valori degli assi x e y sono valori analogici che variano da 0 a 65535.

  • L’asse Z è un valore digitale con uno stato di 1 o 0.