[파이썬(Python) 파헤치기!] 14강 : 파이썬과 라즈베리파이 피코를 활용한 프로젝트④ : 가변 저항을 활용하여 무드등 만들기

강의일정 1주차 파이썬 소개 및 개발환경설정 2주차 기초자료형과 연산/변수 3주차 시퀀스 자료형(1): 문자열/입출력 4주차 시퀀스 자료형(2): 목록과 튜플 5주차 매핑자료형: 딕셔너리 6주차 조건문 7주차 반복 8주차 함수 9주차 모듈 10주차 파일 입출력 11주 차 파이썬과 라즈베리 파이썬, 마이크로파이슨, 라즈베리파이슨, LED가 Picon, Thbryfippy, Phy, Thnovievicon

안녕하세요 여러분~

파이썬과 함께하는 14번째 시간입니다!어느덧 마지막 시간이네요.지난 강의를 통해 파이썬, 그리고 피코와 친해졌습니까?13주차 강의에서는 피코와 PIR 센서를 활용하여 인체 감지 시스템을 만들어 보았습니다.신호등에 이어 인체 감지 시스템까지! 여러분 잘 구현하셨나요? 오늘도 라즈베리 파이스타터 키트를 활용하여 프로젝트를 진행합니다.오늘 메인에서 사용하는 부품은 가변저항입니다.가변 저항과 함께 버튼, LED를 활용해 우리만의 무드등을 만들어 봅니다. 먼저 오늘 여러분이 만들어 볼 결과부터 볼까요?아래 비디오를 보고 어떤 명령이 필요할지 상상해 보십시오.

파이썬과 함께하는 14번째 시간입니다!어느덧 마지막 시간이네요.지난 강의를 통해 파이썬, 그리고 피코와 친해졌습니까?13주차 강의에서는 피코와 PIR 센서를 활용하여 인체 감지 시스템을 만들어 보았습니다.신호등에 이어 인체 감지 시스템까지! 여러분 잘 구현하셨나요? 오늘도 라즈베리 파이스타터 키트를 활용하여 프로젝트를 진행합니다.오늘 메인에서 사용하는 부품은 가변저항입니다.가변 저항과 함께 버튼, LED를 활용해 우리만의 무드등을 만들어 봅니다. 먼저 오늘 여러분이 만들어 볼 결과부터 볼까요?아래 비디오를 보고 어떤 명령이 필요할지 상상해 보십시오.

파이썬과 함께하는 14번째 시간입니다!어느덧 마지막 시간이네요.지난 강의를 통해 파이썬, 그리고 피코와 친해졌습니까?13주차 강의에서는 피코와 PIR 센서를 활용하여 인체 감지 시스템을 만들어 보았습니다.신호등에 이어 인체 감지 시스템까지! 여러분 잘 구현하셨나요? 오늘도 라즈베리 파이스타터 키트를 활용하여 프로젝트를 진행합니다.오늘 메인에서 사용하는 부품은 가변저항입니다.가변 저항과 함께 버튼, LED를 활용해 우리만의 무드등을 만들어 봅니다. 먼저 오늘 여러분이 만들어 볼 결과부터 볼까요?아래 비디오를 보고 어떤 명령이 필요할지 상상해 보십시오.

소지품 사진 구매 링크 노트북(또는 PC)

-라즈베리파이피코+USB케이블

