ElectroBest
/ / LED

LED를 Arduino 보드에 연결하는 방법

게시일: 2012년 8월 16일
0
1490

Arduino 플랫폼은 전 세계적으로 널리 알려져 있습니다. 하드웨어를 프로그래밍하고 제어하는 ​​방법을 배우는 첫 번째 단계에 이상적인 도구입니다. 기술이 성장함에 따라 주변 보드를 추가하여 아키텍처를 늘리고 더 복잡한 프로그램을 실행하는 더 복잡한 시스템을 만들 수 있습니다. Arduino Uno 및 Arduino Nano 보드는 초기 교육에 적합합니다. 이 예제에서는 LED를 Arduino에 연결합니다.

아두이노 우노와 아두이노 나노란?

Arduino Uno 보드의 기본은 ATmega328 마이크로 컨트롤러입니다. 또한 다음과 같은 추가 요소가 있습니다.

  • 석영 공진기;
  • 리셋 버튼;
  • USB 커넥터;
  • 통합 전압 조정기;
  • 전원 커넥터;
  • 모드 표시를 위한 여러 LED;
  • USB 채널용 통신 칩;
  • 온칩 프로그래밍용 커넥터;
  • 몇 가지 더 능동적이고 수동적인 요소.

이 모든 것을 통해 납땜 인두를 사용하지 않고 첫 번째 단계를 수행하고 회로 기판을 만드는 단계를 피할 수 있습니다. 장치는 외부 7...12V 전원 공급 장치 또는 USB 커넥터를 통해 전원이 공급됩니다. 모듈은 또한 스케치를 로드하기 위해 PC에 연결됩니다. 보드에는 외부 장치에 전원을 공급하기 위한 3.3V 전압 소스가 있습니다. 작동에 사용할 수 있는 6, 14개의 범용 디지털 출력이 있습니다. 5V 전원 공급 시 디지털 출력의 부하 용량은 40mA입니다.이것은 LED를 통해 LED에 직접 연결할 수 있음을 의미합니다. 제한 저항.

아두이노 우노.
아두이노 우노.

Arduino Nano 보드는 Uno와 완벽하게 호환되지만 크기가 더 작으며 표와 같이 몇 가지 차이점과 단순화가 있습니다.

보드제어 장치외부 전원용 커넥터USB 통신용 마이크로 회로USB 커넥터
아두이노 우노ATmega328체크 아웃ATmega8U2USB A-B
아두이노 나노ATmega328아니FT232RL마이크로 USB
아두이노 나노.
아두이노 나노.

차이점은 근본적인 것이 아니며 이 검토의 주제에 중요하지 않습니다.

LED를 Arduino 보드에 연결하는 데 필요한 것

LED를 연결하는 방법은 두 가지가 있습니다. 교육 목적으로 둘 중 하나를 선택할 수 있습니다.

  1. 내장 LED 사용. 이 경우 전원 및 프로그래밍을 위해 USB를 통해 PC에 연결하는 케이블 외에는 다른 것이 필요하지 않습니다. 보드에 전원을 공급하기 위해 외부 전압 소스를 사용하는 것은 의미가 없습니다. 전류 소비가 적습니다.

    USB A-B 코드
    Arduino Uno를 PC에 연결하기 위한 USB A-B 케이블.
  2. 외부 LED 연결. 여기에 추가로 필요합니다.
    • LED 자체;
    • 정격이 250-1000옴인 0.25W 전류 제한 저항(또는 그 이상)(LED에 따라 다름)
    • 외부 회로를 연결하는 전선 및 납땜 인두.
외부 LED 연결
외부 LED를 컨트롤러 출력에 직접 연결합니다.

LED는 음극과 마이크로컨트롤러의 모든 디지털 핀에 연결되고 양극은 안정 저항기를 통해 공통 와이어에 연결됩니다. 많은 수의 LED가 있는 경우 추가 전원 공급 장치가 필요할 수 있습니다.

하나의 터미널에 여러 개의 LED를 연결할 수 있습니까?

