LED 조명 스트립을 Arduino에 연결하기 위한 궁극적인 가이드

LED 조명 스트립을 Arduino에 연결하기 위한 궁극적인 가이드

LED 조명의 부상은 성층권이었고 그 이유를 쉽게 알 수 있습니다. 그들은 생산 비용이 저렴하고 다른 조명 옵션보다 훨씬 적은 전력을 소비하며 대부분의 경우 뜨거워지지 않아 다양한 용도에 안전합니다.





가장 일반적인 LED 제품 중 하나는 LED 스트립입니다. 이 기사에서는 Arduino로 가장 일반적인 두 가지 유형을 설정하는 방법을 다룰 것입니다. 이 프로젝트는 매우 간단합니다. 아두이노 초보자 또는 DIY 전자 제품을 사용하면 이 작업을 수행할 수 있습니다.





또한 Arduino IDE를 사용하여 제어할 것입니다. 이 프로젝트는 Arduino Uno를 사용하지만 거의 모든 호환 가능한 보드(예: NodeMCU)를 사용할 수 있습니다.





스트립 선택

LED 스트립을 구입할 때 고려해야 할 몇 가지 사항이 있습니다. 먼저 기능입니다. 스트립을 주로 주변 조명에 사용할 계획이라면 간단한 12v RGB LED 스트립( SMD5050 )가 올바른 선택이 될 것입니다.

이 스트립의 대부분은 적외선 리모컨과 함께 제공되지만 이 프로젝트에서는 대신 Arduino를 사용할 것입니다. 쇼핑하는 데 약간의 시간을 할애하십시오. 글을 쓰는 당시에는 이 스트립을 미터당 $ 1 .



이미지 크레디트: Shutterstock을 통한 phanu suwannarat

Windows 10에서 알림 센터를 열 수 없습니다

조금 더 높은 기술을 원한다면 고려하십시오. WS2811 / 12 / 12B . 이러한 스트립(때때로 네오픽셀 ) 개별적으로 처리할 수 있는 통합 칩셋이 있습니다. 이는 주변 조명 이상의 기능을 할 수 있음을 의미합니다.





이를 사용하여 처음부터 저렴한 LED 픽셀 디스플레이를 구축할 수 있습니다. 그것들을 사용하여 개인 실내 폭풍 구름 램프를 만들 수도 있습니다.

이 스트립은 전원을 공급하는 데 5v만 필요합니다. 아두이노 보드에서 소량의 전원을 직접 공급하는 것도 가능하지만 일반적으로 별도의 5V 전원을 사용하여 아두이노 튀긴 냄새를 피하는 것이 좋습니다. 개별적으로 프로그래밍 가능한 LED를 찾고 있다면 이것이 당신을 위한 것입니다. 글을 쓰는 시점에서 주변에서 사용할 수 있습니다. 미터당 .





고려해야 할 또 다른 사항은 이러한 스트립이 사용되는 위치입니다. 이러한 유형의 스트립은 모두 다양한 길이, LED 밀도(미터당 LED 수) 및 다양한 내후성 수준으로 제공됩니다.

LED 스트립을 볼 때 목록의 숫자에 주의하십시오. 일반적으로 첫 번째 숫자는 미터당 LED 수이고 문자는 IP 숫자 뒤에 방수 기능이 있습니다. 예를 들어 목록에 30 IP67 , 이것은 30 미터당 LED. NS 6 먼지로부터 완전히 밀봉되어 있음을 나타냅니다. 7 물에 일시적으로 잠기는 것을 방지한다는 의미입니다. (에 대해 자세히 알아보기 내후성 및 IP 등급 .) LED 스트립을 선택했으면 Arduino와 연결할 차례입니다. SMD5050부터 시작하겠습니다.

연결하기

12v LED 스트립을 Arduino에 연결하려면 몇 가지 구성 요소가 필요합니다.

  • 12v RGB LED 스트립( SMD5050 )
  • 1 x Arduino Uno(호환되는 모든 보드에서 수행)
  • 3 x 10k 옴 저항기
  • 3 x 논리 수준 N채널 MOSFET
  • 1 x 브레드보드
  • 연결 전선
  • 12v 전원 공급 장치

회로를 설정하기 전에 MOSFET .

