오픈소스하드웨어30 [마이크로 비트 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. [마이크로:비트 with 파이썬] LED 애니메이션 (1) 이전 포스팅에서 LED에 이미지를 출력하는 방법을 익혔습니다. 이번 포스팅에서는 마이크로:비트의 내장 5x5 LED를 이용하여 애니메이션 효과를 내보도록 하겠습니다. | 애니메이션의 원리 동영상이나 애니메이션은 잔상효과(persistence of vision)를 이용하는 것입니다. 잔상효과라는 것은 이미지가 사라져도 사람의 눈이나 뇌에 이전 이미지가 계속 남아 있어 인식되는 것을 경향을 말합니다. 잔상효과가 사라지기 전에 이전 이미지와 조금 다른 이미지가 보이면 사람이 이를 연속적인 영상인 동영상으로 인식하게 됩니다. 일반적으로 초당 15~20장 이상의 그림이면 사람은 자연스러운 움직임으로 인식합니다. | 기본적인 애니메이션 이번 예제는 작은 하트와 큰 하트가 번갈아 가면서 보이는 애니메이션으로 설명드리.. 2020. 3. 16. [마이크로:비트 with 파이썬] LED 이미지 마이크로:비트 파이썬은 내장 이미지가 있어 이를 이용하면 하트, 오리, 행복한 표정 등을 마이크로:비트의 5x5 LED 메트릭스에 쉽게 출력할 수 있습니다. 또한 내장된 다양한 이미지뿐만 아니라 자신만의 이미지를 만들 수도 있습니다. 이번 포스팅에서는 마이크로:비트 파이썬의 내장된 이미지를 출력하는 방법과 자신의 이미지를 어떻게 만드는지 알아보도록 하겠습니다. | 내장 이미지 사용방법 하기의 코드를 마이크로:비트에 올리면, 내장된 이미지가 LED 메트릭스에 출력이 됩니다. from microbit import * while True: display.show(Image.HAPPY) display.show() 함수는 마이크로:비트의 파이썬 이미지 객체를 출력하는 기능을 합니다. 내장된 이미지를 변경하기 위해.. 2020. 3. 13. [라즈베리파이] 보드 버전 확인방법 라즈베리파이를 가지고 무엇인가를 만들면서 라즈베리가 하나둘씩 쌓여가기 시작합니다. 평소에 정리를 잘하면 좋을 텐데 귀차니즘으로 인해서 정리를 하지 않아서 가지고 있는 라즈베리가 어떤 버전인지 구분이 안됩니다. 그래서 이번 포스팅에서는 사용하고 있는 라즈베리 파이의 버전을 확인하는 방법에 대해 알아보도록 하겠습니다. 물론 정리 정돈을 잘하시는 분들에게는 유용한 포스팅이 아닐 것 같습니다. (웃음) | 라즈베리 파이 버전 확인 방법 터미널을 통해 라즈베리 파이에 접속을 한 다음 cat /proc/device-tree/model 커맨드 실행합니다. 실행을 하면 아래 그림과 같은 정보가 출력이 됩니다. 출력문은 Raspberry Pi 뒤에 나오는 숫자가 보드의 버전, 다음은 보드의 모델, 그다음은 보드의 리비전.. 2020. 3. 12. [마이크로:비트 with 파이썬] Hello, World 컴퓨터 프로그램 언어를 배울 때 누구나 "Hello, World"라는 문장을 화면에 출력하는 예제를 실행하면서 프로그래밍 입문을 하게 됩니다. 가장 쉽고, 결과물을 바로 볼 수 있기 때문에 성취감도 있는 예제이기 때문일 것입니다. 마이크로:비트에서 이 "Hello, World"와 같은 예제가 바로 내장된 5 x 5 메트릭스 디스플레이 LED에 문자열을 스크롤시키는 것입니다. 이번 포스팅에서는 어떻게 "Hello, World" 문자열을 마이크로:비트에서 출력할 수 있는지 알아보도록 하겠습니다. | 실행하기 #01. 지난 포스팅에서 설치한 Mu 프로그램을 실행합니다. #02. New 버튼을 눌러 새로운 파이썬 스크립트를 생성합니다. #03. 새로운 프로젝트가 나타나면 하기의 코드를 붙여 넣습니다. from .. 2020. 3. 6. [마이크로:비트 with 파이썬] 코딩환경 만들기 마이크로:비트에서 마이크로 파이썬(MicroPython, 이후 파이썬) 코딩하는 방법 중 일반적인 것은 온라인으로 접속해 코딩하는 방법이 있습니다. 하지만 개인적으로는 온라인 에디터를 사용하는 것보다 오프라인 에디터를 사용하는 것이 편하게 코딩을 할 수 있다고 생각합니다. 따라서 이번 포스팅에서는 마이크로:비트에서 파이썬을 코드를 작성할 수 있는 환경을 구축하는 방법을 알려드리도록 하겠습니다. | Mu 프로그램 다운로드 및 설치 마이크로비트에서 파이썬 코드를 작성하기에 Mu 프로그램이 가장 편리합니다. 이 프로그램은 아래의 URL에서 다운로드하실 수 있습니다. https://codewith.mu Code With Mu codewith.mu 상기의 URL을 클릭하여 를 선택한 뒤 자신의 OS에 맞는 프로그.. 2020. 3. 4. [라즈베리파이] wiringPi 설치 라즈베리파이에서 GPIO 프로그래밍을 할 때 가장 편리한 방법은 wiringPi라는 라이브러리를 이용하는 방법입니다. 라이브러리 제작자는 라즈베리 초창기부터 wiringPi를 개발하여 공개하였고, 다른 GPIO 라이브러리에 비해 속도도 비교적 빠르기 때문에 wiringPi를 사용하시는 것을 추천드립니다. 이번 포스팅에서는 라즈베리 파이에서 GPIO를 쉽게 사용할 수 있는 wiringPi의 설치방법에 대해 알아보도록 하겠습니다. ■ wiringPI 설치방법 #01. sudo apt-get update와 sudo apt-get upgrade 명령을 통해 라즈베리 파이의 업데이트 및 업그레이드를 합니다. 중간에 추가 설치를 위해 용량이 필요하다는 문구가 나오면 Y키를 누릅니다. #02. 언제부터인지 wirin.. 2020. 3. 3. 이전 1 2 3 다음