Na boyekoli oyo, tokoyekola ndenge ya kosangisa joystick ya XY na microcontrôleur ya ESP32 oyo ewuti na SunFounder, mpo na koyeba esika ezali mpe kosala likambo kolanda oyo eyaki. Tokosangisa mpe buzzer oyo ekobéta ntango joystick ekotikala na esika moko ya sikisiki. Bosangisi oyo ekopesa biso nzela ya kosala misala oyo ekosala na bato na tango ya solo.
ESP32-26-xy-joystick-main
Joystick ya XY epesaka ba sorties mibale ya analogique oyo ekokani na ba positions ya X mpe Y, mpe commutateur oyo ekoki kopekama mpo na kosala likambo. Na kotanga ba valeurs oyo ewuti na joystick, tokoki kokamba ba éléments ndenge na ndenge na projet na biso, lokola kopelisa buzzer to kolakisa ba valeurs na écran. Mpo na kososola mobimba, tala vidéo mpo na ba informations ya libwɛ (na vidéo na 00:00).
Matériel oyo esili kolimbolama
Ba composants ya minene mpo na projet oyo ezali na microcontrôleur ya ESP32, joystick ya XY, mpe buzzer. ESP32 ezali carte oyo ezali na capacité ya Wi-Fi mpe Bluetooth, oyo esalaka ete ezala malamu mpo na ba projets ya IoT. Joystick ya XY ezali na ba résistances mibale ya variable mpo na ba axes X mpe Y, mpe bouton poussoir mpo na entrée ya kobakisa.
joystick_schematicESP32-26-xy-joystick-schematic
Joystick epesaka ba signaux analogiques oyo ekokani na esika na yango, oyo etangamaka na ba pins analogiques ya ESP32. Bouton poussoir epesaka signal numérique ntango epesami. Buzzer esangisami na pin ya sortie numérique na ESP32, oyo epesaka nzela ya kopelisa to kokanga yango kolanda esika joystick ezali.
Ba Détails ya Datasheet
Fabricant
SunFounder
Numéro ya partie
Module ya Joystick XY
Tension ya fonctionnement
3.3 V – 5 V
Valeur ya résistance
10 kΩ (axe moko na moko)
Courant ya maximum
20 mA
Type ya commutateur
Bouton poussoir ya mwa tango
Dimensions
Pene na 50 mm x 50 mm
Kokamba ete joystick ezala na tension ya 3.3 V mpo na kosangana na ESP32.
Salela ba résistances ya pull-up mpo na commutateur mpo na kokima ba entrées oyo ezali na valeur ya semba te.
Kosangisa ba sorties analogiques na ba pins ADC ya ESP32 (34 mpo na X, 35 mpo na Y).
Salela mécanisme ya debounce mpo na commutateur mpo na kokima kotriga ya mabe.
Kotala ba niveaux ya tension mpo na kokamba ete bafanda na ba limites ya sécurité.
Ba Instructions ya Câblage
ESP32-26-xy-joystick-wiring
Mpo na kosangisa joystick na ESP32, banda na kosangisa pin ya terre ya joystick na pin ya terre na ESP32. Na sima, sangisa pin ya VCC ya joystick na pin ya 3.3 V na ESP32. Joystick ezali na ba pins mibale ya sortie analogique: sangisa sortie ya axe X (oyo ekomami VRX) na pin 34 na ESP32 mpe sortie ya axe Y (oyo ekomami VRY) na pin 35.
Mpo na sortie ya commutateur, sangisa pin ya commutateur na pin 33 na ESP32. Pin oyo ekotanga bokangami ya bouton lokola entrée numérique. Kamba ete ba connexions ezala ya libemba mpo na kokima ba problèmes ya ntango mosusu. Soki câblage na yo ekeseni na oyo ya vidéo (na vidéo na 02:30), yokola yango kolanda ba principes ndenge moko mpo na ba connexions analogiques mpe numériques.
Ba Exemples ya Code & Explication
Na code, tobandi na kolimbola ba constantes mpo na ba pins ya joystick. Ba identifiants xAxis, yAxis, mpe btn basili kotiama na 34, 35, mpe 33, na ndenge yango. Oyo esalaka ete ezala pete mpo na kotalela ba pins oyo na boumeli ya programme.
#define xAxis 34
#define yAxis 35
#define btn 33
Na fonction setup(), tobandisi communication ya série mpe totyolaka mode ya pin ya bouton na entrée. Oyo elengisaka ESP32 mpo na kotanga ba données oyo ewuti na joystick mpe kotinda yango na moniteur ya série.
Na kati ya loop(), totangaka ba valeurs analogiques mpo na ba axes X mpe Y ya joystick na kosalela analogRead() mpe tobulukaka yango na xValue mpe yValue. Ekateli ya bouton etangamaka na kosalela digitalRead() mpe ebulukami na btnValue. Na suka, tokomaka ba valeurs oyo na moniteur ya série.
void loop() {
int xValue = analogRead(xAxis);
int yValue = analogRead(yAxis);
int btnValue = digitalRead(btn);
Serial.printf("Valeur ya joystick ezali %d , %d , %d \n",xValue,yValue,btnValue);
delay(300); // Libaku kati na ba lectures
}
Boucle oyo ezali kokoba na kobongola ba valeurs, epesaka ba réactions na tango ya solo mpo na mouvement ya joystick mpe bokangami ya bouton. Mpo na code mobimba, tala code mobimba oyo ekomami na nse ya article.
Démonstration / Nini Okokanela
Ntango installation esili mpe code ekomami, moniteur ya série esengeli kolakisa ba valeurs ya X mpe Y elongo na ekateli ya bouton. Ntango okotika joystick, ba valeurs ekobongwana na ndenge yango, kolakisa esika na yango. Kobeta bouton ekobongola ekateli na yango kati na likolo mpe na nse.
Makambo ya mbala mingi ezali na kati ya ba connexions ya mabe, oyo ekoki komemela ba entrées ya kopɛpɛ to kozanga réponse ya joystick. Sɔ́plɛ ete ba pins ya mibeko esalelami mpe ba résistances ya kopɛpɛ esalelami mpo na commutateur. Tala vidéo mpo na ndakisa ya misala oyo (na vidéo na 13:00).
Ba Timestamps ya Vidéo
00:00 Ebandeli
1:47 Introduction na XY Joystick
7:32 Komeka ba valeurs ya Joystick
8:40 Explication ya ba connexions
11:06 Explication ya code Arduino mpo na Joystick na ESP32
14:43 Kopona carte ESP32 mpe port COM na Arduino IDE
16:24 Ndakisa ya kosalela Joystick na ndenge ya pete
826-ESP32 Tutorial 26/55- Arduino code for XY Joystick
Langue: C++
// Define constants for the x and y axis and the button pins
#define xAxis 34
#define yAxis 35
#define btn 33
void setup() {
// Initialize serial communication at 115200 bits per second:
Serial.begin(115200);
// Set the mode of the button pin to input
pinMode(btn, INPUT);
}
void loop() {
// Read the analog value for x,y axis
int xValue = analogRead(xAxis);
int yValue = analogRead(yAxis);
// Read the digital value from the button pin
int btnValue = digitalRead(btn);
// print out the values
Serial.printf("Joystick value is %d , %d , %d \n",xValue,yValue,btnValue);
delay(300); // Delay between reads
}
Divulgación: Como Asociado de Amazon, ganamos por compras calificadas. Esto significa que podemos recibir una pequeña comisión si haces clic en un enlace y realizas una compra sin costo adicional para ti.