마이크로:비트17 [마이크로비트 v2.0 with Python] 터치버튼 마이크로 비트(micro:bit)가 버전 2.0으로 새롭게 돌아왔습니다. 내장 마이크가 있어 소리를 감지하고, 내장 스피커가 있어 별도의 소자 없이 소리를 재생할 수 있으며, 터치 센서가 추가로 내장 버튼 2개와 함께 입력단자가 늘어 활용성이 높아졌습니다. 또한 IO 핀 테두리가 노치 디자인으로 되어 외관과 기능면에서 더욱 강력한 마이크로비트가 되었습니다. (참고로 저도 카드 이미지를 마이크로비트 v2.0에 맞게 노치 디자인을 적용했습니다) 이번 포스팅에서는 새롭게 바뀐 마이크로비트 v2.0, 터치 센서 사용방법에 대해 알아보겠습니다. | 터치센서 터치센서는 물리키와 다르게 물리적인 힘을 가해 인식하는 것이 아니라 손가락이 센서에 닿았는지 유무를 확인하는 센서입니다. 마이크로비트 v2.0에서는 기존 로고.. 2021. 4. 15. [마이크로 비트 with 파이썬] LED Fade Effect 오늘 포스팅은 마이크로:비트(micro:bit)로 LED Fade Effect를 구현하는 방법을 소개해 드리도록 하겠습니다. LED Fade Effect라는 용어는 생소하실 텐데요. 제가 오픈소스 하드웨어를 이용한 아마추어 게임기 제작 팀에서 활동할 때 버튼을 누르면 LED가 최대로 밝아지고 서서히 줄어드는 기능을 구현했었는데, 이 기능의 이름을 LED Fade Effect라고 이름을 붙였습니다. 말로 들으면 이해하기 어려우실 텐데요, LED Fade Effect는 아래처럼 동작하는 것이라고 이해하시면 됩니다. | 회로 구성 회로의 구성은 다음과 같습니다. LED Fade Effect는 analog pin을 사용을 해야 합니다. 다만, 1번 pin만이 아닌 다른 analog pin을 사용해도 되니 용도에.. 2020. 5. 29. [마이크로 비트 with 파이썬] 조도센서 사용법 자동차가 터널을 들어갈 때 자동차 헤드라이트가 자동으로 켜진다던가 스마트폰을 밝은 곳에서 사용하다 어두운 곳으로 이동을 했을 때 LCD 화면이 서서히 어두워지 등의 빛의 밝기를 알려주는 조도센서는 생활 곳곳에서 활용되고 있습니다. 이번 포스팅에서는 이렇게 빛의 밝기를 측정하는 센서를 마이크로 비트(micro:bit)에서 사용하는 방법에 대해 알아보도록 하겠습니다. | 회로 구성 조도센서를 테스트하기 위해서 아래와 같이 회로를 구성해 주면 됩니다. 조도센서를 연결할 때 저의 경우 저항을 220옴을 사용했는데, 다른 값의 저항을 사용하셔도 무방합니다. 상기 그림의 회로 구성에서 1번 pin의 경우 꼭 1번 pin일 경우는 없고 마이크로 비트(micro:bit)의 아날로그를 사용할 수 있는 pin에 연결하시면.. 2020. 5. 22. [마이크로 비트 with 파이썬] 디버깅 마이크로 비트(micro:bit)에서 파이썬 코딩을 하고, 코드를 마이크로 비트(micro:bit)에 올렸을 때 잘 수행이 되면 좋을 텐데 가끔 LED display에 에러 문구가 보이고 동작을 하지 않는 경우가 있습니다. 그래서 이번 포스팅은 이렇게 잘못 작성된 코드를 찾아내고 수정하는 디버깅 방법을 소개하도록 하겠습니다. | 오류가 있는 코드 하기의 코드는 마이크로 비트 LED display에 "Hello, World"를 출력하는 기본 코드입니다. 하지만 디버깅 방법을 설명해 드리기 위해서 일부러 에러가 있는 코드로 만들었습니다. from microbit import * while true : display.scroll("Hello, World") 에러의 내용은 다음과 같습니다. while 구문에서 .. 2020. 5. 17. [마이크로 비트 with 파이썬] 확장보드를 이용한 버튼 사용법 이전 포스팅 에서 마이크로 비트(micro:bit)의 내장 버튼 사용방법을 알려드렸는데, 이번 포스팅에서는 확장 보드를 이용한 버튼 사용방법에 대해 알려드리도록 하겠습니다. 마이크로 비트의 내장 버튼을 사용하면 말 그래도 버튼이 보드에 달려 있어 단순히 사용만하면 됩니다. 하지만 확장 보드를 사용하게 되면 버튼을 어떤 GPIO에 연결할지를 결정하고, 연결된 GPIO에 맞는 코드를 작성을 해야 합니다. 설명만 보면 많이 어려울 것이라 생각이 드시겠지만, 원리만 이해한다면 그렇게 어려운 내용은 아닙니다. 그럼 본격적으로 확장 보드를 이용한 버튼 사용법에 대해 설명드리겠습니다. | 예제 설명 이번에 만들 프로그램은 마이크로비트 내장 LED에 기본적으로 웃는 얼굴을 출력되고, 확장보드(GPIO)에 연결된 버튼을.. 2020. 4. 9. [마이크로 비트 with 파이썬] GPIO 마이크로 비트(micro:bit)에는 엣지 커넥터 핀(Edge Connector Pins)이 있는데, 이를 이용하면 마이크로 비트(micro:bit)를 활용이 높아지게 됩니다. 이번 포스팅부터는 마이크로 비트(micro:bit)의 엣지 커넥터 핀을 사용하는 방법을 진행하도록 하겠습니다. 그러나 마이크로 비트(micro:bit)에서 직접 엣지 커넥터 핀을 사용하기에는 어려움이 있습니다. 따라서 이를 쉽게 사용하도록 도와주는 확장 보드를 사용하여 설명드리도록 하겠습니다. | 확장보드 저의 경우 아래와 같은 확장 보드를 사용할 예정입니다. 하지만, 반듯이 동일한 보드를 구입하실 필요는 없습니다. 보드에 표기된 문자와 숫자가 어떤 의미를 가지고 있느냐를 이해하셔서 자신이 쓰기 편한 보드를 사용하면 됩니다. 간략.. 2020. 4. 7. [마이크로 비트 with 파이썬] 제스처 사용법 마이크로 비트(micro:bit)의 가속도 센서는 여러 가지 제스처(gesture)를 인식을 제공해 줍니다. 이번 포스팅에서는 마이크로 비트(micro:bit) 제스처 인식 사용방법에 대해서 알아보도록 하겠습니다. | 마이크로 비트 제스처 마이크로 비트(micro:bit)가 다음 그림과 같을 때 각 상태에 따른 값을 반환해 줍니다. freefall 마이크로 비트(micro:bit)가 떨어짐을 인식합니다. shake 마이크로 비트(micro:bit)를 흔들 때 이를 이식합니다. | 제스처 예제 다음은 제스처에 대한 간단한 예입니다. 일반 상태일 경우에는 기쁜 표정을 LED에 표기하고, 떨어질 경우 2초간 슬픈 표정을 LED에 표기합니다. from microbit import * while True: ges.. 2020. 3. 24. [마이크로 비트 with 파이썬] 가속도 센서 사용법 마이크로 비트(micro:bit)는 내장 가속도 센서를 가지고 있습니다. 따라서 이를 이용하면 x, y, z 축에 대한 값을 측정할 수 있으며, 다양한 활용도 가능합니다. | 가속도 센서 예제 마이크로 비트(micro:bit)의 가속도 센서를 활용하여, 마이크로 비트가 수평을 유지하면 '-'가 표시되고, 왼쪽이나 오른쪽으로 기울어지면 해당 방향의 화살표가 LED에 나타나는 파이썬 코드 예제입니다. from microbit import * while True: reading = accelerometer.get_x() if reading > 100: display.show(Image.ARROW_E) elif reading < -100: display.show(Image.ARROW_W) else: displa.. 2020. 3. 23. [마이크로 비트 with 파이썬] 난수 사용법 만약 주사위를 던졌을 때 1부터 6까지 순서대로 주사위 값이 나온다면 어떨까요? 주사위로 게임을 할 때 던질 때마다 예측을 할 수 없는 값이 나오기 때문에 게임의 재미가 더하게 될 것입니다. 마이크로 비트(micro:bit)에서는 이렇듯 예측할 수 없는 수를 만드는 방법을 지원해주고 있습니다. 이번 포스팅에서는 이러한 예측할 수 없는 수, 즉 난수를 생성해주는 random에 대해 알아보도록 하겠습니다. | random 마이크로 비트(micro:bit), 파이썬에서 난수를 생성하기 위해서는 random 모듈을 사용자 프로그램에 포함을 해야 합니다. random 함수 사용법을 설명드리기 위해 간단한 예제 코드를 작성하였습니다. 이 마이크로 비트(micro:bit), 파이썬 코드의 예제는 A 버튼을 누르면 1.. 2020. 3. 21. [마이크로 비트 with 파이썬] 버튼 사용법 | 내장 스위치 마이크로 비트(micro:bit)는 A와 B로 표기된 두 개의 내장(built-in) 스위치를 가지고 있습니다. 이 내장 스위치를 통해 사용자의 입력을 받아 특정한 동작을 실행할 수가 있습니다. 예를 들면 A 버튼을 누르면 Image.ARROW_W(왼쪽 화살표), B 버튼을 누르면 Image.ARROW_E(오른쪽 화살표)가 LED에 출력되도록 할 수 있습니다. 다음 코드가 바로 설명드린 동작을 하는 파이썬 코드입니다. from microbit import * while True : if button_a.is_pressed() : display.show(Image.ARROW_W) elif button_b.is_pressed() : display.show(Image.ARROW_E) else .. 2020. 3. 20. [마이크로 비트 with 파이썬] LED 애니메이션 (3) | 리스트를 이용한 애니메이션 지난번 포스팅에서는 display.show( )와 delay( ) 함수를 가지고 애니메이션을 만들어 봤는데요. 이렇게 할 경우 코드의 길이가 길어지는 단점이 있습니다. 이를 위해서 마이크로 비트에서는 파이썬의 자료형인 리스트를 활용하여 애니메이션을 표현할수 있도록 하였습니다. 설명을 드리기 전에 리스트로 구현된 애니메이션 파이썬 코드를 보여드리도록 하겠습니다. from microbit import * display.show(Image.ALL_CLOCKS, loop=True, delay=67) 굉장히 소스가 간결해 졌죠? 여기에서 'Image.ALL_CLOCKS'라는 것이 바로 리스트(list) 자료형입니다. 이 리스트 자료형에 이전 포스팅의 CLOCK1부터 CLOCK12까지.. 2020. 3. 19. [마이크로 비트 with 파이썬] LED 애니메이션 (2) 지난번에 말씀드린 CLOCK 애니메이션은 구현해 보셨나요? 이번 포스팅에서는 지난번 숙제로 내드린 CLOCK 애니메이션 구현에 대해 포스팅하도록 하겠습니다. | 애니메이션 속도 조절 지난번 포스팅을 보면 이미지와 이미지 사이에 sleep( ) 함수를 사용하셨을 텐데요. 만약 숫자가 마음에 들지 않을 경우 일일이 숫자를 찾아서 고쳐야 하는 불편함이 있습니다. 이러한 불편함을 없애기 위해서 하나의 변수에 값을 넣고 이 것을 sleep( ) 함수에 이용하면 됩니다. 말로 설명드리면 어렵죠? 아래의 파이썬 소스를 통해 설명드리도록 하겠습니다. from microbit import * DELAY_TIME = 200 while True : display.show(Image.CLOCK1) sleep(DELAY_TIM.. 2020. 3. 17. 이전 1 2 다음