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


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


from microbit import * 


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



① 시스템관련


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 등은 생략




'하드웨어 > micro:bit' 카테고리의 다른 글

마이크로비트 V2  (0) 2021.01.14
마이크로비트(micro:bit) 첫 코딩  (0) 2021.01.13
Posted by 살레시오

댓글을 달아 주세요

최근에 마이크로비트가 V2로 하드웨어가 업데이트되었다. 규격은 동일하지만 프로세서가 업그레이드 되면서 기존의 48MHz 클럭 스피드가 65MHz로 상향되었다. 그리고 플래시메리리가 512kb 로 기존의 두 배로 늘어났고 램도 32kb로 역시 두 배로 늘었다.


그리고 스피커와 마이크로폰이 추가되었고 로고에 터치센서가 연결된 점이 가장 크게 눈에 띈다.



Posted by 살레시오

댓글을 달아 주세요

마이크로비트(micro:bit)는 파이썬(정확히는 '마이크로파이썬'이다)으로 프로그램이 가능하다.

라이브러리가 잘 갖추어져 있는 것 같고 웹에서 바로 코딩하거나 Mu라는 에디터를 PC에 설치하여 파이썬 코딩이 가능하다. 개인적으로 Mu를 이용하는 것이 편했다.



Mu는 이전에는 꽤 불안정한 에디터였던 것으로 기억하는데 버전이 1.x대로 올라섰고 어느 정도 안정감 있게 동작하는 것 같다.



마이크로비트뿐만 아니라 마이크로파이썬이 동작하는 ESP32기반의 보드 같은 것에도 사용할 수 있다.



위의 모드에 보면 circuitpython 기반의 보드들도 지원하는 것을 알 수 있다.


Posted by 살레시오

댓글을 달아 주세요