구매링크 클릭라즈베리파이 피코스타터 키트구입 링크 클릭 스타터 키트에서 이번에 사용하는 부품가변 저항LED보탕, 단추.저항 220옴14주차 강의는 아래 순서로 진행됩니다.[1] 가변저항에 대하여 알다[2] 가변저항으로 LED 밝기를 조절하다[3] 무드등 만들기[1]가변 저항에 대해서 배우오늘 실습에서 메인으로 사용하는 부품은 가변 저항(potentiometer)입니다. 가변 저항은 말 그대로 저항 값을 변경할 수 있는 저항기입니다.우리가 차량 오디오의 볼륨을 제어하거나 오늘 만드는 분위기 라이트처럼 빛의 밝기를 제어할 때 많이 쓰입니다. 얼마 전의 강의에서 다룬 LED를 생각하고 봅시다.LED에 불을 켜거나(1) 지워(0)동작만을 실현했습니다.그러나 오늘 가변 저항을 사용하면 LED의 밝기를 점점 밝은, 또는 점점 어두운 제어할 수 있게 됩니다.이렇게 가변 저항을 통해서 입력된 아날로그치를 통해서 다양한 범위의 신호를 출력할 수 있습니다! 우선 가변 저항의 값을 직접 출력하면 그 사용법을 익히고 봅시다.아날로그 신호도 예전의 실습과 마찬가지로 GPIO핀을 사용할 수 있습니다.우리가 매번 코드로 가져올 machine라이브러리가 아날로그 신호를 디지털 신호처럼 제어할 수 있도록 돕는 때문입니다.자세한 것은 실습 때 확인하고 봅시다! 저의 피코를 브레드 보드에 접속하고, 아래의 회로도에 따르고 센서를 접속하고 보세요! 우리는 가변 저항을 26번 핀에 접속했어요.그럼 Thony를 열고 코드를 작성해 볼까요?무한 반복으로 2초에 한 번 가변 저항값을 출력해 봅시다.아래 코드를 실행하여 피코에 연결된 가변저항을 왼쪽-오른쪽으로 천천히 돌리면서 출력값이 어떻게 변하는지 확인하십시오.머신의 임포트 uptimept = ADC(26) 동안 True:print(pt.read_u16()) utime.슬립(2)코드를 이해하기 위해 작성한 코드의 의미를 파악해 보세요. from machine import ADC: 클래스 ADC는 Analog to Digital Conversion의 약자로 아날로그 값을 디지털 값으로 변환하는 기능이 정의되어 있습니다.우리는 가변 저항을 사용하기 위해 이 클래스를 코드로 가져왔습니다.ADC에 대한 자세한 내용은 여기 링크를 참조하십시오.pt=ADC(26) : 변수 pt에 가변저항을 대입합니다.26번 핀에 접속한 가변 저항을 ADC 객체로 생성합니다.pt.read_u16(): 가변저항값을 불러오는 역할을 합니다.함수 read_u16()은 0 이상 65535 이하의 정수 값을 반환합니다.위 코드를 실행했을 때 0 이상 65535 이하의 값이 잘 출력됩니까?저항기를 맨 왼쪽으로 돌렸을 때 0이 잘 출력되었습니까?출력되지 않은 경우에도 작성한 코드나 하드웨어에 문제가 있는 것은 아닙니다.모든 전자부품은 어느 정도 허용오차를 가지고 제작되기 때문에 정확히 0% 또는 100%의 값을 갖기는 어려운 일이기 때문입니다!제어에 의해 값이 올바르게 줄어들고 증가하면 실습 성공입니다 [2] 가변 저항으로 LED 밝기를 조절한다 이번에는 가변 저항값으로 LED 밝기를 조절합시다!아래 회로도를 참고하여 원하는 색상의 LED를 새로 연결해 보시기 바랍니다.우리는 빨간 LED를 15번 핀에 연결했습니다.그럼 이전 코드에 LED 관련 코드를 추가해 볼까요?새로 가져오는 클래스도 있으니 아래 코드를 먼저 살펴보고 따라해보세요!머신임포트 Pin,ADC,PWM임포트utimept =ADC(26)red = PWM(Pin(15))red.freq(1000)의 경우 True: v = pt.read_u16pred.duty_u16(v) utime.슬립 (0.3코드 이해에 추가된 코드의 의미를 파악하고 봅시다. red=PWM(Pin(15):적색 LED가 15번 핀에 연결된 것을 알리는 코드(Pin(15)는 이전의 실습과 같지만 해당 LED에 아날로그치처럼 출력해야 하기 때문에 PWM*설정을 해야 합니다. *PWM(Pulse Width Modulation)은 신호의 크기에 의해서 펄스 폭을 조정하는 방식으로 0과 1밖에 모르는 디지털 신호를 마치 아날로그 신호처럼 보이도록 하는 것이라고 이해하시면 됩니다.이 실습에서는 온·오프 동작밖에 모르는 LED의 밝기를 조절하기 위해서 PWM설정이 필요합니다!PWM클래스에 대한 자세한 내용은 이쪽의 링크를 보세요 red.freq(1000):함수 freq()는 PWM출력 전류 주파수를 설정하는 역할을 합니다.이 코드의 경우 적색 LED의 전류 주파수를 1000Hz로 설정한 것입니다. red.duty_u16(v):함수 duty_u16()는 PWM출력 전류 충격 주기를 0~65535범위의 값으로 설정하는 역할을 합니다.간단히 말하면 값을 출력하는 것입니다.우리가 예전의 강의로 계속 사용한 함수 value()와 비슷한 역할이라고 이해해도 좋아요.위 코드를 실행하여 저항기를 돌렸을 때 LED 밝기가 잘 조절됩니까? 아까 연습한 내용을 활용해서 오늘의 프로젝트 – 분위기 조명 만들기에 도전해 보세요! [3] 무드등 만들기, 먼저 아래 회로도에 따라 버튼(16번핀)과 새로운 LED(14번핀)를 연결해 보세요.다른 부품은 이전 실습과 동일하게 유지하시면 됩니다.처음 본 영상처럼 무드등은 아래 동작 흐름이 반복됩니다.여기서 버튼은 LED를 전혀 다른 색으로 변경하는 역할을 합니다.● 버튼을 클릭할 때마다 무드등의 상태가 바뀝니다. – 한번 클릭했을 때 빨간 LED가 켜집니다. – 두 번 클릭했을 때 빨간 LED는 꺼지고 파란 LED가 켜집니다. – 세 번 클릭했을 때 모든 LED는 꺼집니다.● 점등한 LED는 가변 저항에 의해서 그 밝기를 변경할 수 있습니다. 그럼 코드를 작성해 볼까요?머신 임포트 Pin, ADC, PWM임포트 utimpt=ADC(26)red=PWM(Pin(15)blue=PWM(Pin(14)red.freq(1000)btn=Pin(16, Pin).IN, 핀. PULL_DOWN)cnt=0사이 True:if btn.value():cnt+=1 if cnt==3:cnt=0 if cnt==1:red.duty_u16(pt.read_u16)elif cnt==2:red.duty_u16(0)blue.duty_u16(pt.read_u16)title:red.duty_u16(0)blue.duty_u16(0)utime. 슬리프(0.3)코드 이해 버튼을 활용하여 무드등을 제어하는 코드를 살펴보겠습니다. cnt = 0: 변수 cnt에는 버튼을 클릭한 횟수가 저장됩니다. if btn.value(): ~ cnt = 0: 버튼에 값이 입력될 때마다 변수 cnt는 1씩 증가합니다.세 번 클릭했을 때 다시 처음으로 반환하기 위해 변수에 0을 대입합니다. if cnt == 1: ~red.duty_u16(pt.read_u16()): 버튼을 클릭한 횟수에 따라 LED 색상을 변경합니다.각 LED는 가변 저항의 값으로 밝기를 설정합니다.이번은 피코와 가변 저항을 활용하고 분위기 등을 만들어 보았습니다.가변 저항이라는 다소 낯선 부품과 개념을 다루면서 전 배운 LED를 한가지 방법으로 새로운 활용했습니다. 오늘도 몇개의 부품을 조합하고, 우리 주변에서 쉽게 볼 수 있는 시스템을 만들어 봤군요!이처럼 피코를 활용하면 쉽지만 의미 있는 프로젝트를 많이 만들 수 있어요 파이 손과 피코의 강의는 여기서 끝나지만[산딸기 파이 피코 스타터 키트]을 활용하고 여러가지 프로젝트에 도전하고 보세요!방금 배운 파이썬 문법도 활용하면 파이썬도 보다 깊이 이해할 수 있을까요. 그럼 지금까지 강의를 함께 만들어 주셔서 감사합니다 또 만납시다!안녕~

error: Content is protected !!