제조공정
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
|
IO 확장기와 릴레이 확장기를 사용하여 최대 65,280개의 릴레이를 제어합니다.
프로젝트에 많은 릴레이를 추가해야 합니까? 그런 다음 릴레이 확장기가 있는 IO 확장기가 필요합니다. 각 IO 확장기는 총 256개의 릴레이에 대해 최대 16개의 데이지 체인 연결된 릴레이 확장기를 제어할 수 있습니다. 그런 다음 255개의 IO Expander를 함께 연결하면 최대 65,280개의 릴레이를 선택적으로 제어할 수 있습니다.
단일 IO 확장기로 릴레이 제어 <비디오 너비="100%" 높이="100%" preload="metadata" controls="controls">http://www.zevendevelopment.com/videos/Control64Relays.mp4
기능 목록 <울>
중계 은행 구축에 필요한 부품 <울>
배선도
참고: 위의 배선 다이어그램에서 IO Expander와 Arduino Nano는 첫 번째 릴레이 보드에 의해 전원이 공급되고 있습니다. 모든 릴레이 확장기는 연결된 릴레이 보드에서 전원이 공급됩니다.
/* IO 확장기
*
* 제어 64 릴레이
*
*/
#include
# "IOExpander.h" 포함
#include
//#define SERIAL_DEBUG
#define MAX_RELAYS 64
#ifdef SERIAL_DEBUG
SoftwareSerial swSerial( 8,7);
#endif
char cmd[10];
무효 설정()
{
Serial.begin(115200);
# ifdef SERIAL_DEBUG
swSerial.begin(115200);
swSerialEcho =&swSerial;
#endif
wdt_enable(WDTO_8S);
sprintf(cmd, "eb%d", MAX_RELAYS / 16);
SerialCmdDone(cmd);
}
무효 루프()
{
정적 int i =1;
sprintf(cmd, "e%df", i);
SerialCmdDone(cmd);
if (i++>=MAX_RELAYS) i =1;
sprintf(cmd, "e%do", i);
SerialCmdDone(cmd);
delay(100);
wdt_reset();
}
릴레이를 제어하는 다중 IO 확장기
릴레이를 제어하는 또 다른 방법은 여러 IO 확장기를 사용하는 것입니다. 이를 통해 센서와 릴레이를 중앙 또는 스타 네트워크에 배포할 수 있지만 여전히 단일 직렬 버스에서 모든 IO 확장기를 상호 연결할 수 있습니다. IO 확장기를 최대 4000피트까지 분리해야 하는 경우 아래 표시된 대로 표준 파란색 Cat5 네트워크 와이어와 함께 IO 확장기를 사용하십시오.
<비디오 너비="100%" 높이="100%" preload="metadata" controls="controls">http://www.zevendevelopment.com/videos/Control64RelaysExpander.mp4
배선도
참고: 위의 배선 다이어그램에서 모든 IO Expanders와 Arduino Nano는 직렬 버스를 통해 첫 번째 릴레이 보드에 의해 전원이 공급됩니다. 모든 릴레이 확장기는 연결된 릴레이 보드에서 전원이 공급됩니다.
/* IO 확장기
*
* IO 확장기로 Bonnaza 릴레이!
*
*/
#include
#include "IOExpander9Bit.h"
#include
#define MAX_BOARDS 4
char cmd[10];
설정() 무효
{
Serial9Bit.begin(115200, SERIAL_9N1);
Serial9Bit.write(0); // IO 확장기를 9비트로 설정
wdt_enable(WDTO_8S);
for (int board =1; board <=4; board++)
SerialCmdDone(board, "eb1");
}
void 루프()
{
정적 int 보드 =1;
정적 int 릴레이 =1;
sprintf(cmd, "e%df" , 릴레이);
SerialCmdDone(보드, cmd);
if (++relay> 16) {
릴레이 =1;
if (++board> MAX_BOARDS) 보드 =1;
}
sprintf(cmd, "e%do", 릴레이);
SerialCmdDone(보드, cmd);
delay(100);
wdt_reset( );
}
그렇다면 왜 그렇게 많은 릴레이를 제어해야 합니까?
그러한 응용 중 하나는 수경재배 또는 수경재배에 있습니다. 많은 센서와 장치를 각 재배 침대 또는 개별 식물까지 자동화해야 합니다. 이를 위해서는 극단적인 IO가 필요하며 IO Expander가 제공합니다.
그러니 지금 IO Expander를 구입하고 시스템을 구축하십시오!
섹션> <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">/* IO Expander * * Control 64 Relays * */#include#include "IOExpander.h#include //#define SERIAL_DEBUG#define MAX_RELAYS 64#ifdef SERIAL_DEBUGSoftwareSerial swSerial(8,7);#endifchar cmd[10]; 무효 설정(){ Serial.begin(115200);#ifdef SERIAL_DEBUG swSerial.begin(115200); swSerialEcho =&swSerial;#endif wdt_enable(WDTO_8S); sprintf(cmd, "eb%d", MAX_RELAYS / 16); SerialCmdDone(cmd);} 무효 루프(){ 정적 int i =1; sprintf(cmd, "e%df", i); 직렬 명령 완료(cmd); if (i++>=MAX_RELAYS) i =1; sprintf(cmd, "e%do", i); 직렬 명령 완료(cmd); 지연(100); wdt_reset();}
/* IO 익스팬더 * * IO 익스팬더와 릴레이 Bonnaza! * */#include섹션>#include "IOExpander9Bit.h#include #define MAX_BOARDS 4char cmd[10];void setup(){ Serial9Bit.begin(115200, SERIAL_9N1); Serial9Bit.write(0); // IO 확장기를 9비트로 설정 wdt_enable(WDTO_8S); for (int 보드 =1; 보드 <=4; 보드++) SerialCmdDone(board, "eb1");}void 루프(){ 정적 int 보드 =1; 정적 int 릴레이 =1; sprintf(cmd, "e%df", 릴레이); SerialCmdDone(보드, cmd); if (++릴레이> 16) { 릴레이 =1; if (++보드> MAX_BOARDS) 보드 =1; } sprintf(cmd, "e%do", 릴레이); SerialCmdDone(보드, cmd); 지연(100); wdt_reset();}
제조공정
이 튜토리얼에서는 Arduino와 릴레이 모듈을 사용하여 고전압 장치를 제어하는 방법을 배웁니다. 다음 비디오를 보거나 아래에 작성된 튜토리얼을 읽을 수 있습니다. 개요 릴레이를 사용하여 고전압 전자 장치를 제어할 수 있습니다. 릴레이는 실제로 전자석에 의해 전기적으로 작동되는 스위치입니다. 전자석은 예를 들어 마이크로컨트롤러의 5볼트와 같은 저전압으로 활성화되고 접점을 당겨 고전압 회로를 만들거나 끊습니다. HL-52S 릴레이 모듈 이 Arduino 릴레이 튜토리얼의 예로서 10A @ 250 및 125 V AC 및 1
이 Arduino 튜토리얼에서는 A4988 스테퍼 드라이버를 사용하여 스테퍼 모터를 제어하는 방법을 배웁니다. 다음 동영상을 보거나 아래에 작성된 튜토리얼을 읽을 수 있습니다. 개요 A4988은 쉬운 작동을 위해 내장된 변환기가 있는 바이폴라 스테퍼 모터를 제어하기 위한 마이크로스테핑 드라이버입니다. 이것은 컨트롤러에서 단 2개의 핀으로 스테퍼 모터를 제어할 수 있음을 의미합니다. 하나는 회전 방향을 제어하고 다른 하나는 단계를 제어하기 위한 것입니다. Driver는 풀스텝, 하프스텝, 쿼터스텝, 8스텝, 16스텝의