마이크로컨트롤러보다 더 높은 전압을 제어할 때마다 보드가 튀는 것을 막기 위해 그 사이에 무언가가 필요합니다. 이를 수행하는 더 간단한 방법 중 하나는 MOSFET을 사용하는 것입니다. 펄스 폭 변조( PWM )에 신호 다리 사이에 전달되는 힘의 양을 제어할 수 있습니다. 물을 빼다 그리고 원천 다리. MOSFET을 통해 LED 스트립의 각 색상을 전달함으로써 LED 스트립의 각 개별 색상의 밝기를 제어할 수 있습니다.

마이크로컨트롤러를 사용할 때 원하는 대로 작동하도록 하려면 논리 수준 구성 요소를 사용하는 것이 중요합니다. MOSFET이 다음과 같은지 확인하십시오. 논리 수준 그리고 아니 기준 .

다음과 같이 회로를 설정하십시오.

  1. Arduino 핀 연결 9 , 6 , 그리고 5 ~로 3개의 MOSFET의 다리를 연결하고 10k 저항을 접지 레일에 각각 연결하십시오.
  2. 연결 원천 다리를 접지 레일에 연결합니다.
  3. 연결 물을 빼다 다리 녹색 , 그물 , 그리고 파란색 LED 스트립의 커넥터.
  4. 전원 레일을 연결하십시오. +12v LED 스트립의 커넥터(이 이미지에서 전원 와이어는 내 LED 스트립의 커넥터 색상과 일치하도록 검은색입니다).
  5. Arduino 접지를 접지 레일에 연결합니다.
  6. 귀하의 12v 전원 레일에 전원을 공급합니다.

대부분의 LED 스트립에는 연결하기 쉬운 Dupont [Broken URL Removed] 커넥터가 있습니다. 그렇지 않은 경우 LED 스트립에 전선을 납땜해야 할 수도 있습니다. 납땜을 처음 접하는 경우 당황하지 마십시오. 쉬운 작업이며 필요한 경우 납땜을 시작하는 방법에 대한 안내서가 있습니다.

우리는 이 프로젝트를 위해 USB로 Arduino 보드에 전원을 공급할 것입니다. VIN 핀을 사용하여 보드에 전원을 공급하도록 선택할 수 있지만 이 작업을 수행하기 전에 보드의 전력 제한을 알고 있는지 확인하십시오.

회로가 완성되면 다음과 같아야 합니다.

이제 모든 것을 연결했으므로 간단한 Arduino 스케치를 만들어 제어할 차례입니다.

페이드 업

USB를 통해 Arduino 보드를 컴퓨터에 연결하고 Arduino IDE를 엽니다. 에서 보드에 대해 올바른 보드와 포트 번호를 선택했는지 확인하십시오. 도구 > 보드 그리고 도구 > 포트 메뉴. 새 스케치를 열고 적절한 이름으로 저장합니다.

이 스케치는 조명을 한 번에 한 가지 색상으로 희미하게 만들고 몇 초 동안 켜둔 다음 다시 꺼질 때까지 희미하게 만듭니다. 여기를 따라 스케치를 직접 만들거나 간단히 다운로드할 수 있습니다. 완전한 코드 깃허브에서.

다음을 정의하는 것으로 시작하십시오. 다리 MOSFET을 제어하는 ​​데 사용됩니다.

#define RED_LED 6
#define BLUE_LED 5
#define GREEN_LED 9

다음으로 몇 가지 변수가 필요합니다. 전체 만들기 명도 각 개별 색상의 밝기에 대한 변수와 함께 변수. LED를 끄기 위해 주 밝기 변수만 사용할 것이므로 여기에서 최대 밝기 값인 255로 설정합니다.

또한 페이딩이 얼마나 빨리 발생하는지 제어하는 ​​변수를 생성해야 합니다.

int brightness = 255;
int gBright = 0;
int rBright = 0;
int bBright = 0;
int fadeSpeed = 10;

당신의 설정 기능에서 우리는 Arduino 핀을 출력으로 설정할 것입니다. 우리는 또한 그 사이에 5초 지연이 있는 몇 가지 함수를 호출할 것입니다. 이러한 기능은 아직 존재하지 않지만 걱정하지 마세요.

void setup() {
pinMode(GREEN_LED, OUTPUT);
pinMode(RED_LED, OUTPUT);
pinMode(BLUE_LED, OUTPUT);
TurnOn();
delay(5000);
TurnOff();
}

