Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Industriële technologie

Arduino-joystickmodule:hoe u er effectief een kunt maken?

Joystick-module

Ben je momenteel bezig met projecten op het gebied van beweging en robotica? Dan is er een kans dat je waarschijnlijk hebt gehoord over de Arduino Joystick-module, maar je weet niet hoe je er een moet maken.

Of wil je misschien meer informatie over hoe een Arduino joystick module werkt?

Dan ben je hier aan het juiste adres.

Het doel van een Arduino Joystick is om beweging naar een Arduino te communiceren. En hij doet dit in 2D (2-assig), waardoor hij geschikt is voor bewegings- en robotica-toepassingen.

In dit artikel leer je dus alles over de Arduino-joystickmodule, hoe deze werkt en hoe je een eenvoudig Arduino-joystickcircuit maakt.

Ben je klaar? Laten we erin springen!

Wat is een joystickmodule?

Er is bijna geen robotproject waarvoor geen joystick nodig is. Het is soms moeilijk om een ​​controller te vinden die geschikt is voor uw projecten, en het kan zelfs duur zijn. Maar een joystickmodule biedt een meer betaalbare manier om hetzelfde resultaat te bereiken.

Ook werkt de joystickmodule op dezelfde manier als de joysticks in analoge gamepads. De belangrijkste componenten zijn twee potentiometers die in een hoek van 90 graden zijn gekanteld. Verder is er een verbinding tussen een korte stok (met veren in het midden) en de potmeters.

Potentiometers

De joystickmodule kan in rust ongeveer 2,5 V van de X- en Y-as produceren. Als u nu de joystick beweegt, varieert de uitvoer van 0V tot 5V. Dit is echter afhankelijk van de richting.

Plus, als je een microcontroller met de joystickmodule gebruikt, zou de werkelijke waarde in de rustpositie rond de 512 zijn. Dus als je deze joystick beweegt, zie je de waarden veranderen van 0 naar 1023, maar dit hangt af van de positie.

Pinconfiguratie

Hier is de pinconfiguratie voor de joystickmodule:

Pinnummer Pinnaam Beschrijving
1 GND De aardklem van de module
2 +5V De positieve voedingsklem van de module
3 VRx De spanning evenredig met de X-as
4 VRy De spanning evenredig met de Y-as
5 ZW De schakelaar van de module

Features

Dit zijn de belangrijkste kenmerken van de Arduino-joystickmodule:

  • Het heeft twee onafhankelijke potentiometers voor elke as (X en Y)
  • Het weegt niet veel
  • Je kunt de module eenvoudig koppelen met de meeste microcontrollers of Arduino
  • Het keert automatisch terug naar de middenpositie wanneer het niet in gebruik is
  • Het heeft ook een kopvormige knop

Technische specificaties

De specificaties van de joystickmodule omvatten:

  • Het heeft een bedrijfsspanning van 5V
  • De waarde van de interne potentiometer is 10k
  • De bedrijfstemperatuur is ongeveer 0 tot 70 graden Celsius
  • De draden van de pin-interface zijn 2,54 mm
  • De afmetingen van de joystickmodule zijn:1,57 in x 1,02 in x 1,26 in (4,0 cm x 2,6 cm x 3,2 cm)
  • Het heeft vijf pinnen
  • Twee potentiometers regelen de horizontale richtingen en verticale richtingen van de module.

Schematisch diagram

De afbeelding hieronder toont het volledige schema van de joystickmodule. Zoals we eerder vermeldden, heeft de module twee potentiometers die de X- en Y-as regelen.

Schema's voor joystickmodule

Bovendien bewegen beide potentiometers (10k) onafhankelijk van elkaar. Met andere woorden, u kunt ze afzonderlijk en in hun richting verplaatsen. Er is ook een interne verbinding van de schakelaar (SW) pin naar de drukknop.

Joystick koppelen met Arduino

Joystick-modules zijn compatibel met veel microcontrollers zoals Raspberry Pi, Arduino en andere. Bovendien is de interface eenvoudig en moet u eerst de VRx- en VRy-aspinnen aansluiten op de ADC-pinnen van de microcontroller.

Als u van plan bent een schakelaar te gebruiken, moet u de knop ook verbinden met de digitale pinnen van de microcontroller.

Bekijk het onderstaande diagram om te begrijpen hoe u de joystickmodule op een microcontroller kunt aansluiten.

Joystickmodule naar microcontroller

Nu zal het volgende diagram u laten zien hoe u een joystickmodule met een Arduino kunt verbinden. Met dit diagram kun je de module op de Arduino aansluiten. Je krijgt ook een output afhankelijk van de richting waarin je de joystickknop beweegt.

Joystick-module naar Arduino

Als u klaar bent met interfacing, zullen we zien dat elke richting een vast uitvoerbereik heeft. De volgende afbeelding toont u de uitvoer voor de X- en Y-as, afhankelijk van de beweging van de joystickmodule in de vier richtingen, +X, -X, +Y en –Y. Er zullen ook enkele analoge waarden zijn als u de knop diagonaal beweegt.

Bewegingsinstructies

Als je wilt weten wanneer je je joystickknop indrukt, kun je ook de SW-pin aansluiten op digitale pin 8 van de Arduino.

