리모컨으로 LED 스트립 라이트 ON / OFF 및 밝기 제어

문제를 제거하기 위해 도구를 사용해보십시오





이번 포스팅에서는 일반 IR (적외선) 리모컨을 사용하여 LED의 밝기를 ON / OFF 및 감소 / 증가시킬 수있는 Arduino를 이용한 LED 스트립 컨트롤러 회로를 구성 할 것입니다.



LED 스트립 라이트는 무엇입니까? (멍청이를 위해)

LED 스트립 조명에 익숙하지 않다면 그것이 무엇인지 이해합시다.

LED 스트립 (때로는 리본 조명이라고도 함)은 일련의 밝은 LED와 컨트롤러 회로로 구성된 유연한 PCB이며 LED 스트립의 구성 요소는 표면 마운드 (SMD)입니다.



축제 시즌 등의 가정, 파티 룸 및 야외 장식에 사용됩니다.

뒷면에 끈적 끈적한 층이있어 벽, 목재 또는 접착제없이 매끄러운 표면에 붙을 수 있습니다.

다양한 길이, 너비, 색상으로 제공되며이 프로젝트에서는 단색 LED 스트립을 제어 할 것입니다. 그러나 RGB 색상을 개별적으로 제어하려면 주어진 코드와 회로를 수정할 수 있습니다.

LED 스트립은 사양에 따라 12V 또는 24V에서 작동하지만이 프로젝트에서는 arduino 보드가 24V를 처리하도록 설계되지 않았기 때문에 24V는 적합하지 않습니다. 5V에서 작동 할 수있는 USB 유형 LED 스트립도 사용할 수 있으며 회로를 적절히 수정 한 후에 만이 프로젝트에서 사용할 수 있습니다.

이제 당신은 LED 스트립 라이트에 대해 이해했을 것입니다.

LED 스트립 라이트는 시중에서 쉽게 구할 수있는 컨트롤러 회로가 필요하지만 가격이 비쌉니다. 이 프로젝트에서는 모든 IR 리모컨을 통해 LED 스트립 조명을 제어 할 수있는 간단하고 저렴한 회로를 구축합니다.

회로도 :

Arduino가 장착 된 LED 스트립 조명 컨트롤러

회로는 커플 링 커패시터가있는 전압 조정기, TSOP1738 IR 센서, MOSFET IRFZ44N, LED 스트립 및 프로젝트 arduino Uno의 뇌 등 몇 가지 구성 요소로 구성됩니다. 이 프로젝트를 위해 좋아하는 arduino 보드를 선택할 수 있습니다.

TSOP1738 센서는 리모컨에서 IR 신호를 수신하고 마이크로 컨트롤러가 이해할 수있는 방식으로 디코딩합니다. N 채널 MOSFET은 arduino의 신호를 증폭하여 LED 스트립에 공급합니다.

전압 조정기는 arduino 및 LED 스트립에 전원을 공급합니다. 전원 공급 장치가 LED 스트립에 적절한 양의 전류를 전달할 수 있는지 확인하십시오.

제안 된 회로는 12V LED 스트립 용으로 설계되었으며 LED 스트립 사양에 따라 전압 조정기를 변경할 수 있습니다. arduino의 절대 최대 값은 20V이므로 정격 전압이 20V 이상인 LED 스트립은 사용하지 않는 것이 좋습니다.

이 회로는 LED 스트립을 켜고 끌 수 있으며 밝기를 5 단계로 조절하여 LED 스트립에 다른 PWM 신호를 적용하여 달성 할 수 있습니다.

테스트 방법

이러한 작업을 수행하려면 아래 지침을 따르십시오.

• 회로를 제어 할 리모컨에서 3 개의 버튼을 선택하십시오. 이 버튼의 16 진수 코드를 알아야합니다.

• IDE를 열고 file> examples> IRremote> IRrecvDemo로 이동합니다.

• 설정이 완료되면 USB를 arduino에 연결하고 PC (외부 전원없이) 코드를 업로드하고 직렬 모니터를 엽니 다.

• 이제 각 버튼을 한 번 누르면 직렬 모니터에 16 진수 코드가 표시되고 기록해 둡니다. 이 16 진수 코드는 주어진 프로그램과 함께 arduino에 업로드해야합니다.

노트:

제안 된 회로는 단색 LED 스트립을 제어하기 위해 설계되었습니다. 다색 LED 스트립 짧은 RGB 단자 (흰색 제공)가있는 경우 나머지 회로는 동일합니다.

프로그램 코드 :

//---------Program developed by R.Girish---------//
#include
int X
int Y
int output = 9
int W = 5
int receive = 10
IRrecv irrecv(receive)
decode_results Z
void setup()
{
irrecv.enableIRIn()
Y=0
X=255
pinMode(output,OUTPUT)
}
void loop()
{
if (irrecv.decode(&Z))
{
if (Z.value==0x80C) // Hex code for ON/OFF
{
if(Y==0)
{
digitalWrite(output,HIGH)
Y=1
}
else
{
digitalWrite(output,LOW)
Y=0
X=255
}}
if (Z.value==0x811 && Y==1) // Hex code for reducing Brightness
{
if(X-255/W<0)
{
analogWrite(output,X)
}
else
{
X=X-255/W
analogWrite(output,X)
}}
if (Z.value==0x810 && Y==1) // Hex code for increasing Brightness
{
if(X+255/W>255)
{
analogWrite(output,X)
}
else
{
X=X+255/W
analogWrite(output,X)
}}
irrecv.resume()
}}
//---------Program developed by R.Girish---------//

노트:
0x80C, 0x810 및 0x811을 '0x'로 시작하는 리모컨의 16 진수 코드로 바꿉니다.




이전 : 트랜지스터 스트레이 픽업 거짓 트리거링 문제 다음 : 호텔 용 자동 푸드 워머 램프