{"id":1611,"date":"2022-02-14T21:22:55","date_gmt":"2022-02-14T13:22:55","guid":{"rendered":"https:\/\/www.strongd.net\/?p=1611"},"modified":"2022-02-14T21:22:55","modified_gmt":"2022-02-14T13:22:55","slug":"how-to-use-a-joystick-with-serial-monitor","status":"publish","type":"post","link":"https:\/\/www.strongd.net\/?p=1611","title":{"rendered":"How to Use a Joystick with Serial Monitor"},"content":{"rendered":"<p>This project will show you how to use joystick with serial monitor.<\/p>\n<h3 id=\"toc-operation-and-uses-0\">Operation and uses<\/h3>\n<p>&nbsp;<\/p>\n<p>The joystick is similar to two potentiometers connected together, one for the vertical movement (Y-axis) and other for the horizontal movement (X-axis).<\/p>\n<p>&nbsp;<\/p>\n<div class=\"embed-frame\" data-type=\"widget\">\n<div class=\"figure image_widget\">\n<div class=\"figcaption embed-figcaption\"><\/div>\n<div class=\"embed original\">\n<div class=\"image-gallery-container\">\n<div class=\"image-gallery slick-initialized slick-slider\">\n<div class=\"slick-list draggable\" aria-live=\"polite\">\n<div class=\"slick-track\">\n<div class=\"image slick-slide slick-active\" data-slick-index=\"0\" aria-hidden=\"false\">\n<figure><a class=\"embed-img\"><img decoding=\"async\" src=\"https:\/\/hackster.imgix.net\/uploads\/attachments\/694408\/image_4MCCDY0PIC.png?auto=compress%2Cformat&amp;w=680&amp;h=510&amp;fit=max\" alt=\"( Same operation as an analogic joystick used with arduino card )\" \/><\/a><figcaption>( Same operation as an analogic joystick used with arduino card )<\/figcaption><\/figure>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>The potentiometers are variable resistances and, in a way, they act as sensors that provide us with varying voltage depending on their rotation.<\/p>\n<p>Generally, joysticks are used in the military, leisure and aviation sectors.<\/p>\n<p>&nbsp;<\/p>\n<h3 id=\"toc-using-the-joystick-pins-1\">Using the joystick pins<\/h3>\n<p>&nbsp;<\/p>\n<p>VCC<\/p>\n<p>GND<\/p>\n<p>VRx -&gt; Variable resistance x<\/p>\n<p>VRY -&gt; Variable resistance Y<\/p>\n<p>SW -&gt; Switch \/ Button<\/p>\n<h3 id=\"toc-connection-2\">Connection<\/h3>\n<p>MODULE -&gt; ARDUINO<\/p>\n<ul>\n<li>VCC -&gt; 5V<\/li>\n<li>GND -&gt; GND<\/li>\n<li>VRx -&gt; A0<\/li>\n<li>VRy -&gt; A1<\/li>\n<li>SW -&gt; Pin 2<\/li>\n<\/ul>\n<pre><span id=\"line-1\">int <span class=\"nv\">VRx<\/span> <span class=\"o\">=<\/span> A0<span class=\"p\">;<\/span>\r\n<\/span><span id=\"line-2\">int <span class=\"nv\">VRy<\/span> <span class=\"o\">=<\/span> A1<span class=\"p\">;<\/span>\r\n<\/span><span id=\"line-3\">int <span class=\"nv\">SW<\/span> <span class=\"o\">=<\/span> <span class=\"m\">2<\/span><span class=\"p\">;<\/span>\r\n<\/span><span id=\"line-4\">\r\n<\/span><span id=\"line-5\">int <span class=\"nv\">xPosition<\/span> <span class=\"o\">=<\/span> <span class=\"m\">0<\/span><span class=\"p\">;<\/span>\r\n<\/span><span id=\"line-6\">int <span class=\"nv\">yPosition<\/span> <span class=\"o\">=<\/span> <span class=\"m\">0<\/span><span class=\"p\">;<\/span>\r\n<\/span><span id=\"line-7\">int <span class=\"nv\">SW_state<\/span> <span class=\"o\">=<\/span> <span class=\"m\">0<\/span><span class=\"p\">;<\/span>\r\n<\/span><span id=\"line-8\">int <span class=\"nv\">mapX<\/span> <span class=\"o\">=<\/span> <span class=\"m\">0<\/span><span class=\"p\">;<\/span>\r\n<\/span><span id=\"line-9\">int <span class=\"nv\">mapY<\/span> <span class=\"o\">=<\/span> <span class=\"m\">0<\/span><span class=\"p\">;<\/span>\r\n<\/span><span id=\"line-10\">\r\n<\/span><span id=\"line-11\">void setup<span class=\"o\">()<\/span> <span class=\"o\">{<\/span>\r\n<\/span><span id=\"line-12\">  Serial.begin<span class=\"o\">(<\/span><span class=\"m\">9600<\/span><span class=\"o\">)<\/span><span class=\"p\">;<\/span> \r\n<\/span><span id=\"line-13\">  \r\n<\/span><span id=\"line-14\">  pinMode<span class=\"o\">(<\/span>VRx, INPUT<span class=\"o\">)<\/span><span class=\"p\">;<\/span>\r\n<\/span><span id=\"line-15\">  pinMode<span class=\"o\">(<\/span>VRy, INPUT<span class=\"o\">)<\/span><span class=\"p\">;<\/span>\r\n<\/span><span id=\"line-16\">  pinMode<span class=\"o\">(<\/span>SW, INPUT_PULLUP<span class=\"o\">)<\/span><span class=\"p\">;<\/span> \r\n<\/span><span id=\"line-17\">  \r\n<\/span><span id=\"line-18\"><span class=\"o\">}<\/span>\r\n<\/span><span id=\"line-19\">\r\n<\/span><span id=\"line-20\">void loop<span class=\"o\">()<\/span> <span class=\"o\">{<\/span>\r\n<\/span><span id=\"line-21\">  <span class=\"nv\">xPosition<\/span> <span class=\"o\">=<\/span> analogRead<span class=\"o\">(<\/span>VRx<span class=\"o\">)<\/span><span class=\"p\">;<\/span>\r\n<\/span><span id=\"line-22\">  <span class=\"nv\">yPosition<\/span> <span class=\"o\">=<\/span> analogRead<span class=\"o\">(<\/span>VRy<span class=\"o\">)<\/span><span class=\"p\">;<\/span>\r\n<\/span><span id=\"line-23\">  <span class=\"nv\">SW_state<\/span> <span class=\"o\">=<\/span> digitalRead<span class=\"o\">(<\/span>SW<span class=\"o\">)<\/span><span class=\"p\">;<\/span>\r\n<\/span><span id=\"line-24\">  <span class=\"nv\">mapX<\/span> <span class=\"o\">=<\/span> map<span class=\"o\">(<\/span>xPosition, <span class=\"m\">0<\/span>, <span class=\"m\">1023<\/span>, -512, <span class=\"m\">512<\/span><span class=\"o\">)<\/span><span class=\"p\">;<\/span>\r\n<\/span><span id=\"line-25\">  <span class=\"nv\">mapY<\/span> <span class=\"o\">=<\/span> map<span class=\"o\">(<\/span>yPosition, <span class=\"m\">0<\/span>, <span class=\"m\">1023<\/span>, -512, <span class=\"m\">512<\/span><span class=\"o\">)<\/span><span class=\"p\">;<\/span>\r\n<\/span><span id=\"line-26\">  \r\n<\/span><span id=\"line-27\">  Serial.print<span class=\"o\">(<\/span><span class=\"s2\">\"X: \"<\/span><span class=\"o\">)<\/span><span class=\"p\">;<\/span>\r\n<\/span><span id=\"line-28\">  Serial.print<span class=\"o\">(<\/span>mapX<span class=\"o\">)<\/span><span class=\"p\">;<\/span>\r\n<\/span><span id=\"line-29\">  Serial.print<span class=\"o\">(<\/span><span class=\"s2\">\" | Y: \"<\/span><span class=\"o\">)<\/span><span class=\"p\">;<\/span>\r\n<\/span><span id=\"line-30\">  Serial.print<span class=\"o\">(<\/span>mapY<span class=\"o\">)<\/span><span class=\"p\">;<\/span>\r\n<\/span><span id=\"line-31\">  Serial.print<span class=\"o\">(<\/span><span class=\"s2\">\" | Button: \"<\/span><span class=\"o\">)<\/span><span class=\"p\">;<\/span>\r\n<\/span><span id=\"line-32\">  Serial.println<span class=\"o\">(<\/span>SW_state<span class=\"o\">)<\/span><span class=\"p\">;<\/span>\r\n<\/span><span id=\"line-33\">\r\n<\/span><span id=\"line-34\">  delay<span class=\"o\">(<\/span><span class=\"m\">100<\/span><span class=\"o\">)<\/span><span class=\"p\">;<\/span>\r\n<\/span><span id=\"line-35\">  \r\n<\/span><span id=\"line-36\"><span class=\"o\">}<\/span><\/span><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>This project will show you how to use joystick with serial monitor. Operation and uses &nbsp; The joystick is similar to two potentiometers connected together, one for the vertical movement (Y-axis) and other for the horizontal movement (X-axis). &nbsp; ( Same operation as an analogic joystick used with arduino card ) &nbsp; The potentiometers are &hellip; <a href=\"https:\/\/www.strongd.net\/?p=1611\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">How to Use a Joystick with Serial Monitor<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[236],"tags":[249],"class_list":["post-1611","post","type-post","status-publish","format-standard","hentry","category-iot","tag-arduino"],"_links":{"self":[{"href":"https:\/\/www.strongd.net\/index.php?rest_route=\/wp\/v2\/posts\/1611","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.strongd.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.strongd.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.strongd.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.strongd.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1611"}],"version-history":[{"count":1,"href":"https:\/\/www.strongd.net\/index.php?rest_route=\/wp\/v2\/posts\/1611\/revisions"}],"predecessor-version":[{"id":1612,"href":"https:\/\/www.strongd.net\/index.php?rest_route=\/wp\/v2\/posts\/1611\/revisions\/1612"}],"wp:attachment":[{"href":"https:\/\/www.strongd.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1611"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.strongd.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1611"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.strongd.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1611"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}