LED를 Arduino 보드에 연결하는 방법
Arduino 플랫폼은 전 세계적으로 널리 알려져 있습니다. 프로그래밍 및 하드웨어 관리 개발의 첫 번째 단계를 위한 이상적인 도구입니다. 기술이 성장함에 따라 주변 장치를 추가하여 아키텍처를 확장하고 더 복잡한 프로그램을 실행하는 더 복잡한 시스템을 구축할 수 있습니다. Arduino Uno 및 Arduino Nano 보드는 초기 교육에 적합합니다. 그들의 예에서 Arduino에 대한 LED의 연결이 고려됩니다.
아두이노 우노와 아두이노 나노란?
Arduino Uno 보드의 기본은 ATmega328 마이크로 컨트롤러입니다. 또한 다음과 같은 추가 요소가 있습니다.
- 석영 공진기;
- 리셋 버튼;
- USB 커넥터;
- 통합 전압 안정기;
- 전원 커넥터;
- 모드를 표시하기 위한 여러 LED;
- USB 채널용 통신 칩;
- 회로 내 프로그래밍용 커넥터;
- 몇 가지 더 능동적이고 수동적인 요소.
이 모든 것을 통해 납땜 인두를 사용하지 않고 첫 번째 단계를 수행하고 인쇄 회로 기판 제조 단계를 피할 수 있습니다.이 장치는 7..12V의 외부 전압 소스 또는 USB 커넥터를 통해 전원이 공급됩니다. 이를 통해 모듈은 PC에 연결되어 스케치를 다운로드합니다. 보드에는 외부 장치에 전원을 공급하기 위한 3.3V 전압 소스가 있습니다. 6, 14개의 범용 디지털 출력이 작동 가능합니다. 5V 전원 공급 시 디지털 출력의 부하 용량은 40mA입니다. 이것은 LED를 통해 LED에 직접 연결할 수 있음을 의미합니다. 제한 저항.

Arduino Nano 보드는 Uno와 완벽하게 호환되지만 크기가 더 작으며 표에 표시된 몇 가지 차이점과 단순화가 있습니다.
| 지불 | 제어 장치 | 외부 전원 공급용 커넥터 | USB 통신용 마이크로칩 | USB 커넥터 |
|---|---|---|---|---|
| 아두이노 우노 | ATmega328 | 있다 | ATmega8U2 | USB A-B |
| 아두이노 나노 | ATmega328 | 아니다 | FT232RL | 마이크로 USB |

차이점은 근본적인 것이 아니며 검토 주제에 중요하지 않습니다.
LED를 Arduino 보드에 연결하는 데 필요한 것
LED 연결에는 두 가지 옵션이 있습니다. 학습 목적으로 아무거나 선택할 수 있습니다.
- 내장 LED 사용. 이 경우 전원 및 프로그래밍을 위해 USB 커넥터를 통해 PC에 연결하기 위한 케이블을 제외하고는 다른 것이 필요하지 않습니다. 보드에 전원을 공급하기 위해 외부 전압 소스를 사용하는 것은 의미가 없습니다. 전류 소비가 적습니다.Arduino Uno를 PC에 연결하기 위한 USB A-B 케이블.
- 외부 LED 연결. 여기에 추가로 필요합니다.
- LED 자체;
- 공칭 값이 250-1000옴(LED에 따라 다름)인 0.25W(또는 그 이상) 전력의 전류 제한 저항기;
- 외부 회로를 연결하기 위한 전선 및 납땜 인두.

LED는 캐소드를 마이크로컨트롤러의 디지털 출력에 연결하고 애노드는 안정기 저항을 통해 공통 와이어에 연결합니다. LED 수가 많으면 추가 전원이 필요할 수 있습니다.
하나의 출력에 여러 LED를 연결할 수 있습니까?
외부 LED 또는 LED 그룹을 출력에 연결해야 할 수도 있습니다. 언급한 바와 같이 마이크로컨트롤러의 한 출력의 부하 용량은 작습니다. 소비 전류가 15mA인 하나 또는 두 개의 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가 출력할 수 있는 것보다 더 높은 전압을 열어야 할 수도 있습니다. 이 경우 추가 회로 및 소자를 제공해야 합니다. 이를 피하려면 소위 "디지털"전계 효과 트랜지스터를 사용해야합니다. 볼트 열기 위해. 그러나 덜 일반적입니다.
프로그래밍 방식으로 LED 제어
LED를 마이크로컨트롤러의 출력에 연결하기만 하면 거의 작동하지 않습니다. 프로그래밍 방식으로 Arduino에서 LED 제어를 마스터해야 합니다. 이는 C(C) 기반의 Arduino 언어로 수행할 수 있습니다. 이 프로그래밍 언어는 초기 학습을 위한 C의 적응입니다. 마스터하면 C++로 쉽게 전환할 수 있습니다. 스케치를 작성하고(Arduino용 프로그램이 호출될 때) 라이브로 디버그하려면 다음을 수행해야 합니다.
- 개인용 컴퓨터에 Arduino IDE를 설치하십시오.
- USB 통신 칩용 드라이버를 설치해야 할 수도 있습니다.
- USB-microUSB 케이블을 사용하여 보드를 PC에 연결합니다.

컴퓨터 시뮬레이터는 간단한 프로그램과 회로를 디버그하는 데 사용할 수 있습니다. Arduino Uno 및 Nano 보드의 작동 시뮬레이션은 예를 들어 Proteus에서 지원됩니다(버전 8부터 시작). 시뮬레이터의 편리함은 잘못 조립된 회로로 하드웨어를 비활성화하는 것이 불가능하다는 것입니다.

스케치는 두 가지 모듈로 구성됩니다.
- 설정 - 프로그램 시작 시 한 번 실행되고 하드웨어의 변수 및 작동 모드를 초기화합니다.
- 고리 – 설정 블록 이후 무한대로 주기적으로 실행됩니다.
을 위한 LED 연결 종종 포트라고 잘못 불리는 14개의 자유 핀(핀) 중 하나를 사용할 수 있습니다. 실제로 포트는 간단히 말해서 핀 그룹입니다. 핀은 요소일 뿐입니다.
제어의 예는 핀 13에 대해 고려됩니다. LED는 이미 보드에 연결되어 있습니다(Uno 보드의 증폭기 팔로어를 통해, Nano의 저항을 통해). 포트 핀으로 작업하려면 입력 또는 출력 모드에서 구성해야 합니다. 설정 본문에서 이 작업을 수행하는 것이 편리하지만 필수는 아닙니다. 출력 대상을 동적으로 변경할 수 있습니다. 즉, 프로그램이 실행되는 동안 포트는 입력 또는 데이터 출력을 위해 작동할 수 있습니다.
Arduino의 핀 13(ATmega 328 마이크로 컨트롤러의 포트 B의 핀 PB5)의 초기화는 다음과 같습니다.
무효 설정()
{
핀모드(13, 출력);
}
이 명령을 실행한 후 보드의 핀 13은 출력 모드에서 작동하며 기본적으로 로직 로우가 됩니다. 프로그램을 실행하는 동안 0 또는 1을 쓸 수 있습니다. 단위 레코드는 다음과 같습니다.
무효 루프()
{
디지털 쓰기(13, 높음);
}
이제 보드의 핀 13이 로직 1인 하이로 설정되며 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 이미터의 색상을 변경하는 방법을 배울 수 있습니다. 작업의 수준은 상상력에 의해서만 제한됩니다.


