마이크로 비트 파이썬 명령어 - maikeulo biteu paisseon myeonglyeong-eo

마이크로:비트의 파이썬 라이브러리 구조가 한 눈에 보이는 게 없어서 여기에 정리해 보고자 한다. (공식문서를 참조했다.)

모듈의 이름은 microbit 이다. 따라서 아래와 같은 함수나 클래스를 사용하려면 

명령으로 모두 로드하던가, 아니면 개별적으로 로드해서 사용하면 된다.

① 시스템관련

reset() 함수 : 보드를 리셋한다

panic(n) 함수 : 패닉모드(panic mode)로 들어간다. (보드는 재시작되어야 함)

② 시간 관련

sleep(ms) : 밀리초만큼 (아무 일도 않고) 기다린다.

running_time() : 보드가 (재)가동된 시간을 밀리초로 반환한다.

(외부모듈로는 utime이 있다. 외부모듈이므로 별도로 import 해야함)

③ 시각적인 표시 관련

Image 클래스

display.show(image) 메서드

display.scroll(string) 메서드

display.get_pixel(x, y)

display.set_pixel(x, y, value) : value 는 [0, 9]범위의 정수로 밝기를 설정함

display.clear()

display.on()

display.off()

display.is_on()

display.read_light_level(val)

④ 버튼 관련

미리 정의된 button_a,  button_b 객체를 사용함

button_a.is_pressed() : 현재 눌려졌으면 True 반환

button_a.was_pressed() : 이 함수가 마지막으로 호출된 이후 눌려진 적이 있다면 True반환 하고 상태는 리셋됨

button_a.get_pressed() : 총 몇 번 눌렸는지를 반환(그리고 횟수는 0으로 리셋됨)

※ button_b에 대해서도 동일한 메서드를 사용 가능

④ 핀관련

pin0, pin1, pin2, ... oin16, pin19, pin20 (pin17과 pin18은 사용불가)

(pin5는 button_A, pin11은 button_b에 사용)

pin_logo (V2에 추가)

pin_speaker  (V2에 추가)

pinN.read_digital()

pinN.write_digital(val) : val이 1이면 HIGH, 0이면 LOW

pinN.read_analog() : 0(0V)~1023(3.3V)사이의 정수 반환, (pin3, pin4, pin10 만 가능)

pinN.write_analog(val) : PWM출력 val은 0(0%듀티)~1023(100%듀티) 사이의 정수

pinN.analog_period(ms) : PWM주기 설정(최소갑은 1ms)

pinN.analog_period_microseconds(us) : PWM주기 설정(최소갑은 256 us)

※ 아날로그 입출력은 pin0, pin1, pin2 만 (내부LED를 안 쓸때는 pin3, pin4, pin10 까지) 가능

pinN.is_touched() : 터치되었다면 True 반환 

pinN.set_touch_mode(val) : val은 pinN.CAPACITIVE 혹은 pinN,RESISTIVE

※ 터치 기능은 pin0, pin1, pin2 에만 (V2에는 pin_logo 에도) 있음

⑤ 소리관련

audio.play()

audio.is_playing()

audio.stop()

⑥ 가속도계 관련

accelerometer.get_x()

accelerometer.get_y()

accelerometer.get_z()

accelerometer.get_values()

accelerometer.current_gesture()

⑦ 나침판(compass) 관련

compass.calibrate()

compass.clear_calibration()

compass.get_field_strength()

compass.get_x()

compass.get_y()

compass.get_z()

compass.hearing()

⑧ 내장 마이크 (V2)

microphone

⑨ 내장 스피커 (V2)

speaker.on()

speaker.off()

speaker.is_on()

⑩ 기타: Bluetooth SPI, UART I2C 등은 생략

처음 센서보드를 배운다면 마이크로비트가 낫다고 생각해요.

아두이노 보다 작은 크기에

별도 장치 없이 라디오 통신과 블루투스도 가능하고,

훨씬 더 가볍고 간편하게

피지컬컴퓨팅을 배울 수 있거든요~

아두이노에서 해볼 수 있는 예제는 마이크로비트에서도 가능해요.

그만큼 다양한 센서나 모터 등의 장치를 마이크로비트도 제어할 수 있답니다.

물론 마이크로비트 코드를 작성해야죠~

마이크로비트 전용 블록코딩 편집기 makecode (메이크 코드),

뿐만 아니라 스크래치와 엔트리에서도 코드를 작성할 수 있어요.