외부 LED 또는 LED 그룹을 핀에 연결해야 할 수도 있습니다. 마이크로컨트롤러의 핀 1개의 부하 용량은 위에서 언급한 바와 같이 작습니다. 소비 전류가 15mA인 하나 또는 두 개의 LED를 병렬로 직접 연결할 수 있습니다. 임박하거나 초과하는 하중으로 핀의 생존성을 테스트해서는 안 됩니다. 트랜지스터의 스위치를 사용하는 것이 좋습니다. (필드 또는 바이폴라).

바이폴라 3극관 트랜지스터 스위치를 통해 LED를 연결합니다.
바이폴라 3극관의 트랜지스터 스위치를 통해 LED를 연결합니다.

저항기 R1 전류가 출력의 운반 용량을 초과하지 않도록 선택해야 합니다. 최대의 절반 이하를 취하는 것이 좋습니다. 따라서 적당한 전류를 설정하려면 10mA, 5볼트 공급에서의 저항은 다음과 같아야 합니다. 500옴..

각 LED에는 자체 안정기 저항이 있어야 하므로 하나의 공통 저항으로 교체하는 것은 바람직하지 않습니다. Rbal은 각 LED를 작동 전류로 설정하도록 선택됩니다. 따라서 공급 전압이 5볼트이고 전류가 20mA, 저항은 250옴 또는 가장 가까운 표준 값이어야 합니다.

트랜지스터의 컬렉터를 통과하는 총 전류가 최대값을 초과하지 않도록 해야 합니다. 따라서 트랜지스터 KT3102의 경우 가장 높은 Ik는 100mA로 제한되어야 합니다. 이것은 6개 이하의 LED를 전류로 연결할 수 있음을 의미합니다. 15mA. 이것으로 충분하지 않으면 더 강력한 스위치를 사용해야 합니다. 이것은 이 회로에서 n-p-n 트랜지스터 선택에 대한 유일한 제한 사항입니다. 이론적으로 3극관 이득도 고려해야 하지만 주어진 조건(입력 전류 10mA, 출력 100)에서 최소 10이어야 합니다. 이 h21e는 모든 최신 트랜지스터에서 생성할 수 있습니다.

이 회로는 마이크로컨트롤러의 전류 부스팅 출력에만 적합한 것은 아닙니다. 이 방법으로 더 높은 전압(예: 12볼트)으로 구동되는 매우 강력한 액추에이터(릴레이, 솔레노이드, 모터)를 연결할 수 있습니다. 계산할 때 적절한 전압 값을 취해야 합니다.

당신은 또한 사용할 수 있습니다 MOSFET 트랜지스터그러나 Arduino 출력이 제공할 수 있는 것보다 열려면 더 높은 전압이 필요할 수 있습니다. 이 경우 추가 회로와 요소를 제공해야 합니다. 이것을 피하려면 소위 "디지털" 전계 효과 트랜지스터를 사용해야 합니다. 5볼트 열기 위해. 그러나 덜 일반적입니다.

LED의 소프트웨어 제어

LED를 마이크로컨트롤러의 출력에 연결하기만 하면 별 소용이 없습니다.프로그래밍 방식으로 Arduino에서 LED를 제어하는 ​​방법을 배워야 합니다. C(C) 기반의 Arduino 언어로 이를 수행할 수 있습니다. 이 프로그래밍 언어는 초기 교육을 위한 C의 적응입니다. 마스터한 후에는 C++로의 전환이 어렵지 않을 것입니다. 스케치를 작성하고(이것은 Arduino용 프로그램 이름입니다) 라이브 디버그하려면 다음을 수행해야 합니다.

  • 개인용 컴퓨터에 Arduino IDE 환경을 설치하십시오.
  • USB 통신 칩용 드라이버를 설치해야 할 수도 있습니다.
  • USB-microUSB 케이블로 보드를 PC에 연결합니다.
Arduino 개발 환경의 인터페이스
Arduino IDE의 인터페이스는 프로그램을 작성하라는 초대장입니다.