이제 생성 켜다 () 방법:

void TurnOn() {
for (int i = 0; i <256; i++) {
analogWrite(RED_LED, rBright);
rBright +=1;
delay(fadeSpeed);
}

for (int i = 0; i <256; i++) {
analogWrite(BLUE_LED, bBright);
bBright += 1;
delay(fadeSpeed);
}
for (int i = 0; i <256; i++) {
analogWrite(GREEN_LED, gBright);
gBright +=1;
delay(fadeSpeed);
}
}

이 세 ~을위한 루프는 지정된 시간 동안 각 색상을 최대 밝기로 가져옵니다. 페이드 스피드 값.

마지막으로 생성해야 합니다. 끄다() 방법:

void TurnOff() {
for (int i = 0; i <256; i++) {
analogWrite(GREEN_LED, brightness);
analogWrite(RED_LED, brightness);
analogWrite(BLUE_LED, brightness);

brightness -= 1;
delay(fadeSpeed);
}
}
void loop() {
}

이 방법은 우리의 명도 세 가지 색상 핀 모두에 대해 가변적이며 일정 기간 동안 0으로 줄입니다. 컴파일 오류를 피하기 위해 여기에서도 빈 루프 메서드가 필요합니다.

이 스케치를 완료했으면 저장하십시오. 스케치를 확인하고 Arduino 보드에 업로드하십시오. 오류가 발생하면 코드에서 성가신 오타나 누락된 세미콜론이 있는지 다시 확인하십시오.

이제 LED 스트립이 각 색상을 개별적으로 증가시켜 흰색 색상을 5초 동안 유지한 다음 균일하게 사라지는 것을 볼 수 있습니다.

문제가 있으면 배선과 코드를 다시 확인하십시오.

이 프로젝트는 시작하는 간단한 방법이지만 여기에 포함된 아이디어를 확장하여 정말 효과적인 조명을 만들 수 있습니다. 몇 가지 구성 요소만 더하면 자신만의 일출 알람을 만들 수 있습니다. Arduino와 함께 스타터 키트가 있는 경우 방에 들어갈 때 버튼이나 센서를 사용하여 LED를 트리거할 수 있습니다. 예를 들면 다음과 같습니다.

스팀 게임을 작업 표시줄에 고정하는 방법

이제 우리가 덮었으므로 SMD5050s , 다음으로 넘어갑시다. WS2812B 스트립.

밝은 아이디어

이러한 스트립을 실행하려면 더 적은 수의 구성 요소가 필요하며 사용할 수 있는 구성 요소의 값에 대해 어느 정도 여유가 있습니다. 이 회로의 커패시터는 5v LED가 안정적인 전원 공급을 받도록 합니다. 저항은 Arduino에서 수신된 데이터 신호가 간섭을 받지 않도록 합니다.

필요할 것이예요:

  • WS2811 / 12 / 12B 5v LED 스트립(3가지 모델 모두 칩이 통합되어 있으며 거의 ​​동일한 방식으로 작동함)
  • 1 x Arduino Uno(또는 이와 유사한 호환 보드)
  • 1 x 220-440옴 저항기(이 두 값 사이의 모든 값은 괜찮음)
  • 1 x 100-1000 마이크로패럿 커패시터(이 두 값 사이의 모든 것이 좋음)
  • 브레드보드 및 와이어 연결
  • 5V 전원 공급 장치

다이어그램에 표시된 대로 회로를 설정합니다.

커패시터는 올바른 방향이어야 합니다. 커패시터 본체의 마이너스(-) 기호를 보면 접지 레일에 연결된 쪽을 알 수 있습니다.

이번에는 5v 전원 공급 장치를 사용하여 Arduino에 전원을 공급합니다. 여기에서 주목해야 할 중요한 사항이 있지만, 이렇게 하면 프로젝트가 완료되면 독립 실행형이 됩니다.

먼저 보드를 전원에 연결하기 전에 5v 전원을 사용할 수 있는지 확인하십시오. 거의 모든 개발 보드는 USB 포트를 통해 5v에서 실행되지만 일부의 전원 입력 핀은 때때로 전압 조정기를 건너뛰어 토스트로 전환할 수 있습니다.

