본문 바로가기

분류 전체보기

(17)
Chapter 6 - 순발력 테스트 이번 예제에서는 LED가 꺼지는 순간 스위치 버튼을 빠르게 누르는 순발력 게임을 구현해 보겠습니다. 사람의 일반적인 반응속도는 200-250 ms 라고 합니다. 과연 이보다 빠르게 누를 수 있을까요? 0.2초 보다 짧은 시간으로 성공한 사람은 댓글에 기록을 남겨주세요. 준비물 LED 1개 330옴 저항 1개 스위치 버튼 2개 M2M 점퍼 와이어 다수 A Single-player Game 서킷 구성 1) LED : GP15 및 그라운드 연결. LED에 극성이 있으므로 긴다리(anode)를 GP15에 연결하는 것에 유의 2) 스위치 : GP14 및 3.3V 연결 왜 스위치에 3.3V를 연결할까? 모든 GPIO에는 보드 상에서 programmable 저항이 달려 있다. 모든 예제에서는 저항을 pull down..
Chapter 5 - 신호등 제어기 길거리에서 흔히 발견되는 신호등에서도 마이크로컨트롤러가 사용됩니다. 신호등의 불빛은 타이머, 교통량 등에 따라 조절 됩니다. 피코를 이용하여 간단한 신호등 제어기를 만들어 보겠습니다. 준비물 : 빨간색, 주황색, 주황색 LED 각각 1개씩 330 옴 저항 3개, Active 피에조 부저 (piezoelectric buzzer) 1개 M2M 점퍼 와이어 다수 간단한 신호등(A simple traffic light) 서킷구성 1) 빨간색, 주황색, 초록색 LED를 꽂는다. 이때 긴 다리(anode)는 GPIO와 연결 시킨다. 반대편 짧은 다리(cathode)는 ground (38번핀) 와 연결시킨다. 2) 330옴 저항 3개는 LED 긴 다리 앞쪽에 위치 시킨다. LED에 들어가는 전류를 줄이기 위해 저항을..
Chapter 4 Physical computing w/ Raspberry Pi Pico 내장 LED 깜박이기 예제 피코 보드 USB 포트 왼쪽에 LED가 부착되어 있습니다. 이 LED는 GP25에 연결되어 있습니다. 핀맵에 "GP25"라고 써져 있죠. 그리고 마이크로파이썬에는 'machine' 라이브러리가 있고 이 라이브러를 통해 GPIO(General-purpose Input/Output) 핀들을 제어할 수 있습니다. 다시 말해 machine 라이브러리가 있어야 GPIO 핀을 제어할 수 있고 GP 25에 연결된 내장 LED를 제어할 수 있습니다. machine 라이브러리를 살펴보면 그 하위에 Pin 클래스가 있습니다. Pin 클래스 상세한 내용이 궁금한 신 분들은 아래 링크를 참조하세요. https://docs.micropython.org/en/latest/library/machine.P..
Chapter 3 Physical computing - (3) 저항 읽는 방법 저항 읽는 방법은 다른 블로그 링크로 대체 합니다. 저항 색띠 읽는법 (컬러코드 읽는법) : 네이버 블로그 (naver.com) 저항 색띠 읽는법 (컬러코드 읽는법) 고정 저항(LEAD)에는 고유의 색띠가 그려져 있습니다. 이 색띠는 저항의 값과 오차를 의미하며, 저항을... blog.naver.com
Chapter 3 Physical computing - (2) 전기 부품(Electronic components) 브레드보드는 일명 '빵판'이라고 불립니다. 전기/전자를 전공하신 분들은 자주 접하는 부품입니다. 브레드보드 바닥에 깔린 금속 트랙을 따라서 전기가 통하기 때문에 각 부품끼리 와이어로 납땜을 하지 않고도 서로 연결시킬 수 있어 교육용 교보재로 많이 사용됩니다. 점퍼 와이어는 부품끼리 전기적으로 연결시킬 때 사용하는 전선입니다. male-to-famale (M2F), female-to-female (F2F), male-to-male (M2M) 이렇게 3가지 버전이 있습니다. 모멘터리(momentary) 스위치라고도 불리는 푸쉬-버튼 스위치 입니다. 한번 스위치가 눌리는 순간에만 전기적으로 연결되어 특정한 기능을 동작하게 할 때 많이 사용됩니다. 이외에 la..
Chapter 3 Physical computing - (1) Chapter 1에서는 피코의 하드웨어, 납땜하는 방법, 마이크로파이썬 펌웨어를 설치하는 방법에 다뤘습니다. Chapter 2에서는 마이크로파이썬으로 간단한 프로그래밍 (Hello world, 반복문, 조건문)을 다뤘습니다. Chapter 3부터는 실제 물리적인 하드웨어 장치(LED, 저항, 센서 등)를 가지고 실습해 보겠습니다. 일반적으로 '프로그래밍' 또는 '코딩'이라고 하면 소프트웨어를 먼저 떠올리기 쉽습니다. 하지만 '코딩'은 소프트웨어를 다루는 것 외에도 하드웨어를 통해 실제 세계를 제어할 수 있어 매력적입니다. 이것을 Physical computing 이라고 합니다. Physical coumping 예시 -. 온도계(thermostat)로 동작되는 보일러, 에어컨 -. 길거리 신호등 -. 식기..
Chapter 2 MicroPython 프로그래밍 - (4) Loop 반복문과 코드 들여쓰기 Thonny 툴바에서 New 아이콘을 클릭하여 새 파일을 작성합니다. print("Loop starting!") for i in range(10): print("Loop number", i) print("Loop finished!") 스크립트 영역에서 위와 같은 반복문을 입력합니다. for loop 내에서 반복하고자 하는 스크립트는 tab버튼으로 들여쓰기를 해주어야 합니다. 실행 버튼을 클릭하고 저장소는 피코를 선택한 뒤, 파일 이름은 Indentation.py로 입력하여 저장합니다. Shell 영역에서 Loop 반복문이 10번 실행되며 문자열이 출력됩니다. 잘 아시겠지만 파이썬 문법에서 range(10)은 0부터 9까지 10의 길이를 가진 리스트 [0,1,2,3,4,5,..
Chapter 2 MicroPython 프로그래밍 - (3) Hello, World! 출력하기 프로그래밍 시작의 국룰! "Hello, World!"를 출력해 보겠습니다. Shell 영역에 print("Hello, World!")를 입력하고 엔터를 치면 Interactive mode로 동작하여 바로 결과가 출력됩니다. 반면에 스크립트 영역에 print("Hello, World!")를 입력하고 엔터를 치면 다음줄로 넘어가기만 할뿐 실행되지는 않습니다. 스크립트 영역에 작성된 코드를 실행시키려면 툴바 중 오른쪽 화살표를 클릭하면 됩니다. 아니면 F5 단축키를 눌러도 됩니다. 그러면 스크립트 저장 공간을 선택하는 창이 뜨는데 일단 여기에서는 Raspberry Pi Pico를 선택합니다. 그러면 피코 내부에 스크립트가 저장 됩니다. 파일 이름은 "Hello_World.py..