컴퓨터 시뮬레이터를 사용하여 간단한 프로그램과 회로를 디버그할 수 있습니다. 예를 들어 Proteus(버전 8부터)는 Arduino Uno 및 Nano 보드의 시뮬레이션을 지원합니다. 시뮬레이터의 편리함은 회로가 잘못 조립되면 다리미를 비활성화 할 수 없다는 것입니다.

아두이노 시뮬레이션
Proteus 8.23에서 연결된 LED가 있는 Arduino의 시뮬레이션.

회로도는 두 개의 모듈로 구성됩니다.

  • 설정 - 프로그램이 시작될 때 한 번 실행되고 다리미의 변수와 모드를 초기화합니다.
  • 고리 - 설정 후 무한대까지 주기적으로 실행됩니다.

을 위한 주도의 종종 포트라고 잘못 불리는 14개의 자유 핀(핀) 중 하나를 사용할 수 있습니다. 실제로 포트는 간단히 말해서 핀 그룹입니다. 핀은 요소일 뿐입니다.

제어의 예는 핀 13에 대해 고려됩니다. LED는 이미 보드에 연결되어 있습니다(Uno 보드의 리피터 증폭기를 통해, Nano 보드의 저항을 통해). 포트 핀으로 작업하려면 입력 또는 출력 모드에서 구성해야 합니다. 설정 본문에서 이 작업을 수행하는 것이 편리하지만 필수 사항은 아닙니다. 출력 대상을 동적으로 변경할 수 있습니다. 이것은 프로그램이 실행되는 동안 포트가 입력 또는 출력을 위해 작동할 수 있음을 의미합니다.

Arduino의 핀 13(ATmega 328 마이크로 컨트롤러의 포트 B의 핀 PB5)의 초기화는 다음과 같습니다.

무효 설정()

{

핀모드(13, 출력);

}

이 명령을 실행한 후 보드의 핀 13은 출력 모드에서 작동하고 기본적으로 낮은 논리 레벨을 갖습니다. 프로그램 실행 중에 0 또는 1을 쓸 수 있습니다. 하나의 글은 다음과 같습니다.

무효 루프()

{

디지털 쓰기(13, 높음);

}

이제 보드의 핀 13이 논리적인 높은 수준으로 설정되고 LED를 켜는 데 사용할 수 있습니다.

LED를 끄려면 출력을 0으로 설정해야 합니다.

디지털 쓰기(13, LOW);

이렇게 하면 포트 레지스터의 해당 비트에 1과 0을 번갈아 가며 써 외부 장치를 제어할 수 있습니다.

이제 Arduino에서 프로그램을 복잡하게 만들어 LED를 제어하고 발광 요소를 깜박이는 방법을 배울 수 있습니다.

무효 설정()

{

핀모드(13, 출력);

}

무효 루프()

{

디지털 쓰기(13, 높음);

지연(1000);

디지털 쓰기(13, LOW);

지연(1000);

}

명령 지연(1000) 명령은 1000밀리초 또는 1초의 지연을 생성합니다. 이 값을 변경하여 LED의 주파수 또는 깜박이는 주파수를 변경할 수 있습니다. 외부 LED를 보드의 다른 핀에 연결하는 경우 프로그램에서 13 대신 선택한 핀의 번호도 지정해야 합니다.

명확성을 위해 일련의 비디오를 권장합니다.

Arduino에 대한 LED 연결을 마스터하고 제어하는 ​​방법을 배웠다면 다음 단계로 이동하여 더 복잡한 다른 프로그램을 작성할 수 있습니다. 예를 들어 버튼으로 두 개 이상의 LED를 전환하는 방법, 외부 전위차계로 깜박이는 주파수를 변경하는 방법, PWM으로 광선의 밝기를 조정하는 방법, RGB 이미 터의 색상을 변경하는 방법을 배울 수 있습니다. 작업 수준은 상상력에 의해서만 제한됩니다.

코멘트:
아직 댓글이 없습니다. 첫 번째가 되십시오!

독서를 위한 팁

LED 전등을 스스로 수리하는 방법