이번 포스팅에서는 라즈베리파이에서 PS3(플레이스테이션3) 컨트롤러를 실제 파이썬 코드로 조작하는 방법을 알아볼께요.
시작하기 전에
아래 두개의 포스팅에 나온 방법으로 라즈베리파이에 PS3 컨트롤러가 연결이 되어있어야 합니다. 추가적으로 쾌적한 터미널 개발 환경을 위해서 oh my zsh 설치도 추천드립니다. 또한 원격작업을 위해서 ssh 원격접속 환경도 만들어주세요.
2020/08/29 - [라즈베리파이] - 라즈베리파이(Raspberry Pi) 플레이스테이션(PS3) 컨트롤러 연결하기
2020/08/28 - [라즈베리파이] - 라즈베리파이(Raspberry Pi)에 oh my zsh 설치하기
2020/08/30 - [라즈베리파이] - 라즈베리파이(Raspberry Pi) SSH 원격연결 및 패스워드 없이 접속하기
Github에서 코드 받기
위의 준비단계가 모두 완료되었으면 원격에서 ssh로 라즈베리파이에 접속합니다. (라즈베리파이에서 직접 작업하셔도 무방합니다. 원격접속은 개발 편의성을 위한 것입니다.)
➜ ~ ssh pi@192.168.1.10
Linux raspberrypi 5.4.51-v7+ #1333 SMP Mon Aug 10 16:45:19 BST 2020 armv7l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Sep 3 10:29:31 2020 from 192.168.1.11
pi@raspberrypi:~ $
그리고 github에서 제가 만든 PS3 컨트롤러 제어 코드를(https://github.com/jlim262/ps3-controller) Projects 폴더에 클론해주세요.
pi@raspberrypi:~ $ mkdir ~/Projects && cd ~/Projects
pi@raspberrypi:~/Projects $ git clone https://github.com/jlim262/ps3-controller.git
이제 파이썬3 개발환경을 virtualenv를 사용해서 생성 후 로드할께요.
pi@raspberrypi:~/Projects $ virtualenv venv-py3 -p python3
pi@raspberrypi:~/Projects $ source venv-py3/bin/activate
(venv-py3) pi@raspberrypi:~/Projects $
그리고 ps3-controller 폴더로 이동 후, pip로 필요한 라이브러리를 설치해주세요.
(venv-py3) pi@raspberrypi:~/Projects $ cd ps3-controller
(venv-py3) pi@raspberrypi:Projects/ps3-controller ‹master›$ pip install -r requirements.txt
PS3 컨트롤러 조작하기
먼저 PS3 컨트롤러의 PS버튼을 눌러서 라즈베리파이에 블루투스로 연결을 해주세요. 그럼 아래 사진처럼 1번으로 Led가 고정될꺼에요.
이제 파이썬 프로그램을 실행시켜 줄께요. 그러면 PS3 컨트롤러의 좌, 우 스틱과 버튼들의 입력여부를 확인할 수 있는 로그가 보여집니다.
(venv-py3) pi@raspberrypi:Projects/ps3-controller ‹master›$ python main.py
pygame 2.0.0.dev10 (SDL 2.0.9, python 3.7.3)
Hello from the pygame community. https://www.pygame.org/contribute.html
Sony PLAYSTATION(R)3 Controller is found.
Sony PLAYSTATION(R)3 Controller has 6 axies and 17 buttons
( 0.0000 0.0000 0.0000 0.0000 )0:0|1:0|2:0|3:0|4:0|5:0|6:0|7:0|8:0|9:0|10:0|11:0|12:0|13:0|14:0|15:0|16:0|
이제 PS3 컨트롤러를 마음대로 눌러보세요. 단 X 버튼을 누르면 프로그램이 종료되도록 코딩 되어있습니다.
오늘 포스팅은 여기서 끝낼께요. 다음 포스팅에서 PS3 컨트롤러의 버튼들이 눌러졌을 때 원하는 동작을 할 수 있게 하는 방법을 알아볼께요.
그럼 즐파이 하세요~!!
'로보틱스 > 라즈베리파이' 카테고리의 다른 글
라즈베리파이 제로 시작하기 (0) | 2020.09.06 |
---|---|
PS3 컨트롤러로 서보모터 제어하기 [라즈베리파이(Raspberry Pi)] (0) | 2020.09.04 |
서보 모터 제어하기 [라즈베리파이(Raspberry Pi)] (0) | 2020.09.02 |
scp 명령으로 파일 전송하기 [라즈베리파이(Raspberry Pi)] (0) | 2020.08.31 |
SSH 원격연결 및 패스워드 없이 접속하기 [라즈베리파이(Raspberry Pi)] (1) | 2020.08.30 |
댓글