본문 바로가기

Python13

[마이크로비트 v2.0 with Python] 터치버튼 마이크로 비트(micro:bit)가 버전 2.0으로 새롭게 돌아왔습니다. 내장 마이크가 있어 소리를 감지하고, 내장 스피커가 있어 별도의 소자 없이 소리를 재생할 수 있으며, 터치 센서가 추가로 내장 버튼 2개와 함께 입력단자가 늘어 활용성이 높아졌습니다. 또한 IO 핀 테두리가 노치 디자인으로 되어 외관과 기능면에서 더욱 강력한 마이크로비트가 되었습니다. (참고로 저도 카드 이미지를 마이크로비트 v2.0에 맞게 노치 디자인을 적용했습니다) 이번 포스팅에서는 새롭게 바뀐 마이크로비트 v2.0, 터치 센서 사용방법에 대해 알아보겠습니다. | 터치센서 터치센서는 물리키와 다르게 물리적인 힘을 가해 인식하는 것이 아니라 손가락이 센서에 닿았는지 유무를 확인하는 센서입니다. 마이크로비트 v2.0에서는 기존 로고.. 2021. 4. 15.
[파이썬 훈련소] 변수 | 변수 변수란 정보를 저장할 수 있는 메모리 공간입니다. 이렇게 설명을 드리면 머릿속에 변수가 그려지지 않을 텐데요. 쉽게 설명을 드리면 변수는 큰 창고(메모리) 안에 있는 '물건(값/데이터)을 넣을 수 있는 상자'와 비슷합니다. 우리가 어떤 물건(값)을 상자에 담으려면, 물건이 들어가기에 알맞은 상자를 만들고, 그 상자 안에 물건을 집어넣게 되는데, 이 상자를 변수라고 생각하면 됩니다. 창고 안에는 여러 개의 상자가 있기 때문에, 상자에서 집어넣은 물건을 쉽게 찾기 위해 상자에 라벨을 붙일 텐데요. 이렇게 라벨을 붙이는 행위를 변수명을 붙이는 것이라고 생각하면 됩니다. 즉, 라벨은 '변수명'입니다. 그림으로 설명을 드리면, 변수는 상자, 변수명은 상자에 붙인 이름표, 물건은 변숫값(자료)입니다. 라벨.. 2021. 4. 9.
[파이썬 훈련소] 비교 연산자 | 개요 지난 불(bool) 연산 포스팅에서 판단의 결과로 True, False가 나오게 된다고 말씀드렸는데요. 그 판단 중 하나가 오늘 포스팅으로 소개해 드리려는 비교 연산자입니다. 비교 연산은 일상생황에서 많이 사용되고 있기 때문에 한번 들으면 '이것을 비교 연산이라고 하는구나!'라고 쉽게 이해가 되는 연산입니다. 이번 포스팅에서는 파이썬에서 사용 가능한 비교 연산자가 무엇이 있으며, 어떻게 사용하는지 구체적으로 알아보도록 하겠습니다. | 비교 연산자 비교 연산 설명을 위해 다음 그림과 같이 왼쪽에 사과 2개, 오른쪽에 사과가 1개 있다고 가정하고 설명을 드리도록 하겠습니다. "사과 2개가 사과 1개보다 큰가요?"를 인터렉티브 쉘을 통해 물어보려면 '2 > 1'이라고 표현을 하면 동일한 의미를 가집니.. 2021. 4. 4.
[파이썬 훈련소] 불(bool) 연산 | 불(bool) 자료형 불(bool) 연산을 배우기 위해서는 불(bool)이라는 자료형이 무엇인지 이해하는 것이 필요합니다. 불(bool) 자료형은 간단히 참(True)과 거짓(False)을 나타내는 자료형입니다. 참과 거짓이라고 하면 쉽게 이해가 잘 안 되실 텐데요. 조금 더 쉽게 설명을 드리기 위해 아래 그림과 같이 노란색 상자에 붉은색 공이 들어있다고 가정하고 설명드리겠습니다. 누군가가 "상자 색이 노란색인가요?"라고 질문한다면 답변을 어떻게 할까요? 당연히 상자 색이 노란색이기 때문에 "네, 맞습니다(True)."라고 답변할 것입니다. 다른 누군가가 "상자 색이 검은색인가요?"라고 질문한다면 상자는 노란색이기 때문에 "아니요(False)."라고 답변을 할 것입니다. 불(bool) 자료형은 이렇듯.. 2021. 3. 29.
[파이썬 훈련소] 산술연산2 | 나머지 연산자, 몫 연산자 숫자를 나누기를 할 때 아래 그림과 같이 몫과 나머지 값을 각각 구해서 사용해야 하는 경우가 있습니다. 이전에 배운 나누기 연산자(/)를 사용하게 되면, 소수점으로 결과를 얻게 됩니다. 왜냐하면 지난번에 설명을 드렸듯이 파이썬에서는 내부적으로 실수형으로 계산이 되어 정수형으로 값이 반환되지 않기 때문입니다. 실습을 위해 아래와 같은 코드를 입력하고 [엔터] 키를 누릅니다. >>> 5/3 1.6666666666666667 따라서 그림 1과 같은 몫과 나머지를 구하기 위해서는 나누기(/) 연산자가 아닌 다른 연산자를 필요합니다. 파이썬에서는 이렇게 정수형 몫을 구하는 연산자 '//'와 나머지 값을 반환하는 연산자인 '%'를 사용하여 몫과 나머지를 구할 수 있도록 하였습니다. 몫.. 2021. 3. 27.
[파이썬 훈련소] 산술연산(사칙연산) | 개요 파이썬 언어는 인터렉티브 쉘(Interactive shell)을 지원하기 때문에 컴퓨터와 대화하는 것처럼 프롬프트에 어떤 명령을 입력하면 그에 대한 답을 보여줍니다. 그렇기 때문에 파이썬 언어를 재미있게 습득할 수 있습니다. 자신이 입력한 코드 결과를 바로 확인할 수 있는 것은 흥미를 유발하고, 프로그램 언어에 대한 문턱을 낮추었다고 생각합니다. 이번 포스팅부터는 이러한 인터랙티브 쉘을 활용하여 파이썬 언어를 본격적으로 익혀보도록 하겠습니다. | 사칙연산 파이썬 언어를 통해 처음 익힐 것은 파이썬에서 사용할 수 있는 산술 연산자가 무엇이 있으며, 사용 시 주의할 점이 무엇이 있는지 알아보도록 하겠습니다. 우선 파이썬 인터렉티브 셸 프롬프트에 다음과 같은 간단한 수식을 입력해 봅니다. >>> 1+.. 2021. 3. 24.
[파이썬 훈련소] 기초 문법 (주석) | 세미콜론 C, C#, JAVA와 같은 대부분의 프로그램 언어들은 구문을 종료할 때 ‘; (세미콜론)’을 붙여 문장이 끝났음을 표시합니다. 파이썬도 문자열 끝에 세미콜론을 붙여 문장의 끝임을 알릴 수는 있지만, 일반적으로 세미콜론을 붙이지는 않습니다. 아래와 같이 문장 끝에 세미콜론을 붙이든 붙이지 않던 동일한 결과가 나타납니다. replit에서 아래와 같은 문장을 입력하고 엔터 키를 누릅니다. (아래 분장에서 '>>>'는 입력하지 않습니다) >>> print('파이썬 훈련소'); 파이썬 훈련소 >>> print('파이썬 훈련소') 파이썬 훈련소 그래도 파이썬 코드에서 문장 끝에 반듯이 세미콜론을 붙여야 할 때도 있습니다. 그것은 여러 개의 코드를 한 줄로 표기할 때입니다. 이러한 경우를 제외하고 일반.. 2021. 3. 20.
[마이크로 비트 with 파이썬] 네오픽셀(NeoPixel) 사용법 | 네오픽셀(NoePixel)이란? 네오픽셀이란 Adafruit사에서 RGB를 표현할 수 있는 LED 부품인 WS2812를 일반 사용자들이 사용하기 쉽게 라이브러리를 제공하여 '네오픽셀'이란 이름으로 브랜드화한 제품입니다. 만약 일반 사용자들이 라이브러리가 없이 WS2812를 사용했다면 사용하기 어려워 이렇게 까지 대중화는 되지 않았을 것이라고 생각합니다. 따라서 Adafruit에서 쉽게 사용할 수 있는 라이브러리를 제공한 것이 대중화를 이끈 일등공신이라고 생각이 듭니다. 네오픽셀의 특징이라면 2개의 전원(VCC, GND)과 한개의 Data pin을 가지고 여러개의 LED(네오픽셀 스트립, 네오픽셀 매트릭스)를 각각 제어할 수 있는 것입니다. | 사용 시 주의점 마이크로비트(micro:bit)에서는 ou.. 2020. 9. 26.
[마이크로 비트 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)는 내장 가속도 센서를 가지고 있습니다. 따라서 이를 이용하면 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.