산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

Arduino로 최대 65,280개의 릴레이를 제어하세요!

구성품 및 소모품

Arduino Nano R3
× 1
IO 확장기
IO 확장기
× 1
릴레이 확장기
× 1
IO 확장기
× 1
Arduino 16 릴레이 보드
× 1

앱 및 온라인 서비스

Arduino IDE

이 프로젝트 정보

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

기능 목록

<울>
  • 15달러 미만의 저렴한 Arduino 16 릴레이 보드를 사용하세요.
  • 릴레이 제어 명령을 사용하기 쉽습니다.
  • 한 번에 개별 릴레이 또는 은행을 제어합니다.
  • 드라이버가 필요하지 않습니다. 코드 공간을 절약하세요.
  • 릴레이 상태를 유지할 데이터 공간이 없습니다.
  • 추가 전원 공급 장치가 필요하지 않습니다.
  • 중계 은행 구축에 필요한 부품

    <울>
  • IO 확장기
  • IO 확장기
  • 릴레이 확장기
  • Arduino 16 릴레이 보드
  • 배선도

    참고: 위의 배선 다이어그램에서 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="코드">

    코드

    <울>
  • 단일 확장기로 64 릴레이 제어
  • 다중 확장기로 64 릴레이 제어
  • 단일 확장기로 64개의 릴레이 제어C/C++
    /* 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();}
    여러 확장기로 제어 64 릴레이C/C++
    /* 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();}

    회로도


    제조공정

    1. 천장 선풍기에 Alexa 제어 기능을 사용하도록 설정
    2. Arduino로 코인 억셉터 제어
    3. Arduino 제어 센터
    4. Bluetooth가 탑재된 Arduino로 LED 제어!
    5. Arduino 가습기 제어
    6. Arduino Nano:조이스틱으로 2개의 스테퍼 모터 제어
    7. Cortana로 LED 제어
    8. ThimbleKrox - 손가락으로 마우스 제어
    9. 스마트 폰을 사용하여 조명 시스템 제어
    10. Arduino Uno를 사용한 25kHz 4핀 PWM 팬 제어