건프의 소소한 개발이야기

[Raspberry Pi 3] servo motor(서보모터) Python 제어하기 본문

개발 이야기/Embedded Software 이야기

[Raspberry Pi 3] servo motor(서보모터) Python 제어하기

건강한프로그래머 2016. 6. 24. 23:18

안녕하세요, 건프입니다.


저는 개인적으로 구입한 2016년형 라즈베리파이3 으로 실습하고 있습니다.


라즈베리파이와 서보모터 <SG90> 모델을 Python 으로 제어하는 방법을 여기서 알아봅니다.


우선 라즈베리파이 3와 라즈베리파이2 모델의 차이와 공통점은 다음과 같습니다.



The Raspberry Pi 3 is the third generation Raspberry Pi. It replaced the Raspberry Pi 2 Model B in February 2016. Compared to the Raspberry Pi 2 it has:

  • A 1.2GHz 64-bit quad-core ARMv8 CPU
  • 802.11n Wireless LAN
  • Bluetooth 4.1
  • Bluetooth Low Energy (BLE)

Like the Pi 2, it also has:

  • 1GB RAM
  • 4 USB ports
  • 40 GPIO pins
  • Full HDMI port
  • Ethernet port
  • Combined 3.5mm audio jack and composite video
  • Camera interface (CSI)
  • Display interface (DSI)
  • Micro SD card slot (now push-pull rather than push-push)
  • VideoCore IV 3D graphics core

- https://www.raspberrypi.org/products/raspberry-pi-3-model-b/


읽어보시면 알겠지만, 라즈베리파이2 보드보다 기능적으로 강화되었을 뿐, 핀번호는 40개 전부 같다는 걸 알 수 있습니다.

페이지의 하단을 더 읽어보시면, 파이2 와 완벽하게 호환가능하다 라는 표현이 써있습니다.

보드에 따른 문제는 그닥 생각하지 않아도 될 것 같습니다.


라즈베리파이2 & 3 pinout table




핀번호입니다. 라즈베리파이2 모델과 라즈베리파이3 모델 모두 해당하는 겁니다.


다음은 서보모터에 어떤 핀을 어떻게 연결해야 하는지를 알아봅시다.



지금 보는 사진에서 서보모터에 집중합니다.

서보모터를 보시면, 왼쪽부터 


주황색 줄 : PWM 핀 : GPIO 18   --> 노란색 선  (위 사진에서 12번 핀)

빨간색 줄 : 전원 선 : 5V             --> 빨간색 선  (위 사진에서 2번핀)

갈색    줄 : GND 선                    --> 검정색 선  (위 사진에서 6번핀)

 


에 연결 되어 있습니다.


이거 믿으세요 ㅋㅋ 저도 엄청나게 찾아다녔는데, 이것도 됩니다. 

(5v에 연결하는 것, 많은 예제가 베터리를 가지고 하는데, 라즈베리파이 보드에서 이럴때 쓰라고 5v 전원을 2개의 핀이나 제공합니다. 사용해요!)



Python Code


먼저 GPIO.RPi 라이브러리를 install 해야 합니다. 


방법은 다음과 같습니다.


> sudo apt-get update


> sudo apt-get install python-rpi.gpio


전부 설치되면, import 했을때 오류가 안나면 됩니다.





되었습니다,


실행시켜보세요.


> sudo python servo_test.py



도움이 되었나요?

고맙습니다 :)

Comments