LED 깜박임은 모든 임베디드 학습자 또는 초보자에게 매우 일반적이며 거의 첫 번째 프로그램입니다. 우리는 약간의 지연을 가지고 LED를 깜박입니다. 오늘 우리는 같은 프로젝트를 가지고 있지만 여기서는 일반 LED 대신 AC 전구를 사용하고 AC 전구를 깜박입니다.
임베디드 회로에 AC 기기를 연결해야 할 때마다 릴레이를 사용합니다. 따라서이 arduino 릴레이 제어 튜토리얼에서는 단순히 릴레이를 Arduino와 인터페이스하는 방법을 배웁니다. 여기서는 ULN2003과 같은 릴레이 드라이버 IC를 사용하지 않으며 릴레이를 제어하기 위해 NPN 트랜지스터 만 사용합니다.
필요한 구성 요소:
- Arduino
- 5v 또는 6v 릴레이
- AC 기기 또는 전구
- BC547 트랜지스터
- 1k 저항
- 브레드 보드 또는 PCB
- 점퍼 와이어 연결
- 전원 공급
- 1n4007 다이오드
- 스크류 터미널 또는 터미널 블록
계전기:
릴레이는 작은 전류로 제어되는 전자기 스위치이며 비교적 큰 전류를 켜고 끄는 데 사용됩니다. 작은 전류를 적용함으로써 훨씬 더 큰 전류가 흐르도록 릴레이를 켤 수 있습니다. 릴레이는 훨씬 더 작은 DC 전류를 사용하여 AC (교류) 장치를 제어하는 좋은 예입니다. 일반적으로 사용되는 릴레이는 SPDT (Single Pole Double Throw) 릴레이 이며 다음과 같은 5 개의 단자가 있습니다.
코일에 전압이인가되지 않으면 COM (공통)이 NC (상시 닫힘 접점)에 연결됩니다. 코일에 약간의 전압이 가해지면 전기자 (스프링에 연결된 레버)를 끌어 당기는 전자기장이 생성되고 COM과 NO (일반적으로 열린 접점)가 연결되어 더 큰 전류가 흐를 수 있습니다. 릴레이는 여러 등급으로 제공되며 여기서는 7A-250VAC 전류가 흐르도록하는 6V 작동 전압 릴레이를 사용했습니다.
릴레이는 항상 트랜지스터, 다이오드 및 저항으로 구성된 작은 드라이버 회로 를 사용하여 구성됩니다. 트랜지스터 는 전류를 증폭하는 데 사용되어 전체 전류 (DC 소스-9v 배터리)가 코일을 통해 흐르고 완전히 에너지를 공급할 수 있습니다. 저항 트랜지스터에 바이어스를 제공하는데 사용된다. 그리고 다이오드 트랜지스터가 OFF 전환 될 때, 역방향 전류가 흐르는 것을 방지하기 위해 사용된다. 모든 인덕터 코일은 갑자기 꺼질 때 동일하고 반대의 EMF를 생성하므로 부품에 영구적 인 손상을 줄 수 있으므로 역전 류를 방지하기 위해 다이오드를 사용해야합니다. 릴레이 모듈 모든 Driver 회로를 기판에 탑재하여 시중에서 쉽게 구할 수 있으며, 아래와 같이 perf 기판이나 PCB에 생성 할 수 있습니다. 여기서는 6V 릴레이 모듈을 사용했습니다.
여기에서 Arduino로 Relay 를 켜 려면 Relay 모듈이 연결된 Arduino Pin을 High (여기서는 A0)로 설정하면됩니다. 아래는 자체 릴레이 모듈을 구축하기위한 릴레이 드라이버 회로입니다.
회로도 및 작동:
이 Arduino 릴레이 제어 회로에서 우리는 BC547 트랜지스터를 통해 릴레이를 제어하기 위해 Arduino를 사용했습니다. 1k 저항을 통해 트랜지스터베이스를 Arduino 핀 A0에 연결했습니다. 데모에는 AC 전구가 사용됩니다. 12v 어댑터는 회로에 전원을 공급하는 데 사용됩니다.
작업은 간단하다, 우리는 할 필요가 ON 릴레이 모듈을 만들 수있는 RELAY 핀 (PIN A0) 높은 만들기 및 릴레이 모듈을 해제 릴레이 핀 낮은을을. AC 표시등도 릴레이에 따라 켜지고 꺼집니다.
방금 Arduino를 프로그래밍하여 릴레이 핀 (A0)을 1 초의 지연으로 높고 낮게 설정했습니다.
void loop () {digitalWrite (relay, HIGH); 지연 (간격); digitalWrite (릴레이, LOW); 지연 (간격); }
Arduino Relay Control의 데모 비디오 및 전체 코드 는 다음과 같습니다.