Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Contrôlez jusqu'à 65 280 relais avec votre Arduino !

Composants et fournitures

Arduino Nano R3
× 1
Extenseur IO
Extenseur IO
× 1
Extenseur de relais
× 1
Extension IO
× 1
Carte de relais Arduino 16
× 1

Applications et services en ligne

Arduino IDE

À propos de ce projet

Utilisez l'extenseur IO et l'extenseur de relais pour contrôler jusqu'à 65 280 relais.

Besoin d'ajouter beaucoup de relais à votre projet ? Ensuite, vous avez besoin de l'extenseur IO avec des extenseurs de relais. Chaque extension IO peut contrôler jusqu'à 16 extensions de relais en guirlande pour un total de 256 relais. Ensuite, en connectant 255 IO Expanders ensemble, vous pouvez contrôler sélectivement jusqu'à 65 280 relais.

Relais de contrôle avec une seule extension d'E/S

Liste des fonctionnalités

  • Utilisez des cartes de relais Arduino 16 bon marché à moins de 15 $.
  • Commandes de contrôle de relais faciles à utiliser.
  • Contrôlez un relais individuel ou une banque à la fois.
  • Aucun pilote requis. Économisez de l'espace de code.
  • Aucun espace de données pour maintenir l'état du relais.
  • Aucune alimentation supplémentaire n'est nécessaire.

Pièces nécessaires pour construire une banque de relais

  • Extenseur d'E/S
  • Extension IO
  • Extenseur de relais
  • Carte relais Arduino 16

Schéma de câblage

Remarque : Dans le schéma de câblage ci-dessus, l'extension IO et l'Arduino Nano sont alimentés par la première carte relais. Tous les relais d'extension sont alimentés par la carte relais à laquelle ils sont connectés.

/* IO Expander
*
* Contrôle 64 relais
*
*/
#include
# include "IOExpander.h"
#include
//#define SERIAL_DEBUG
#define MAX_RELAYS 64
#ifdef SERIAL_DEBUG
SoftwareSerial swSerial( 8,7) ;
#endif
char cmd[10] ;
void setup()
{
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);
}
boucle vide()
{
static 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();
}

Plusieurs extensions d'E/S contrôlant les relais

Une autre façon de contrôler les relais consiste à utiliser plusieurs IO Expanders. Cela nous donne la possibilité de distribuer des capteurs et des relais à un réseau central ou en étoile, tout en interconnectant tous les IO Expanders sur un seul bus série. Si vous devez séparer les extensions IO jusqu'à 4000 pieds, utilisez les extensions IO comme indiqué ci-dessous avec le câble réseau bleu standard Cat5.

Schéma de câblage

Remarque : Dans le schéma de câblage ci-dessus, tous les IO Expanders et Arduino Nano sont alimentés par la première carte relais via le bus série. Tous les relais d'extension sont alimentés par la carte relais à laquelle ils sont connectés.

/* IO Expander
*
* Relay Bonnaza avec IO Expanders !
*
*/
#include
#include "IOExpander9Bit.h"
#include
#define MAX_BOARDS 4
char cmd[10];
void setup()
{
Serial9Bit.begin(115200, SERIAL_9N1);
Serial9Bit.write(0); // Définir les extensions IO sur 9 bits
wdt_enable(WDTO_8S);
pour (int board =1; board <=4; board++)
SerialCmdDone(board, "eb1");
}
boucle vide()
{
static int board =1;
static int relay =1;
sprintf(cmd, "e%df" , relay);
SerialCmdDone(board, cmd);
if (++relay> 16) {
relay =1;
if (++board> MAX_BOARDS) board =1;
}
sprintf(cmd, "e%do", relay);
SerialCmdDone(board, cmd);
delay(100);
wdt_reset( );
}

Alors pourquoi ai-je besoin de contrôler autant de relais ?

Une de ces applications est l'aquaponie ou la culture hydroponique. De nombreux capteurs et appareils doivent être automatisés jusqu'à chaque lit de culture ou plante individuelle. Cela nécessite des E/S extrêmes et l'extenseur IO est à la hauteur.

Alors procurez-vous votre IO Expander aujourd'hui et construisez votre système !

Code

  • Contrôlez 64 relais avec un seul extenseur
  • Contrôlez 64 relais avec plusieurs extensions
Contrôlez 64 relais avec un seul extenseurC/C++
/* IO Expander * * Contrôle 64 relais * */#include #include "IOExpander.h"#include //#define SERIAL_DEBUG#define MAX_RELAYS 64#ifdef SERIAL_DEBUGSoftwareSerial swSerial(8,7);#endifchar cmd[10];void setup(){ Serial.begin(115200);#ifdef SERIAL_DEBUG swSerial.begin(115200); swSerialEcho =&swSerial;#endif wdt_enable(WDTO_8S); sprintf(cmd, "eb%d", MAX_RELAIS / 16); SerialCmdDone(cmd);}boucle void(){ static int i =1; sprintf(cmd, "e%df", i); SerialCmdDone(cmd); si (i++>=MAX_RELAIS) i =1 ; sprintf(cmd, "e%do", i); SerialCmdDone(cmd); retard (100); wdt_reset();}
Contrôlez 64 relais avec plusieurs extenseursC/C++
/* IO Expander * * Relayez Bonnaza avec IO Expanders ! * */#include #include "IOExpander9Bit.h"#include #define MAX_BOARDS 4char cmd[10];void setup(){ Serial9Bit.begin(115200, SERIAL_9N1) ; Serial9Bit.write(0); // Définir les extensions IO sur 9 bits wdt_enable(WDTO_8S); for (int board =1; board <=4; board++) SerialCmdDone(board, "eb1");}void loop(){ static int board =1; relais int statique =1 ; sprintf(cmd, "e%df", relais); SerialCmdDone (carte, cmd); if (++relais> 16) { relais =1; si (++ planche> MAX_BOARDS) planche =1 ; } sprintf(cmd, "e%do", relais); SerialCmdDone (carte, cmd); retard (100); wdt_reset();}

Schémas


Processus de fabrication

  1. Activez le contrôle Alexa sur votre ventilateur de plafond
  2. Contrôler l'accepteur de pièces avec Arduino
  3. Centre de contrôle Arduino
  4. Arduino avec Bluetooth pour contrôler une LED !
  5. Contrôle de l'humidificateur Arduino
  6. Arduino Nano :contrôler 2 moteurs pas à pas avec joystick
  7. Contrôlez votre LED avec Cortana
  8. Dé à coudre - Contrôle de la souris avec vos doigts
  9. Contrôle de ventilateur PWM 4 broches 25 kHz avec Arduino Uno