엔트리 파이썬으로는 코드를 작성할 수 없기 때문에

마이크로비트 전용 파이썬 편집기 micropython (마이크로 파이썬) 으로 작성합니다!

<마이크로비트로 배우는 파이썬> 교재는 마이크로파이썬으로

다양한 입력 및 출력 센서와 디바이스를 제어하는 코딩을 알려줍니다.

<마이크로비트로 배우는 파이썬> 교재용 키트가 제공됩니다.

브레드보드, 연결선, LED, 저항, 서보모터, 푸시버튼, 가변저항, 빛센서, 조이스틱, 확장보드 등으로 구성되어 있습니다.

서보모터는 5v 제공되는데, 마이크로비트는 3v이기 때문에 맞지 않아요.

아래 설명하겠지만 3v 서보모터를 별도 구매하는 게 좋아요..^^;;

<마이크로비트로 배우는 파이썬> 교재에는 마이크로비트 파이썬 프로그래밍을 위한 환경설정이 자세히 안내되어 있어

처음 배우시더라도 따라해 볼 수 있어요~

최신 버전 마이크로파이썬 편집기는 시리얼통신이 바로 가능하긴 해요.

간혹 연결이 제대로 되지 않을 경우가 있기 때문에

레플(REPL) 환경 구성을 위한 putty 프로그램을 추가로 설치해 두는 것도 좋겠네요.

웹브라우저를 이용해 마이크로비트 파이썬 프로그래밍을 합니다.

교재에 나와있지 않은 부분을 추가로 설명하자면..

마이크로비트와 연결Connect 진행 절차는 아래와 같아요~

[Connect] 버튼을 눌러

마이크로비트와 페어링,

연결된 후에는

[Flash] 버튼을 눌러 코드를 내려보낼 수 있어요!

간혹, 너무 느려진다면 [Load/Save] 버튼을 눌러 hex 파일을 마이크로비트 폴더에 저장시켜야죠.. ^^;

print 출력은 시리얼 창에서 확인하게 되죠. putty프로그램을 켜도 되지만

[Open Serial] 버튼을 눌러

바로 마이크로비트에 접속할 수 있습니다!

Ctrl + C 키와 Ctrl + D 키도 동일하게 제공됩니다.

앞서 언급했지만, 간혹 접속 에러 메시지창이 뜰 수 있어요.

그때는 putty 프로그램을 사용하세요.. ^^;;

<마이크로비트로 배우는 파이썬> 책은 파이썬을 배운 적 없는 학생에게도 적합한 교재라고 생각해요.

코드 한 줄 한 줄 설명이 잘 되어 있고,

한 번에 전체 코드를 제시하는 게 아니라 하나씩 코드를 작성하고 수행해 보면서 코드를 늘리는 법을 알려줍니다.

긴 코드를 단축시키는 법도 알려주고요.

한마디로 마이크로비트를 파이썬 코딩으로 동작시키면서

파이썬을 배우는

입문 활용서네요~

메이크코드 (블록코딩) 편집기와 마찬가지로 마이크로파이썬 (텍스트코딩) 편집기도

마이크로비트에 최적화된 편집기예요.

파이썬 문법을 따르지만 모든 라이브러리를 포함하지는 않습니다.

마이크로비트에 필요한 라이브러리만 포함되어 있고,

마이크로비트와 쉽고 간단하게 상호작용할 수 있는 편집기죠~

기본 파이썬 문법을 사용하면서

마이크로비트 라이브러리 명령어 사용법을

<마이크로비트로 배우는 파이썬> 교재로 배울 수 있습니다.

마이크로비트를 처음 접하게 되는 초보자를 위해

마이크로비트 보드 구성, 핀, 내장 센서 등

설명이 되어 있네요!

마이크로비트 내장 LED 25개, 버튼 2개, 가속도 센서, 나침반 센서를

제어하는 코드를 작성해

테스트해 볼 수 있게 예제 소스들이 제공되네요~

또한 마이크로비트는 외부 하드웨어 확장 핀들이 제공되는데,

이에 대한 설명도 일목요연하게 정리되어 있습니다.

다만, 아쉬운 점이 있다면 마이크로비트 홈페이지에서 볼 수 있는 자료 외

쉽게 검색이 어려운 LED 25개 배치와 회로 차이를

설명하는 부분이 없어, 이 부분은

호기심 많은 꼼꼼한 학생들에게는 치명적인 단점이 될 것 같아요..

