본문 바로가기
오픈소스하드웨어/마이크로:비트

[마이크로 비트 with 파이썬] GPIO

by 북마크한 취미생활 2020. 4. 7.

 

마이크로 비트(micro:bit)에는 엣지 커넥터 핀(Edge Connector Pins)이 있는데, 이를 이용하면 마이크로 비트(micro:bit)를 활용이 높아지게 됩니다.

이번 포스팅부터는 마이크로 비트(micro:bit)의 엣지 커넥터 핀을 사용하는 방법을 진행하도록 하겠습니다. 그러나 마이크로 비트(micro:bit)에서 직접 엣지 커넥터 핀을 사용하기에는 어려움이 있습니다. 따라서 이를 쉽게 사용하도록 도와주는 확장 보드를 사용하여 설명드리도록 하겠습니다.

| 확장보드

저의 경우 아래와 같은 확장 보드를 사용할 예정입니다. 하지만, 반듯이 동일한 보드를 구입하실 필요는 없습니다. 보드에 표기된 문자와 숫자가 어떤 의미를 가지고 있느냐를 이해하셔서 자신이 쓰기 편한 보드를 사용하면 됩니다.

▲ 예제에 사용할 확장보드

간략하게 확장 보드에 대해 설명드리도록 하겠습니다. 보드에 표기된 숫자는 마이크로 비트의 GPIO의 번호입니다. 만약 GPIO 1번을 사용한다면 1이라고 표기된 부분과 연결되면 됩니다. GPIO 5를 사용한다면 5라고 표기된 pin에 연결하면 됩니다.

G는 GND입니다. -와 연결하면 됩니다. 
VVDD입니다. +와 연결하면 됩니다. 이후에 다양한 센서 보드를 연결할 때 센서 보드에 전원을 공급할 때 사용합니다.

analog~로 표기된 부분은 PWM이 지원되는 pin입니다. 이 부분에 대해서 나중에 추가로 설명해 드리도록 하겠습니다.

CL, DA, S, I, O 등은 통신과 관련된 pin으로 이 부분도 이후에 포스팅으로 설명드리도록 하겠습니다. 지금은 '이러한 기능이 있다.' 정도만 기억해 주시면 됩니다.

| 회로 구성

GPIO를 활용한 LED on/off 예제를 실행하기 위해서 확장 보드에 아래와 같이 회로를 구성을 합니다.

LED의 경우 안쪽을 자세히 보면 평평하게 표기되어 있는 부분이 있는데, 그 부분이 -로 GND(G)와 연결이 되어야 합니다. 다르게 구분하는 방법은 LED의 다리를 보고 알 수 있습니다. LED의 다리가 짧은 쪽이 -입니다.

| 파이썬 코드

마이크로 비트, 파이썬 코드는 아래와 같습니다

from microbit import *

while True:
    pin1.write_digital(1)
    sleep(500)
    pin1.write_digital(0)
    sleep(500)

코드 pin1.write_digital(숫자)에서 pin1은 1번 GPIO pin을 사용한다는 의미입니다. write_digital(숫자)에서 숫자 1은 전류를 흘리라는 의미이고, 0은 전류를 흘리지 말라는 의미입니다.

해당 코드를 마이크로 비트(micro:bit)에 업로드하면 다음과 같은 동작은 볼 수 있습니다.

파이썬 코드에서 pin의 숫자를 변경해 보시고, 이때 회로의 구성은 어떻게 변경을 해야 하는 확인 해보시길 바랍니다. 이렇게 말씀드리는 것은 눈으로 보고 이해하는 것과 실제로 한번 해보는 것은 상당한 차이가 있기 때문입니다.

긴 글 읽어 주셔서 감사합니다.

반응형

댓글