{"id":26903443,"url":"https://github.com/matesoft2033/joystick-navigation-system","last_synced_at":"2026-05-06T01:31:15.049Z","repository":{"id":285003776,"uuid":"956770334","full_name":"matesoft2033/Joystick-Navigation-System","owner":"matesoft2033","description":"Joystick Controller with Arduino: This project uses an analog joystick module and an Arduino to control movements based on joystick inputs. It reads the X and Y axis values to determine direction and activates a buzzer when the button is pressed.","archived":false,"fork":false,"pushed_at":"2025-03-28T20:56:20.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-28T21:31:40.872Z","etag":null,"topics":["arduino","buzzer","cpp","diy","joystick","led-controller","robotics"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matesoft2033.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-28T20:42:48.000Z","updated_at":"2025-03-28T20:59:04.000Z","dependencies_parsed_at":"2025-03-28T21:41:47.990Z","dependency_job_id":null,"html_url":"https://github.com/matesoft2033/Joystick-Navigation-System","commit_stats":null,"previous_names":["matesoft2033/joystick-navigation-system"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matesoft2033%2FJoystick-Navigation-System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matesoft2033%2FJoystick-Navigation-System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matesoft2033%2FJoystick-Navigation-System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matesoft2033%2FJoystick-Navigation-System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matesoft2033","download_url":"https://codeload.github.com/matesoft2033/Joystick-Navigation-System/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246622963,"owners_count":20807238,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","buzzer","cpp","diy","joystick","led-controller","robotics"],"created_at":"2025-04-01T10:28:26.635Z","updated_at":"2026-05-06T01:31:14.999Z","avatar_url":"https://github.com/matesoft2033.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Joystick Controller with Arduino 🎮\n\n![Project Image](circuit.jpg)\n\n## 📌 Overview\nThis project is a **Joystick Controller** that allows you to control movements based on joystick inputs. The controller utilizes an analog joystick module and operates with an Arduino. The X and Y axis values are read to determine directional movements, while a button press activates a buzzer for alerts.\n\n## 🔍 How It Works\nThe analog joystick provides X and Y axis readings that are processed by the Arduino.\n\nThe buzzer sounds an alert when the joystick button is pressed.\n\nThe direction of movement is determined by the joystick's position:\n\n- Move left when X-axis value is low.\n- Move right when X-axis value is high.\n- Move up when Y-axis value is low.\n- Move down when Y-axis value is high.\n\nThe values of the joystick axes and button state are printed to the serial monitor for debugging.\n\n## 🎯 Applications\n- Remote control systems 🚀\n- Game controllers 🎮\n- Robotic movement 🤖\n\n## 📌 Future Improvements\n- Implement smooth movement controls for better precision.\n- Add LED indicators for directional movements.\n- Integrate with a motor driver for physical movement applications.\n\n📢 Feel free to contribute or modify the project! 🛠️✨\n\n## 🛠️ Components Used\n- **Arduino Board**\n- **Analog Joystick Module**\n- **Passive Buzzer**\n- **Jumper Wires**\n- **Breadboard**\n\n## 📜 Code\n```cpp\n#define Xaxis_pin A0\n#define Yaxis_pin A1\n#define Sw_pin 6\n#define UP 3\n#define RIGHT 4\n#define DOWN 2\n#define LEFT 5\n#define X_ANALOG A0\n#define Y_ANALOG A1\n#define BUZZER_PIN 6\n\nint x_value = 0;\nint y_value = 0;\nint z_value = 0;\n\nvoid pinModesForJoystick() {\n  pinMode(Xaxis_pin, INPUT);\n  pinMode(Yaxis_pin, INPUT);\n  pinMode(Sw_pin, INPUT_PULLUP);\n  pinMode(X_ANALOG, INPUT);\n  pinMode(Y_ANALOG, INPUT);\n}\n\nvoid pinModesForMoves() {\n  pinMode(LEFT, OUTPUT);\n  pinMode(RIGHT, OUTPUT);\n  pinMode(UP, OUTPUT);\n  pinMode(DOWN, OUTPUT);\n  pinMode(BUZZER_PIN, OUTPUT);\n}\n\nvoid movesStartOff() {\n  digitalWrite(LEFT, LOW);\n  digitalWrite(RIGHT, LOW);\n  digitalWrite(UP, LOW);\n  digitalWrite(DOWN, LOW);\n}\n\nvoid xyzValues() {\n  x_value = analogRead(X_ANALOG);\n  y_value = analogRead(Y_ANALOG);\n  z_value = digitalRead(Sw_pin);\n}\n\nvoid xValues() {\n  Serial.print(\"X-axis: \");\n  Serial.print(x_value);\n  Serial.print(\" : \");\n}\n\nvoid yValues() {\n  Serial.print(\"Y-axis: \");\n  Serial.print(y_value);\n  Serial.print(\" : \");\n}\n\nvoid zValues() {\n  Serial.print(\"Button (z_value): \");\n  Serial.println(z_value);\n}\n\nvoid setup() {\n  pinModesForJoystick();\n  Serial.begin(9600);\n  pinModesForMoves();\n}\n\nvoid loop() {\n  movesStartOff();\n  xyzValues();\n  xValues();\n  yValues();\n  zValues();\n  delay(100);\n\n  if (x_value \u003c 50) {\n    digitalWrite(LEFT, HIGH);\n  }\n  else if (x_value \u003e 973) {\n    digitalWrite(RIGHT, HIGH);\n  }\n\n  if (y_value \u003c 50) {\n    digitalWrite(UP, HIGH);\n  }\n  else if (y_value \u003e 973) {\n    digitalWrite(DOWN, HIGH);\n  }\n\n  if (z_value == LOW) {\n    digitalWrite(BUZZER_PIN, HIGH);\n  } else {\n    digitalWrite(BUZZER_PIN, LOW);\n  }\n}\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatesoft2033%2Fjoystick-navigation-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatesoft2033%2Fjoystick-navigation-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatesoft2033%2Fjoystick-navigation-system/lists"}