또한 Arduino에 여러 개의 별도 전원이 연결되어 있지 않은지 확인하는 것이 좋습니다. 외부 전원 공급 장치를 사용할 때마다 USB 케이블을 분리하십시오.

연결하면 다음과 같이 표시됩니다.

이제 LED 스트립이 연결되었으므로 코드로 넘어갑니다.

잠긴 아이폰으로 무엇을해야합니까

춤추는 빛

보드를 안전하게 프로그래밍하려면 와인 전원 라인에서 라인. 나중에 다시 연결합니다.

Arduino를 컴퓨터에 연결하고 Arduino IDE를 엽니다. 올바른 보드와 포트 번호를 선택했는지 확인하십시오. 도구 > 보드 그리고 도구 > 포트 메뉴.

우리는 사용할 것입니다 빠른 LED 라이브러리를 사용하여 설정을 테스트합니다. 를 클릭하여 라이브러리를 추가할 수 있습니다. 스케치 > 라이브러리 포함 > 라이브러리 관리 FastLED를 검색합니다. 설치를 클릭하면 라이브러리가 IDE에 추가됩니다.

아래에 파일> 예제> FastLED 를 선택 데모릴100 스케치. 이 스케치는 다음을 사용하여 수행할 수 있는 다양한 작업을 순환합니다. WS2812 LED 스트립이며 설치가 매우 쉽습니다.

변경해야 할 것은 DATA_PIN 일치하도록 변수 핀 13 , 그리고 NUM_LEDS 사용 중인 스트립에 있는 LED 수를 정의하는 변수입니다. 이 경우 더 긴 스트립에서 잘라낸 10개 LED의 작은 라인만 사용하고 있습니다. 더 큰 조명 쇼를 위해 더 많이 사용하십시오!

그게 다야! 스케치를 보드에 업로드하고 USB 케이블을 분리하고 5v 전원 공급 장치를 켭니다. 마지막으로 Arduino의 VIN을 전원 라인에 다시 연결하고 쇼를 시청하십시오!

아무 일도 일어나지 않으면 배선을 확인하고 데모 스케치에서 올바른 Arduino 핀을 지정했는지 확인하십시오.

끝없는 가능성

데모 스케치는 WS2812 스트립으로 얻을 수 있는 많은 가능한 효과 조합 중 일부를 보여줍니다. 일반 LED 스트립에서 한 단계 업그레이드 된 것과 함께 실용적인 용도로도 사용할 수 있습니다. 좋은 다음 프로젝트는 자신의 앰비라이트 구축 당신의 미디어 센터를 위해.

이 스트립은 확실히 SMD5050보다 더 기능적이지만 표준 12v LED 스트립을 아직 할인하지는 마십시오. 가격면에서 타의 추종을 불허하며, 많은 수의 LED 라이트 스트립용 애플리케이션 .

LED 스트립으로 작업하는 법을 배우는 것은 Arduino의 기본 프로그래밍에 익숙해지는 좋은 방법이지만 배우는 가장 좋은 방법은 땜질하는 것입니다. 위의 코드를 수정하고 무엇을 할 수 있는지 보십시오! 이 모든 것이 너무 과했다면 다음부터 시작하는 것을 고려하십시오. 초보자를 위한 이 Arduino 프로젝트 .

이미지 크레딧: mkarco/Shutterstock

공유하다 공유하다 트위터 이메일 Canon 대 Nikon: 어느 카메라 브랜드가 더 낫습니까?

Canon과 Nikon은 카메라 업계에서 가장 큰 두 회사입니다. 그러나 어느 브랜드가 더 나은 카메라와 렌즈 라인업을 제공합니까?

다음 읽기
관련 항목
  • DIY
  • 아두이노
  • LED 스트립
  • LED 조명
저자 소개 이안 버클리(216건의 출판물)

Ian Buckley는 독일 베를린에 거주하는 프리랜스 저널리스트, 음악가, 공연자 및 비디오 프로듀서입니다. 글을 쓰지 않거나 무대에 오르지 않을 때는 미친 과학자가 되기 위해 DIY 전자 제품이나 코드를 만지작거리고 있습니다.

이안 버클리가 참여한 작품 더보기

뉴스레터 구독

뉴스레터에 가입하여 기술 팁, 리뷰, 무료 전자책 및 독점 거래를 확인하십시오!

구독하려면 여기를 클릭하세요.