아두이노 우노 Q 모션 센서 및 LED 스트립을 사용한 자동 조명 제어
이 가이드에서는 HC-SR501 모션 센서와 12V LED 스트립을 사용하여 Arduino UNO Q로 자동 조명 제어 시스템을 구축하는 방법을 배웁니다. 모션이 감지되면 LED 스트립이 켜지고 모션이 멈추면 꺼집니다. 다음에 이상적입니다:
- 계단 조명
- 침대 밑 조명
- 복도 야간 조명
- 크리스마스 트리 조명

필요한 하드웨어
| 1 | × | Arduino UNO Q | 아마존 | |
| 1 | × | USB Cable for Arduino Uno Q | 아마존 | |
| 1 | × | HC-SR501 모션 센서 | 쿠팡 | 아마존 | |
| 1 | × | 릴레이 | 아마존 | |
| 1 | × | 12V LED 스트립 | 아마존 | |
| 1 | × | 12V 전원 어댑터 | 아마존 | |
| 1 | × | DC 커넥터 전원 연결 잭 플러그 소켓 | 쿠팡 | 아마존 | |
| 1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 스크루 터미널 블록 쉴드 | 쿠팡 | 아마존 | |
| 1 | × | (추천) Sensors/Servo Expansion Shield for Arduino Uno | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 브레드보드 쉴드 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 케이스 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 프로토타이핑 베이스 플레이트 & 브레드보드 키트 | 아마존 |
초기 센서 설정
| 시간 지연 조정기 | 나사를 완전히 반시계방향으로 회전 (최소 지연). |
| 감지 범위 조정기 | 나사를 완전히 시계방향으로 회전 (최대 범위). |
| 반복 트리거 선택기 | 반복 가능한 트리거 모드에 점퍼를 배치합니다. |

배선 다이어그램

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
릴레이는 12V 전원 공급 장치와 LED 스트립 사이의 스위치 역할을 합니다. Arduino UNO Q MCU는 릴레이의 IN 핀을 제어합니다.
MCU 코드
Arduino UNO Q에는 두 개의 프로세서가 있습니다: STM32 MCU(실시간 하드웨어 제어 담당) 및 Qualcomm MPU(Debian Linux 실행). 이 섹션에서는 STM32 MCU만 프로그래밍됩니다(Linux 측은 유휴 상태). 나중 섹션에서는 두 프로세서가 함께 작동하는 방법을 보여줍니다.
빠른 단계
- Arduino UNO Q를 처음 사용하시나요? 진행하기 전에 아두이노 우노 Q 시작하기 튜토리얼을 따라 개발 환경을 준비하세요.
- 구성 요소 배선: 센서 OUTPUT → 핀 7, 릴레이 IN → 핀 9를 연결합니다. LED 스트립을 릴레이를 통해 12V 전원 공급 장치에 연결합니다.
- 연결: USB-C 케이블로 Arduino UNO Q를 컴퓨터에 연결합니다.
- Arduino App Lab 열기: Arduino App Lab을 시작하고 Arduino UNO Q를 감지할 때까지 기다립니다.
- 새 앱 만들기: 새 앱 만들기 버튼을 클릭합니다.

- 앱에 이름을 지정합니다. 예: DIYables_AutoLight
- 만들기를 클릭하여 확인합니다.
- 새 앱 내에 폴더 및 파일 세트가 생성됩니다.

- sketch/sketch.ino 파일을 찾습니다(MCU 스케치를 붙여넣을 위치입니다).
- Install the library: Click the Add sketch library button (the open book icon with a + sign) in the left sidebar.

- Search for Arduino_RouterBridge created by Arduino and click the Install button.
- 업로드: Arduino App Lab에서 실행 버튼을 클릭하여 STM32에 컴파일 및 업로드합니다.