이유인 즉슨, 197쪽 이미지 내 "LED Col 7", "LED Col 8", "LED Col 9" 글자와 함께

199쪽 설명에서도 "마이크로비트 LED 스크린의 7번 세로줄 LED들", "...8번 세로줄...", "...9번 세로줄"이 있는데

마이크로비트는 외관상 5×5 LED 매트릭스로 배치되어 있기 때문에

세로줄이 5까지만 보여서

세로줄 7, 8, 9번이 나오면 뭐지? 싶거든요~^^;;;

이것이야 말로 혼공하다 멘붕오는 거죠!!

ㅋㅋㅋ

검색을 하다하다 보면 회로도와 배치도를 찾게 되는데

암튼 "LEDS 9×3"이라고 설명을 교재에 해주면 얼마나 좋았을까요..

역시나 다른 마이크로비트 교재들처럼 이 부분은 많이 아쉽습니다;;

그래도 칭찬거리도 있어요~

아두이노 교재들처럼 저항이라든지, 회로 표기라든지, 꼼꼼하게 넣을 수 있는 건 모두 넣어 구성했다는 점!

눈에 익은 구성 그대로에 보드만 마이크로비트로 넣으면 되겠다는 익숙함을 느낄 수 있어요~

결국 명령어만 조금 다르구나! 느끼며 예제 코드를 작성해 나가며 연습하는 거죠. ^^

마이크로비트에 버튼 2개가 있지만 외부 버튼을 추가로 더 넣을 수 있고~

버튼처럼 디지털 입력 외 아날로그 입력으로 가변저항과

조이스틱 값을 읽을 수 있어요.

사진은 찍지 못했지만 빛 센서 까지도요~

마이크로비트 LED열은 빛도 감지 하는 신통방통한 녀석이죠! ^^

버튼처럼 추가로 외부 빛 센서를 입력으로 또 받을 수 있어요.

아쉽게도 <마이크로비트로 배우는 파이썬>에서는 마이크로비트 내장 빛 센서 제어는 다루지 않아요..

마이크로비트를 다루면서 부저를 빼놓을 수 없죠!

다양한 예제 소스를 해 볼 수 있었는데

키보드를 하나씩 눌러야 하는 번거로움에도 불구하고 흥미로운 키보드피아노도 연주해 보았네요~ ㅎㅎ

참고로 팁 하나 더 드리자면~ 321쪽에 소개된 웹페이지에 들어가서

music.play()함수로

기본 제공 저작권 무료인 음악도 재생해 보세요~*

앤써북카페 내 빅 이슈였던 서보모터 예제가 남았군요! 일단 예제 소스들은 테스트 모두 완료했어요▼

<마이크로비트로 배우는 파이썬> 교재 내 서보모터 예제 소스들은 모두

micro-servo 3v 제품에서는 제대로 동작한다는 팁으로 마무리 할께요~!

키트 구성품에 있는 5v 서보모터로는 동작되지 않기 때문에 사용해 보겠다면 굳이 애쓰지 않기를 바라며..^^;; 차라리 별도 구매하셔요▼

스트레스로 수명단축(?)되지 않으려면 microservo 3v 로 테스트하시길~* ㅋㅋㅋ

가던 곳만 가서 구입하다보니 아이씨뱅큐 알려드리지만, 더 싸게 구입할 수 있는 구매처가 있다면 그곳에서~

"microservo 3v" 구글링해서 찾아보세요!

그래도 서보모터를 분해해가며 설명을 아끼지 않은 점은 칭찬~칭찬~

부록1은 PDF파일 다운로드해서 꼭 볼 것!

<마이크로비트로 배우는 파이썬> 교재 부록은 PDF 파일로 제공하고 있어요.

마이크로비트의 장점인 라디오통신이 빠져서 아쉽다 싶었는데 부록에 있네요~?

부록1은 꼭 다운로드해서 보세요~!!!

교재 내 라디오통신 관련 예제와 설명이 추가되어 구성되면 좋겠어요..

교재로 선정할 때 이 부분을 따로 출력해서 줄 생각을 하니...숨이 턱..27페이지..헉;;;

하지만 부록PDF 끝까지 알찬 구성을 보여준 저자님께 감사해요~^^

<마이크로비트로 배우는 파이썬> 교재, 추천해요~b

본 포스팅은 해당 출판사로부터 책을, 해당 기업에서 키트 제품을 무료로 제공받아 작성하였습니다

Toplist

최신 우편물

태그