Bovendien heeft de joystick stroom nodig om correct te werken. Sluit dus de VCC-pin aan op de 5V-terminal van de Arduino en de GND op de GND-terminal van de Arduino.

Arduino-code

Het is vrij eenvoudig om dit programma te coderen op Arduino IDE. Dus om de beste resultaten te krijgen, meet je de beweging van de joystick vanaf één digitale ingangspen en twee analoge ingangen. Vervolgens zal de Arduino de impact op uw monitor weergeven.

Hier is het beste deel

U hebt geen bibliotheek nodig om dit programma te coderen. Het leest eenvoudig de analoge ingang en geeft de waarden weer die het ervan krijgt. Bovendien toont het ook de output van de druk op de knop.

Hier is de ruwe schets van de code:

  1. #define joyX A0
  2. #define joyY A1
  3. ongeldig instellen () {
  4. Seriële . begin ( 9600 );
  5. }
  6. ongeldig lus () {
  7. // plaats hier je hoofdcode om herhaaldelijk uit te voeren:
  8. xWaarde = analoog lezen ( joyX );
  9. yWaarde = analoog lezen ( joyY );
  10. //print de waarden met om te plotten of te bekijken
  11. Seriële . afdrukken ( xWaarde );
  12. Seriële . afdrukken ( ”\t” );
  13. Seriële . println ( yWaarde );

Afbeelding met de Arduino-code

In kaart brengen

Soms gaat het niet alleen om het lezen van analoge waarden, en kan het nodig zijn om uw module toe te wijzen aan een display of andere interfaces. Dus om je daarbij te helpen, laten we je zien hoe je de waarden van de bovenstaande code in kaart brengt in een 8×8 led-matrix.

Arduino-toewijzing

Het resultaat van dit proces is dat de weergegeven pixels met de joystick worden verplaatst. Het is ook gemakkelijk om de code te wijzigen om deze toe te wijzen aan een OLED- of grafisch scherm.

  1. #include “LedControl.h”
  2. #define joyX A0
  3. #define joyY A1
  4. int xMap , yKaart , xWaarde , yWaarde ;
  5. LedControl lc = LedControl ( 12 , 11 , 10 , 1 );
  6. ongeldig instellen () {
  7. Seriële . begin ( 115200 );
  8. lc . afsluiten ( 0 , onwaar );
  9. /* Stel de helderheid in op een gemiddelde waarde */
  10. lc . setIntensity ( 0 , 8 );
  11. /* en wis het scherm */
  12. lc . clearDisplay ( 0 );
  13. }
  14. ongeldig lus () {
  15. // plaats hier je hoofdcode om herhaaldelijk uit te voeren:
  16. xWaarde = analoog lezen ( joyX );
  17. yWaarde = analoog lezen ( joyY );
  18. xMap = kaart ( xWaarde , 0 , 1023 , 0 , 7 );
  19. yKaart = kaart ( yWaarde , 0 , 1023 , 7 , 0 );
  20. lc . setLed ( 0 , xMap , yKaart , waar );
  21. lc . clearDisplay ( 0 );
  22. }

Afbeelding van code die nodig is om de Arduino toe te wijzen aan een OLED- of grafisch display

Opmerking:de bovenstaande code laat zien dat u de functie map() kunt gebruiken om de bereiken in kaart te brengen om aan uw voorkeuren te voldoen.

Dus als je alles goed hebt gedaan, zou de uitvoer op je seriële monitor er als volgt uit moeten zien:

Toepassingen

Hier zijn enkele toepassingen van de Arduino Joystick-module:

  • Je kunt de joystickmodule gebruiken in robotica

Robotdrone

  • Je kunt ook de beweging van een beweegbare camera regelen

Beweegbare camera

  • Een breed scala aan bewegingstoepassingen

Afronding naar boven

Als je het woord Joystick hoort, denk je als eerste aan gamecontrollers. Er zijn echter zoveel spannende toepassingen van de joystickmodule als het gaat om doe-het-zelf-elektronica.

Spelcontrollers

Bovendien werken deze modules voornamelijk voor doe-het-zelfprojecten op basis van Arduino en robotbesturing. Zoals we eerder hebben besproken, heeft de joystickmodule eerst analoge uitgang vrijgegeven om de analoge ingang te voeden, afhankelijk van de horizontale of verticale beweging van de stick.

Nou, dat rondt dit artikel af. Als u vragen of suggesties heeft, neem dan gerust contact met ons op. We zijn altijd blij om te helpen.


Industriële technologie

  1. Een aanpasbare ponsbare toetsenbordknop maken
  2. Hoe Arduino Mega te interfacen met NEO-6M GPS-module
  3. Arduino-joystick
  4. Muziek maken met een Arduino
  5. Hoe maak je op Arduino gebaseerde automatische deuropening
  6. Hoe maak je een Arduino Bluetooth-gestuurde auto
  7. Hoe maak je thuis een mini-oscilloscoop met Arduino Nano
  8. Arduino-zelfstudie:JARVIS v1 | Hoe maak je een huisautomatisering
  9. rDUINOScope
  10. Hoe maak je thuis een robot met gebarenbesturing
  11. Hoe maak je thuis een grote 3D-printer met Arduino