본문 바로가기

코딩교육9

[마이크로비트 with 파이썬] music 모듈 지난번 포스팅에서 마이크로비트(micro:bit)는 '멜로디를 쉽게 만들 수 있도록 music이라는 빌트인 모듈을 가지고 있다'라고 말씀드렸습니다. 그리고, 이 모듈을 사용하여 소리를 들을 수 있는 부저 사용방법에 대해 소개해 드렸습니다. 이번 포스팅에서는 마이크로비트(micro:bit)의 music 모듈을 사용하여 커스텀 멜로디를 만드는 방법에 대해 소개해 드리도록 하겠습니다. | 음 표기방법 마이크로비트(micro:bit)의 내장 멜로디를 사용하는 것이 아닌 자신이 만들 멜로디, 즉 커스텀 멜로디를 만들기 위해서는 멜로디를 이루는 음들을 어떻게 표현을 하는지 알아야 합니다. 왜냐하면 마이크로비트(micro:bit) music 모듈에서는 우리가 사용하는 '도레미' 음을 이해할 수가 없기 때문입니다. 따.. 2020. 6. 15.
[마이크로 비트 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 파이썬] 확장보드를 이용한 숨쉬는 LED 오픈소스 하드웨어를 처음 접했을 때 개인적으로 가장 먼저 만들어 보고 싶었던 것은 흔히 '숨 쉬는 LED'라고 말하는 'LED dimming'이었습니다. 지금 생각해보면 딱히 어떤 이유가 있었던 것은 아니었고, LED 빛이 서서히 밝아지고, 서서히 어두워지는 것에 힐링이 되었던 것 같은데, 아직도 왜 그런 마음을 가지게 되었는지는 모르겠습니다. 사설이 길었습니다. 오늘은 저의 추억이 묻어 있는 숨 쉬는 LED(LED dimming)을 마이크로 비트(micro:bit)로 어떻게 구현을 하는지 소개해 드리도록 하겠습니다. | PWM에 대해 지금 설명해 드리는 것은 굳이 알고 있지 않아도 되는 것입니다. 읽고 어렵다고 느끼시면 다음에 생각날 때 읽어보시길 바랍니다. 사실 숨 쉬는 LED의 구현은 PWM 기능이.. 2020. 5. 12.
[마이크로 비트 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.
[마이크로:비트 with 파이썬] LED 애니메이션 (1) 이전 포스팅에서 LED에 이미지를 출력하는 방법을 익혔습니다. 이번 포스팅에서는 마이크로:비트의 내장 5x5 LED를 이용하여 애니메이션 효과를 내보도록 하겠습니다. | 애니메이션의 원리 동영상이나 애니메이션은 잔상효과(persistence of vision)를 이용하는 것입니다. 잔상효과라는 것은 이미지가 사라져도 사람의 눈이나 뇌에 이전 이미지가 계속 남아 있어 인식되는 것을 경향을 말합니다. 잔상효과가 사라지기 전에 이전 이미지와 조금 다른 이미지가 보이면 사람이 이를 연속적인 영상인 동영상으로 인식하게 됩니다. 일반적으로 초당 15~20장 이상의 그림이면 사람은 자연스러운 움직임으로 인식합니다. | 기본적인 애니메이션 이번 예제는 작은 하트와 큰 하트가 번갈아 가면서 보이는 애니메이션으로 설명드리.. 2020. 3. 16.
[마이크로:비트 with 파이썬] 시작글 코딩 교육에서 각광받고 있는 '블록 코딩'은 논리적인 생각과 사고를 키우는 데 있어 가장 적합하고, 좋은 툴은 맞습니다. 그러나 제가 많은 시간을 블록 코딩을 사용하지 않아 깊이 이해하지 못해서 느끼는 것일 수도 있겠지만 블록 코딩의 특성상 수정의 불편함이 존재합니다. 또한 규모가 크거나 복잡한 프로그램을 만드는 데 있어 한계점이 있어 보입니다. 그럼에도 개인적으로 논리적인 생각과 사고를 키우는 입문 및 기본 툴로는 블록 코딩이 가장 적합하다고 생각합니다. 그러나 만약 코딩에 관심을 가지고 있는 누군가가 “블록 코딩 이후에 어떠한 프로그램 언어를 배워야 하느냐?”라고 묻는다면, 저는 한치의 망설임 없이 바로 ‘파이썬 언어를 배워라.’라고 이야기할 것입니다. 왜냐하면, 요즘 각광받는 데이터 분석이나 인공지.. 2020. 3. 2.