Raspberry Pi Pico W로 크리스마스 조명을 자동화하는 방법

Raspberry Pi Pico W로 크리스마스 조명을 자동화하는 방법

Raspberry Pi 애호가들은 크리스마스의 진정한 의미가 좋아하는 조명 디스플레이를 연결하고 Raspberry Pi Pico로 새로운 것을 만들고 미소를 짓게 만드는 무언가를 만드는 것이라고 주장할 것입니다.

하드웨어와 소프트웨어가 합쳐져 ​​하나의 걸작이 탄생할 때의 뿌듯함은 대단합니다. 아무리 오랫동안 기술을 만지작거려도 그 느낌은 결코 사라지지 않는 것 같습니다.

Raspberry Pi Pico, MicroPython 코드 및 몇 개의 릴레이를 사용하여 크리스마스 조명 자동화의 기본 사항을 학습함으로써 얻을 수 있는 순수한 기쁨에 빠져봅시다.

필요한 것

시작하기 전에 몇 가지 구성 요소가 있는지 확인하십시오.

  • 라즈베리 파이 피코
  • 코딩 머신(Raspberry Pi 또는 PC)
  • 5V 릴레이(릴레이 모듈 보드는 단순함을 위해 훌륭함)
  • 전선(전선, 브레드보드 점퍼선)
  • 크리스마스 조명
  • 전기 콘센트
  • 스크랩 우드

하드웨어 조립

릴레이를 닫습니다

먼저 릴레이 모듈 보드와 라즈베리 파이 피코 사이의 연결에 초점을 맞추겠습니다.

  • GND(릴레이)는 GND(Raspberry Pi Pico)에 연결됩니다.
  • IN1(릴레이)은 GP5(Raspberry Pi Pico)에 연결됩니다.
  • IN2(릴레이)는 GP6(Raspberry Pi Pico)에 연결됩니다.
  • IN3(릴레이)은 GP14(Raspberry Pi Pico)에 연결됩니다.
  • VCC(릴레이)는 3V3 OUT(Raspberry Pi Pico)에 연결됩니다.

전기에 대한 지식이 없다면 친구의 도움을 받는 것이 좋습니다. 위 이미지에 표시된 것과 유사한 5V 릴레이를 연결하고 싶을 것입니다. 첫 번째(왼쪽) 단자는 5V 릴레이에서 사용되지 않습니다. 또한 이 튜토리얼에는 네 번째 크리스마스 조명 줄이 없기 때문에 마지막 릴레이와 콘센트 플러그가 함께 연결되어 있지 않습니다.

각 릴레이는 각 조명 가닥이 연결된 각 콘센트 플러그로 전기가 흐르는 것을 방지할 수 있습니다. Raspberry Pi Pico는 MicroPython 코드를 통해 언제 켜고 끌지 릴레이에 지시합니다.

전기 자동화에 대해 좀 더 자세히 알아보려면 릴레이 가이드에서 자세한 내용을 확인하십시오.

코드 생성

크리스마스 라이트 코드

먼저 GitHub 리포지토리로 슬라이드하여 코드를 다운로드합니다. lights.py 파일 을 다운로드 하거나 GitHub 창에서 코드를 복사하여 Thonny IDE에 직접 붙여넣을 수 있습니다. 방금 만든 Raspberry Pi Pico를 구입한 경우 Thonny로 새 마이크로컨트롤러를 설정하는 데 도움이 되는 단계별 가이드를 검토하세요.

진행 상황을 이해하기 위해 몇 가지 중요한 코드 스니펫을 검토해 보겠습니다. random , machinetime / sleep 기능 을 가져올 수 있는 기능이 있으면 이 코딩 프로젝트가 정말 간단해집니다. 그런 다음 핀이 사용되는 각 릴레이를 매핑하기만 하면 됩니다.

relay1 = Pin(6, Pin.OUT) #GP6

Pin.Out 기능(Raspberry Pi Pico의 GPIO 핀에 해당)에 할당하는 각 릴레이에 대해 이 매핑을 반복해야 합니다 .

릴레이 목록을 만들면 켜고 끌 조명 가닥을 무작위로 선택할 수 있습니다.

lights_list = [relay1, relay2, relay3]

루프는 크리스마스 조명 랜덤마이저 역할을 할 수 있습니다. 50 범위를 선택하거나 (예제 코드에서와 같이) 자유롭게 숫자를 늘릴 수 있습니다. 이렇게 하면 설정된 범위에 정의된 시간 동안 이 프로세스를 실행하도록 Raspberry Pi Pico에 지시합니다.

이 루프에서는 목록 기능과 함께 random.choice 를 사용하여 시스템이 릴레이를 선택하고 마음대로 켜고 끌 수 있도록 합니다.

예제 코드는 (lights) 의 출력을 인쇄합니다 . 그러나 이것은 필수 사항이 아닙니다. 반면에 문제 해결을 마칠 때까지 코드에 보관하고 싶을 수도 있습니다.

lights.value 는 릴레이가 열림(on) 또는 닫힘(off)으로 설정되어야 하는지 여부에 따라 (1) 또는 (0) 의 접미사를 갖 습니다. 열림 및 닫힘 상태는 콘센트와 릴레이를 연결하기 위해 선택한 방법에 따라 달라질 수도 있습니다.

GPI0.cleanup() 은 Python 코드가 완료될 때 크리스마스 조명이 “켜진” ​​위치에 머물지 않도록 Raspberry Pi GPIO를 지웁니다. 테스트 목적으로 이 함수는 예제 코드에서 주석 처리되었습니다. 즉, 일반적으로 작업을 수행하는 방법은 여러 가지가 있습니다. 자세한 내용은 RPi.GPIO와 GPIO Zero 간의 비교를 검토하십시오.

이제 최종 결과입니다. 볼륨이 약간 올라가면 루프가 무작위화 기능을 통해 실행될 때 콘센트를 켜고 끄는 릴레이의 가청 딸깍 소리를 알 수 있습니다.

다음 자동화 모험은 무엇입니까?

크리스마스 클래식 영화인 크리스마스 휴가에서 Clark Griswold는 무서운 수의 확장 코드를 사용하여 크리스마스 조명으로 가득 찬 그의 집에 전기를 공급합니다. 이것은 할리우드에만 적합한 것처럼 보이지만 단순한 것부터 믿을 수 없는 것까지 다양한 자동화 프로젝트가 있습니다. 올바른 오픈 소스 장비와 소프트웨어를 사용하면 Raspberry Pi를 사용하여 조명을 크리스마스 음악과 동기화할 수도 있습니다!

좋아하는 로큰롤 클래식에 맞춰 크리스마스 조명으로 가득 찬 집을 자동화할 준비가 되셨나요? 이제 Raspberry Pi Pico 및 릴레이를 사용하는 자동화의 기본 사항을 이해했으므로 “쿠키 보내기” 신호를 북극까지 보낼 준비가 되었습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다