본 절은 [조이스틱 쉴드]를 사용하기 위해 알아야 할 내용과 실습 방법에 대해 설명한다. 아두이노 조이스틱 쉴드의 특징, 동작원리, 사양, 연결 핀 배열, 출력 값, 주의사항을 알아본다. 아두이노와 센서를 연결하고, 간단한 코딩으로 센서를 쉽게 실습할 수 있다.
목차
아두이노 조이스틱 쉴드
조이스틱 쉴드란?
조이스틱 쉴드는 아두이노 우노 보드에 적층식 쉴도로 사용되며, 게임 컨트럴로, RC카 및 드론 조종기 등 다양한 분야에 활용된다.
이중 축 조이스틱 실드는 로봇 및 게임 콘솔에 일반적으로 사용된다. 이 모듈에는 2축 조이스틱, 4개의 큰 버튼, 2개의 작은 버튼 및 다른 구성 요소에 연결하기 위한 여러 핀이 포함되어 있다.
SS1 아두이노 센서 특징
조이스틱 쉴드의 특징은 다음과 같다.
[특징]
- 직접 플러그 퍼즐 보드, 납땜 필요 없음.
- 5 개의 순간 푸시 버튼 (플레이 스테이션 3 아날로그 스틱 푸시 버튼처럼 4 + 조이스틱 선택 버튼)
2 축 엄지 조이스틱 - 인터페이스 : NRF24L01, 5110LCD, Bluetooth Module, I2C Communication
-노키아 5110 LCD 인터페이스로 게임 개발이 매우 쉽다.
-블루투스 모듈 인터페이스 추가, 편리한 블루투스 무선 직렬 통신을 사용할 수 있다.
- I2C 통신 인터페이스 추가, I2C 장치에 쉽게 연결 - 버튼이 달린 크로스 PS2 조이스틱이있는 조이스틱 실드에는 4 개의 원형 버튼, 2 개의 작은 버튼이 있다. 조이스틱 및 버튼 입력 확장을 제공한다. 온보드 스위치는 3.3 v에서 5V 사이로 전환할 수 있으며 stm32 와 같은 다른 3.3V 마이크로 컨트롤러 플랫폼에서이 모델을 사용할 수 있다.
- 동작 전압은 3.3v 또는 5v 에서 사용할 수 있따.
- 동작 전류는 15mA 이다.
조이스틱 쉴드 동작 원리
조이스틱 쉴드의 원리는 다음과 같다.
- 푸시 버튼은 디지털 핀 2~6 에 연결된다.
- 특정 버튼을 누르면 관련 핀이 낮습니다. 조이스틱Y 축 무브먼트는 아날로그 핀 0 에서 비례 아날로그 전압을 생성하는 반면, 조이스틱 X 축 무브먼트는 아날로그 핀 1 에서 아날로그 신호를 생성한다.
조이스틱 쉴드 구입하기
[조이스틱 쉴드]는 알리익스프레스, 네이버 쇼핑몰, 아마존 등에서 센서를 구입할 수 있다
조이스틱 쉴드 하드웨어 연결
다음과 같이 아두이노와 적층으로 연결 할 수 있다. 조이스틱 쉴드에서 사용되는 핀은 D2, D3, D4, D5, D6, D7 을 사용한다.
Arduino 핀아웃용 이중 축 조이스틱 실드
이 실드에는 다음과 같이 인터페이스할 다른 부품이 있다.
조이스틱 연결 :
- JOY-X : Joystatic x축 – A0에 연결
- JOY-Y : 조이스태틱 y축 – A1에 연결
- JOY-K : 조이스틱 스위치 – D8에 연결
전원 공급 장치 연결 :
- V : Arduino Uno 보드에 연결하려면 5V로 설정하고 Due와 같은 3.3V 전원 공급 장치가 있는 Arduino 보드에 연결하려면 3.3V로 설정한다.
버튼 연결 :
- BT-A: 버튼 A – D2에 연결됨
- BT-B: 버튼 A – D3에 연결됨
- BT-C: 버튼 A – D4에 연결됨
- BT-D: 버튼 A – D5에 연결됨
- BT-E: 버튼 A – D6에 연결됨
- BT-F: 버튼 A – D7에 연결됨
블루투스 핀 연결 :
- BLT : 블루투스에 연결하기 위한 4개의 핀 포함
I2C 연결 :
- I2C : A4 및 A5에 연결된 SDA 및 SCL 핀 포함
핀 연결 nRF24L01 :
NRF : 이 모듈에는 9개의 핀이 있습니다.
CE : D9에 연결됨
CSN : D10에 연결됨
SCK : D13에 연결됨
MOSI : D11에 연결됨
MISO : D12에 연결
IRQ : 연결되지 않은 베이스
GND : 접지
VCC : 3.3V에 연결
Nokia 5110 LCD 핀 커넥터 :
- LCD : 핀 D9 ~ D13에 연결
핀 간의 간섭으로 인해 nRF24L01 및 Nokia 5110 LCD 모듈을 동시에 사용할 수 없다.
조이스틱 쉴드 소프트웨어 코딩
하드웨어 연결이 완료되면, 아두이노 IDE를 이용해 아두이노 센서 소스코드를 코딩할 수 있다.
센서 코드는 다음과 같다.
# define UP 2
# define RIGHT 3
# define DOWN 4
# define LEFT 5
# define E 6
# define F 7
# define Joy_BT 8
# define Joy_X A0
# define Joy_Y A1
int bottons[]={UP,RIGHT,DOWN,LEFT,E,F,Joy_BT};
void setup(){
for(int i=0;i<7;i++) pinMode(bottons[i],INPUT);
Serial.begin(9600);
}
void loop(){
Serial.print("UP:");Serial.print(digitalRead(UP));
Serial.print(" RIGHT:");Serial.print(digitalRead(RIGHT));
Serial.print(" DOWN:");Serial.print(digitalRead(DOWN));
Serial.print(" LEFT:");Serial.print(digitalRead(LEFT));
Serial.print(" E:");Serial.print(digitalRead(E));
Serial.print(" F:");Serial.print(digitalRead(F));
Serial.print(" Joy_BT:");Serial.print(digitalRead(Joy_BT));
Serial.print(" Joy_X:");Serial.print(analogRead(Joy_X));
Serial.print(" Joy_Y:");Serial.println(analogRead(Joy_Y));
delay(500);
}
조이스틱 쉴드 동작확인
하드웨어 연결, 소프트웨어 코딩이 완료되면 다음과 같이 동작 화면을 확인할 수 있다.
------------------------------------------------------
개발환경 : WINDOWS 10
아두이노 IDE : 1.8.13
------------------------------------------------------
01 연결
- 아두이노와 PC 연결
- 아두이노 IDE 실행
- 메뉴 → 툴 → 보드:아두이노 UNO 확인
- 메뉴 → 스케치 → 확인/컴파일
02 컴파일 확인
스케치>확인/컴파일(CTRL+R) 를 선택해서 컴파일을 진행한다.
03 아두이노 우노 업로드
컴파일이 이상없이 완료되면 스케치>업로드(CTRL+U) 를 선택해서 컴파일 파일을 업로드 한다.
04 동작 확인
다음과 같이 동작을 확인할 수 있다.
예를 들어, 조이스틱 왼쪽, 오른쪽 움직이면, 기준값 515, 왼쪽 0, 오른쪽 1023으로 표시된다.
예를 들어, 조이스틱 상, 하로 움직이면, 기준값518, UP 1023, DOWN 0으로 표시된다.
예를 들어, UP, DOWN 버튼을 누르면 0으로 바뀐다.
마무리
아두이노와 조이스틱 쉴드를 연결하고, 간단한 코딩으로 센서를 쉽게 실습할 수 있다.
모두의 아두이노 환경 센서 책
[모두의 아두이노 환경 센서] 책은 예스24, 인터넷 교보문고, 알라딘, 인터파크도서, 영풍문고, 반디앤루니스 , 도서11번가 등에서 구입할 수 있다. 이 책에서는 PMS7003, GP2Y1010AU0F, PPD42NS, SDS011 미세먼지 센서, DHT22 온습도 센서, MH-Z19B 이산화탄소 센서, ZE08-CH2O 포름알데히드 센서, CCS811 총휘발성유기화합물 TVOC, GDK101 방사선(감마선) 센서, MQ-131 오존(O3) 센서, MQ-7 일산화탄소, MICS-4514 이산화질소 센서, MICS-6814 암모니아 센서, DGS-SO2 아황산가스(SO2) 센서, BME280 기압 센서, GUVA-S12SD 자외선(UV) 센서, MD0550 기류 센서, QS-FS01 풍속 센서(Wind speed) 를 사용한다.
'모두의 아두이노' 카테고리의 다른 글
[아두이노][쉴드] 아두이노 다기능 확장 쉴드 (0) | 2021.11.16 |
---|---|
[아두이노][센서] NEO-6M GPS 확장 쉴드 SD 카드 사용하기 (MicroSD) - ReadWrite 테스트 (0) | 2021.11.16 |
[아두이노] NEO-6M GPS 확장 쉴드 (0) | 2021.11.08 |
[아두이노] 레이저 수신 모듈 (PP-A435) (0) | 2021.11.07 |
[아두이노] 네오픽셀 RGB LED 모듈 (0) | 2021.10.19 |
댓글