Difference between revisions of "Arduino - Een joystick"

From SPAD-it Wiki
Jump to: navigation, search
(Created page with "Een joystick kan in twee richtinegn bewegen. De horizontale richting noemen we de x-richting en de vertikale richting de y-richting. Daarmee kun je twee dingen besturen met ee...")
 
Line 1: Line 1:
Een joystick kan in twee richtinegn bewegen. De horizontale richting noemen we de x-richting en de vertikale richting de y-richting. Daarmee kun je twee dingen besturen met een enkele knop. Een joystick heeft in het algemeen vier aansluitingen: nul, VCC (voedingsspanning) en twee signaal-aansluitingen, een voor elke richting. Van binnen heeft een joystick twee [[Arduino_-_PWM#De_schakeling|potmeters]] die zo zijn geschakeld dat de twee signaal-aansluitingen spanningen afgeven tussen nul en VCC. In ruststand staat de joystick in het midden en zijn ook de spanningen voor x en y in het midden tussen 0 en VCC.
+
Een joystick kan in twee richtinegn bewegen. De horizontale richting noemen we de x-richting en de vertikale richting de y-richting. Daarmee kun je twee dingen besturen met een enkele knop. Een joystick heeft in het algemeen vier aansluitingen: nul, Vcc (voedingsspanning) en twee signaal-aansluitingen, een voor elke richting. Van binnen heeft een joystick twee [[Arduino_-_PWM#De_schakeling|potmeters]] die zo zijn geschakeld dat de twee signaal-aansluitingen spanningen afgeven tussen nul en Vcc. In ruststand staat de joystick in het midden en zijn ook de spanningen voor x en y in het midden tussen 0 en Vcc. Een Arduino kan dus de stand van de joystick bepalen door die twee spanningen te meten en actie ondernemen op basis van die informatie. Een joystick gebruikt dan natuurlijk wel twee analoge ingangen van de Arduino. Geen probleem: je hebt er dan nog vier over.
  
 
===De schakeling===
 
===De schakeling===
  
 
Extra benodigdheden:
 
Extra benodigdheden:
*1 onderdeel  zus
+
*1 joystick module
*8 onderdelen zo van 18kΩ
 
  
 
{|class="wikitable"
 
{|class="wikitable"
 
|-
 
|-
|[[Bestand:naam bestand.png]]
+
|[[File:joystick2.jpg]]
 
|-
 
|-
|Beschrijving bovenstaande figuur
+
|Een joystick module
 
|}
 
|}
  
Line 21: Line 20:
  
 
===Uitleg===
 
===Uitleg===
 
+
Voor de eenvoud van de schakeling bepalen we in dit project alleen de stand van de joystick in de x- en y-richting. Die stand wordt vervolgens via de seriele communicatie doorgegeven aan de PC. We hoeven dan alleen de joystick op de Arduino aan te sluiten. Daarbij gaat de pin voor rx in de A0-poort van de Arduino en de pin voor ry in de A1-poort. De analoge poorten hoeven niet te worden geinitialiseerd omdat die standaard gelden als input. De Setup() functie wordt alleen gebruikt om de seriele communicatie te starten. De Loop() functie meet de stand van de joystick in beide richtingen via de spanning op A0 en A1. Die spanning wordt gemete als een getal tussen 0 en 1024. Hierbij staat 1024 voor Vcc. Door dus te delen door 512 (de helft van Vcc), en 1 af te trekken krijg je een getal tussen -1 en 1. Bij 0 staat de joystick in het midden. Dit getal wordt vervolgens doorgegeven aan de computer via de seriele communicatie.
  
 
===Beetje spelen===
 
===Beetje spelen===

Revision as of 01:18, 26 January 2018

Een joystick kan in twee richtinegn bewegen. De horizontale richting noemen we de x-richting en de vertikale richting de y-richting. Daarmee kun je twee dingen besturen met een enkele knop. Een joystick heeft in het algemeen vier aansluitingen: nul, Vcc (voedingsspanning) en twee signaal-aansluitingen, een voor elke richting. Van binnen heeft een joystick twee potmeters die zo zijn geschakeld dat de twee signaal-aansluitingen spanningen afgeven tussen nul en Vcc. In ruststand staat de joystick in het midden en zijn ook de spanningen voor x en y in het midden tussen 0 en Vcc. Een Arduino kan dus de stand van de joystick bepalen door die twee spanningen te meten en actie ondernemen op basis van die informatie. Een joystick gebruikt dan natuurlijk wel twee analoge ingangen van de Arduino. Geen probleem: je hebt er dan nog vier over.

De schakeling

Extra benodigdheden:

  • 1 joystick module
Joystick2.jpg
Een joystick module

Het programma

Hier de broncode van het programma 

Uitleg

Voor de eenvoud van de schakeling bepalen we in dit project alleen de stand van de joystick in de x- en y-richting. Die stand wordt vervolgens via de seriele communicatie doorgegeven aan de PC. We hoeven dan alleen de joystick op de Arduino aan te sluiten. Daarbij gaat de pin voor rx in de A0-poort van de Arduino en de pin voor ry in de A1-poort. De analoge poorten hoeven niet te worden geinitialiseerd omdat die standaard gelden als input. De Setup() functie wordt alleen gebruikt om de seriele communicatie te starten. De Loop() functie meet de stand van de joystick in beide richtingen via de spanning op A0 en A1. Die spanning wordt gemete als een getal tussen 0 en 1024. Hierbij staat 1024 voor Vcc. Door dus te delen door 512 (de helft van Vcc), en 1 af te trekken krijg je een getal tussen -1 en 1. Bij 0 staat de joystick in het midden. Dit getal wordt vervolgens doorgegeven aan de computer via de seriele communicatie.

Beetje spelen

Verdiepende opdrachtjes

Navigatie