Moeiteloos Honderden Relais Besturen en Synchroniseren met IO Expanders
Onderdelen en benodigdheden
| Onderdeel | Aantal |
|---|---|
| IO Expander | 2 |
| Relay Expander | 2 |
| 16-kanaals Relaisbord | 2 |
| Arduino Nano R3 | 1 |
Over dit project
Moet je honderden relais tegelijkertijd besturen en synchroniseren? Verbind je Arduino, ESP8266, Pi, PC of Mac met een IO Expander en Relay Expanders en gebruik de nieuwe Externe Latching functie.
Deze functie stelt je in staat de nieuwe relaisinstellingen in een compact bit-formaat te sturen en klaar te zetten voor latching. Vervolgens worden alle gelatchte data simultaan uitgevoerd via één GPIO-lijn van je MCU of van de IO Expander output.
Zie ook ons project "Control Up to 65,280 Relays with Your Arduino"!
IO Expander Externe Latching Diagram
Arduino Code
Voorbeeld met 2 IO Expanders, 2 Relay Expanders en 2x 16-relais borden op een Arduino Nano. De IO Expanders communiceren via een multidrop 9-bit protocol (max 255 expanders).
/* IO Expander - Relay Expander External Latching */
#include <HardwareSerial9Bit.h>
#include "IOExpander9Bit.h"
#include <avr/wdt.h>
//#define SERIAL_DEBUG
#define MAX_BOARDS 2
#ifdef SERIAL_DEBUG
SoftwareSerial swSerial(8,7);
#endif
void setup() {
Serial9Bit.begin(115200, SERIAL_9N1);
Serial9Bit.write(0); // Zet IO Expanders in 9-bit modus
#ifdef SERIAL_DEBUG
swSerial.begin(115200);
swSerialEcho = &swSerial;
#endif
wdt_enable(WDTO_8S);
for (uint8_t board = 1; board <= MAX_BOARDS; board++)
SerialCmdDone(board, "eb1"); // Enable relay expander
SerialCmdDone(1, "g4o1;g10n;el10"); // Board 1: GPIO4 output high, GPIO10 neg edge detect, external latch op pin 10
SerialCmdDone(2, "g10n;el10"); // Board 2: GPIO10 neg edge detect, external latch op pin 10
}
void loop() {
static uint16_t i = 0;
uint8_t r[2];
// Board 1: teller patroon
r[0] = ~(uint8_t)(i >> 8);
r[1] = ~(uint8_t)i++;
SerialWriteRelayExpander(1, r, 2);
delay(50);
// Board 2: geïnverteerd patroon
r[0] = ~r[0];
r[1] = ~r[1];
SerialWriteRelayExpander(2, r, 2);
delay(50);
// Latch alle relais op beide borden via GPIO4 (board 1) laag voor 1ms
SerialCmdDone(1, "g4o0,1");
wdt_reset();
}
IO Expander Externe Latching in Actie
Krijg vandaag nog je IO Expander en bouw je systeem!
Schema's
Productieproces
- Hoe de 'brainbox' (ECU) van een auto moderne voertuigen stuurt
- Automobiele relais uitgelegd: Doel, typen en hoe ze uw voertuig beschermen
- Essentiële gids voor relais: Typen, toepassingen en geschiedenis
- Eerste Autoverzekering: Stapsgewijze Gids voor Betaalbare Dekking
- Elektrische Bedieningspanelen: Ontwerpessentiëls voor Veiligheid & ROI
- Controle Terug Over Uw Inkoopcyclus: Bewezen Strategieën Voor Fabrikanten
- Efficiëntieverhoging met een responsieve robot bij Energy Dynamics
- De Verborgen Kosten Van Salesforce-integraties Begrijpen
- SaaS Beheersen: Strategieën om Controle te Behouden Terwijl u de Cloud Benut
- Robotica in de 21e Eeuw: Gedistribueerde Systemen, Telepresentie en Ruimtevaart
- Waarom magazijnen nu IoT moeten adopteren: Efficiëntie, nauwkeurigheid en beveiliging boosten