- 테스트: 센서 앞에서 움직이세요(모션이 감지되면 LED 스트립이 켜지고 모션이 멈추면 꺼집니다).
Linux + MCU 브릿지 프로그래밍
Arduino UNO Q에는 함께 작동하는 두 개의 프로세서가 있습니다: MPU(Qualcomm, Debian Linux 실행) 및 MCU(STM32, Arduino 스케치를 실행하는 Zephyr OS). 이들은 Arduino_RouterBridge 라이브러리를 통한 RPC를 사용하여 통신합니다(원시 직렬 포트를 통해서는 안 됨).
- 모션 센서 및 릴레이는 모두 MCU(STM32)에 연결됩니다(센서는 핀 7, 릴레이는 핀 9).
- MPU는 이들을 직접 제어할 수 없습니다(MCU에서 Bridge.call("check_motion")을 호출하고, 이는 센서를 읽고 릴레이(및 LED 스트립)를 전환합니다).
- MPU에는 Wi-Fi가 있습니다(MPU는 Wi-Fi를 갖춘 전체 Debian Linux를 실행하므로 텔레그램에 조명 상태를 보고할 수 있습니다).
- 통신: Linux 측의 Bridge.call()은 MCU 측의 Bridge.provide_safe()를 호출합니다(digitalWrite()이 릴레이를 제어하는 데 사용되므로).
- ⚠️ 예약됨: /dev/ttyHS1(Linux) 및 Serial1(MCU)은 Arduino 라우터에서 사용됩니다(이를 직접 열지 마세요).
간단히 말해서: MPU는 센서를 폴링합니다 → MCU는 핀을 읽고 릴레이(LED 스트립)를 전환하고 모니터에 보고합니다.
MCU 스케치 — 브릿지를 사용한 자동 조명:
Python 스크립트(Arduino App Lab) — 0.5초마다 모션 상태 폴링:
- 참고: Bridge.begin()이 MCU 스케치에서 호출되고 스케치가 업로드되었는지 확인한 후 Linux 측에서 Python 스크립트를 실행하세요.
- ⚠️ 경고: /dev/ttyHS1(Linux) 또는 Serial1(MCU)을 코드에서 직접 열지 마세요(이는 Arduino 라우터에 의해 예약되며 이를 액세스하면 브릿지가 중단됩니다).
빠른 단계
- MCU 스케치 업로드: Arduino App Lab을 열고, 새 앱을 만들고, 브릿지 MCU 스케치를 sketch/sketch.ino에 붙여넣고, Arduino_RouterBridge 라이브러리를 설치하고, 실행을 클릭합니다.
- Python 스크립트 추가: 위의 Python 코드를 동일한 앱의 Python 탭에 붙여넣습니다.
- 앱 실행: 실행을 클릭합니다(Python은 0.5초마다 모션을 폴링합니다; MCU는 LED 스트립을 전환합니다).
- 콘솔 확인: 콘솔 탭을 열고 → MCU 모니터 서브탭을 열고 센서 앞에서 움직이세요.
App Lab 콘솔 출력
텔레그램 통합
텔레그램을 통해 자동 조명 상태를 원격으로 모니터링하세요.
텔레그램 봇이 없으면 계속하기 전에 아두이노 우노 Q - 텔레그램 봇을 참조하여 봇 토큰을 획득하세요.
MCU 스케치: 이전 브릿지 섹션의 동일한 MCU 스케치를 유지하세요(변경 없음). STM32에서 이미 업로드되고 실행 중인지 확인하세요.
Python 스크립트(Arduino App Lab) — 자동 조명용 텔레그램 봇:
- 참고: YOUR_BOT_TOKEN을 텔레그램의 @BotFather에서 획득한 토큰으로 바꾸세요.
- /status를 전송하여 모션 센서를 수동으로 확인하고 LED 스트립을 업데이트합니다.
빠른 단계
- MCU 스케치 업로드: 이전 섹션의 브릿지 MCU 스케치를 사용합니다(아직 업로드되지 않았으면 먼저 업로드).
- 텔레그램 스크립트 붙여넣기: 위의 Python 코드를 Arduino App Lab의 앱 Python 탭에 복사합니다.
- 토큰 설정: 스크립트의 YOUR_BOT_TOKEN을 실제 봇 토큰으로 바꿉니다.
- 앱 실행: 실행을 클릭합니다(봇이 텔레그램 메시지 수신 대기를 시작합니다).
- 테스트: /status를 보내세요(봇이 모션 상태 및 LED 스트립 상태로 응답합니다).
App Lab 콘솔 출력
ArduinoBot
OpenClaw 통합
이 튜토리얼에 OpenClaw를 적응시킬 수 있습니다. 아두이노 우노 Q - OpenClaw 튜토리얼의 지침을 참조하세요.
애플리케이션/프로젝트 아이디어
- 복도 야간 조명: 누군가 밤에 복도를 통과할 때 자동으로 복도를 밝히세요.
- 계단 조명: 누군가 접근할 때 안전을 위해 계단을 밝히세요.
- 침대 밑 조명: 침대에서 나올 때 켜지는 극적인 효과를 만드세요.
- 캐비닛 조명: 캐비닛을 열고 근처에 있을 때 LED 스트립을 켜세요.
- 정원 경로 조명: 밤에 모션이 감지될 때 정원 경로를 밝히세요.
도전 과제
- 쉬움: 릴레이의 시간 지연 포텐셔미터를 조정하여 모션이 멈춘 후 조명을 더 오래 켜진 상태로 유지하세요.
- 중간: LDR과 함께 결합하세요(어두울 때 그리고 모션이 감지될 때만 LED 스트립을 활성화).
- 고급: LED 스트립이 켜질 때 자동 텔레그램 알림을 보내세요.