조이스틱 모듈(KY-023): 두 판 사이의 차이
(새 문서: {{#seo:|title=아두위키 : 아두이노 조이스틱 모듈 가이드|title_mode=append|keywords=아두이노, 정보과학, 메이커학습, 수행평가, 조이스틱 모듈, 아두이노 작품, 캡스톤작품, 아두이노 예제코드|description=아두이노로 조이스틱 모듈을 제어하는 방법(기본정보, 회로, 예제 코드)을 소개합니다. 정보과학과 메이커수업에 활용가능합니다.}}파일:조이스틱대표이미지.jpg|787x787픽...) |
편집 요약 없음 |
||
1번째 줄: | 1번째 줄: | ||
{{#seo:|title=아두위키 : 아두이노 조이스틱 모듈 가이드|title_mode=append|keywords=아두이노, 정보과학, 메이커학습, 수행평가, 조이스틱 모듈, 아두이노 작품, 캡스톤작품, 아두이노 예제코드|description=아두이노로 조이스틱 모듈을 제어하는 방법(기본정보, 회로, 예제 코드)을 소개합니다. 정보과학과 메이커수업에 활용가능합니다.}}[[파일:조이스틱대표이미지.jpg| | {{#seo:|title=아두위키 : 아두이노 조이스틱 모듈 가이드|title_mode=append|keywords=아두이노, 정보과학, 메이커학습, 수행평가, 조이스틱 모듈, 아두이노 작품, 캡스톤작품, 아두이노 예제코드|description=아두이노로 조이스틱 모듈을 제어하는 방법(기본정보, 회로, 예제 코드)을 소개합니다. 정보과학과 메이커수업에 활용가능합니다.}}[[파일:조이스틱대표이미지.jpg|가운데|class=coders100]] | ||
저항의 변화에 따라 x, y축 값이 변하며 가운데 버튼을 누르면 스위치 역할을 하는 모듈입니다. | 저항의 변화에 따라 x, y축 값이 변하며 가운데 버튼을 누르면 스위치 역할을 하는 모듈입니다. | ||
51번째 줄: | 51번째 줄: | ||
| colspan="1" rowspan="1" |SCL | | colspan="1" rowspan="1" |SCL | ||
|} | |} | ||
[[파일:조이스틱 회로.png| | [[파일:조이스틱 회로.png|가운데|class=coders100]] | ||
== '''예제 코드''' == | == '''예제 코드''' == |
2024년 1월 25일 (목) 13:15 판
저항의 변화에 따라 x, y축 값이 변하며 가운데 버튼을 누르면 스위치 역할을 하는 모듈입니다.
이동 동작이 필요한 RC카, 드론 등에 주로 활용됩니다.
사양
- 작동 전압 : 3.3V ~ 5V
- x축, y축 아날로그 출력
- z축 스위치 디지털 출력(풀업 저항 X)
예제 사용 하드웨어
연결
아두이노 나노 | LCD | 조이스틱모듈 |
5V | VCC | 5V |
GND | GND | GND |
A1 | VRx | |
A0 | VRy | |
D2 | SW | |
A4 | SDA | |
A5 | SCL |
예제 코드
조이스틱 좌표 및 스위치 상태를 LCD에 표시하는 예제입니다.
LCD 사용방법은 링크를 참고해주세요.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int xAxis = A1;
const int yAxis = A0;
const int zSwitch = 2;
void setup() {
pinMode(zSwitch, INPUT_PULLUP);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("X:");
lcd.setCursor(8, 0);
lcd.print("Y:");
lcd.setCursor(0, 1);
lcd.print("Z : ");
}
void loop() {
for (int i = 2; i < 6; i++) {
lcd.setCursor(i, 0);
lcd.print(" ");
}
lcd.setCursor(2, 0);
lcd.print(analogRead(xAxis));
for (int i = 10; i < 14; i++) {
lcd.setCursor(i, 0);
lcd.print(" ");
}
lcd.setCursor(10, 0);
lcd.print(analogRead(yAxis));
lcd.setCursor(4, 1);
lcd.print(digitalRead(zSwitch));
delay(100);
}
실행 결과
링크에서 작동 영상을 확인해주세요.