Taula de continguts:
- Pas 1: Visió general
- Pas 2: què necessiteu / enllaços
- Pas 3: diagrama del circuit
- Pas 4: Programació - I
- Pas 5: Programació - II
- Pas 6: vídeo
Vídeo: Aplicació de l'MCP-23008 mitjançant la interfície de relé (I2C) :: 6 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
Hola
Bona salutació.. !!
Jo (Somanshu Choudhary) en nom de les empreses tecnològiques de Dcube que controlaran els relés mitjançant protocol I2C mitjançant Arduino nano i MCP23008.
Pas 1: Visió general
- El dispositiu MCP23X08 proporciona una expansió d'E / S paral·lela de propòsit general de 8 bits per a aplicacions de bus I2C o SPI.
- El MCP23X08 consta de múltiples registres de configuració de 8 bits per a la selecció d’entrada, sortida i polaritat. El mestre del sistema pot habilitar les E / S com a entrades o sortides escrivint els bits de configuració d'E / S. Les dades de cada entrada o sortida es guarden al registre d’entrada o sortida corresponent. La polaritat del registre del port d’entrada es pot invertir amb el registre d’inversió de polaritat. El mestre del sistema pot llegir tots els registres.
- ENLLAÇ DE FITXES DE DATES:
Pas 2: què necessiteu / enllaços
1. Arduino Nano LINK:
2. Pantalla per a Arduino Nano LINK:
3. Cable USB tipus A a micro tipus B de 6 peus de llarg
4. ENLLAÇ de cable I²C:
5. Vuit relés controlats SPDT I²C
6. ENLLAÇ de l’adaptador:
Pas 3: diagrama del circuit
Pas 4: Programació - I
- En aquest codi, faig servir paradigma de programació de funcions
- He utilitzat diferents pestanyes per definir funcions i trucar a funcions
CODI SOTA LA TAULA q:
// Codi de trucada de funció simple
#include void setup ()
{
// Adreça I2C de l'MCP23008
#define MCP_ADDR 0x20
// Uniu-vos a I2C Bus com a mestre
Wire.begin ();
// Inicieu la comunicació en sèrie i configureu la velocitat en bauds
Serial.begin (9600);
// Comenceu la transmissió amb el dispositiu donat al bus I2C
Wire.beginTransmission (MCP_ADDR);
// Seleccioneu IODIR - registre REGISTRE DIRECCIÓ E / S
Wire.write (0x00);
// Seleccioneu l'operació necessària (sortida)
Wire.write (0x00);
// Seleccioneu registre CONFIGURACIÓ
Wire.write (0x05);
// Seleccioneu l'operació necessària
Wire.write (0x0E);
// finalitzar la transmissió
Wire.endTransmission ();
}
bucle buit ()
{
a1_on ();
retard (1000);
a1_off ();
retard (1000);
a2_on ();
retard (1000);
a2_off ();
retard (1000);
a3_on ();
retard (1000);
a3_off ();
retard (1000);
a4_on ();
retard (1000);
a4_off ();
retard (1000);
a5_on ();
retard (1000);
a5_off ();
retard (1000);
a6_on ();
retard (1000);
a6_off ();
retard (1000);
a7_on ();
retard (1000);
a7_off ();
retard (1000);
a8_on ();
retard (1000);
a8_off ();
}
CODI SOBRE PESTA Q1:
// Aquest codi permet activar i desactivar el relé 1 a bord
buida a1_on () {
// Començar la transmissió
Wire.beginTransmission (MCP_ADDR);
Wire.write (0x09);
Wire.write (0x01);
retard (1800);
Wire.requestFrom (MCP_ADDR, 1);
int GPIO = Wire.read ();
Wire.endTransmission ();
// Sortida a la pantalla
Serial.print ("valor GPIO:");
Serial.println (GPIO, BIN);
}
buida a1_off ()
{
// Començar la transmissió
Wire.beginTransmission (MCP_ADDR);
Wire.write (0x09);
Wire.write (0x00);
retard (1800);
Wire.requestFrom (MCP_ADDR, 1);
int GPIO = Wire.read ();
Wire.endTransmission ();
// Sortida a la pantalla
Serial.print ("valor GPIO:");
Serial.println (GPIO, BIN);
}
CODI SOTA LA PESTA Q2:
// Aquest codi permet activar i desactivar el relé 2 a bord
buida a2_on () {
// Començar la transmissió
Wire.beginTransmission (MCP_ADDR);
Wire.write (0x09);
Wire.write (0x02);
retard (1800);
Wire.requestFrom (MCP_ADDR, 1);
int GPIO = Wire.read ();
Wire.endTransmission ();
// Sortida a la pantalla
Serial.print ("valor GPIO:");
Serial.println (GPIO, BIN);
}
buida a2_off ()
{
// Començar la transmissió
Wire.beginTransmission (MCP_ADDR);
Wire.write (0x09);
Wire.write (0x00);
retard (1800);
Wire.requestFrom (MCP_ADDR, 1);
int GPIO = Wire.read ();
Wire.endTransmission ();
// Sortida a la pantalla
Serial.print ("valor GPIO:");
Serial.println (GPIO, BIN);
}
CODI SOTA TAULA q3: // Aquest codi permet activar i desactivar el relé 3 a bord
buida a3_on ()
{
// Començar la transmissió
Wire.beginTransmission (MCP_ADDR);
Wire.write (0x09);
Wire.write (0x04);
retard (1800);
Wire.requestFrom (MCP_ADDR, 1);
int GPIO = Wire.read ();
Wire.endTransmission ();
// Sortida a la pantalla
Serial.print ("valor GPIO:");
Serial.println (GPIO, BIN);
}
buida A3_off ()
{
// Començar la transmissió
Wire.beginTransmission (MCP_ADDR);
Wire.write (0x09);
Wire.write (0x00);
retard (1800);
Wire.requestFrom (MCP_ADDR, 1);
int GPIO = Wire.read ();
Wire.endTransmission ();
// Sortida a la pantalla
Serial.print ("valor GPIO:");
Serial.println (GPIO, BIN);
}
Pas 5: Programació - II
CODI SOBRE PESTA Q4:
// Aquest codi permet activar i desactivar el relé 4 a bord
buida a4_on ()
{
// Començar la transmissió
Wire.beginTransmission (MCP_ADDR);
Wire.write (0x09);
Wire.write (0x08);
retard (1800);
Wire.requestFrom (MCP_ADDR, 1);
int GPIO = Wire.read ();
Wire.endTransmission ();
// Sortida a la pantalla
Serial.print ("valor GPIO:");
Serial.println (GPIO, BIN);
}
buida a4_off ()
{
// Començar la transmissió
Wire.beginTransmission (MCP_ADDR);
Wire.write (0x09);
Wire.write (0x00);
retard (1800);
Wire.requestFrom (MCP_ADDR, 1);
int GPIO = Wire.read ();
Wire.endTransmission ();
// Sortida a la pantalla
Serial.print ("valor GPIO:");
Serial.println (GPIO, BIN);
}
CODI SOBRE PESTA Q5:
// Aquest codi permet activar i desactivar el relé 5 a bord
buida a5_on ()
{
// Començar la transmissió
Wire.beginTransmission (MCP_ADDR);
Wire.write (0x09);
Wire.write (0x10);
retard (1800);
Wire.requestFrom (MCP_ADDR, 1);
int GPIO = Wire.read ();
Wire.endTransmission ();
// Sortida a la pantalla
Serial.print ("valor GPIO:");
Serial.println (GPIO, BIN);
}
buida a5_off ()
{
// Començar la transmissió
Wire.beginTransmission (MCP_ADDR);
Wire.write (0x09);
Wire.write (0x00);
retard (1800);
Wire.requestFrom (MCP_ADDR, 1);
int GPIO = Wire.read ();
Wire.endTransmission ();
// Sortida a la pantalla
Serial.print ("valor GPIO:");
Serial.println (GPIO, BIN);
}
CODI SOTA TAULA q6: // Aquest codi permet activar i desactivar el relé 6 a bord
buida a6_on ()
{
// Començar la transmissió
Wire.beginTransmission (MCP_ADDR);
Wire.write (0x09);
Wire.write (0x20);
retard (1800);
Wire.requestFrom (MCP_ADDR, 1);
int GPIO = Wire.read ();
Wire.endTransmission ();
// Sortida a la pantalla
Serial.print ("valor GPIO:");
Serial.println (GPIO, BIN);
}
buida a6_off ()
{
// Començar la transmissió
Wire.beginTransmission (MCP_ADDR);
Wire.write (0x09);
Wire.write (0x00);
retard (1800);
Wire.requestFrom (MCP_ADDR, 1);
int GPIO = Wire.read ();
Wire.endTransmission ();
// Sortida a la pantalla
Serial.print ("valor GPIO:");
Serial.println (GPIO, BIN);
}
CODI SOTA TAULA q7: // Aquest codi permet activar i desactivar el relé 7 a bord
buida a7_on () {
// Començar la transmissió
Wire.beginTransmission (MCP_ADDR);
Wire.write (0x09);
Wire.write (0x40);
retard (1800);
Wire.requestFrom (MCP_ADDR, 1);
int GPIO = Wire.read ();
Wire.endTransmission ();
// Sortida a la pantalla
Serial.print ("valor GPIO:");
Serial.println (GPIO, BIN);
}
buida a7_off ()
{
// Començar la transmissió
Wire.beginTransmission (MCP_ADDR);
Wire.write (0x09);
Wire.write (0x00);
retard (1800);
Wire.requestFrom (MCP_ADDR, 1);
int GPIO = Wire.read ();
Wire.endTransmission ();
// Sortida a la pantalla
Serial.print ("valor GPIO:");
Serial.println (GPIO, BIN);
}
CODI SOTA TAULA q8: // Aquest codi permet activar i desactivar el relé 8 a bord
buida a8_on () {
// Començar la transmissió
Wire.beginTransmission (MCP_ADDR);
Wire.write (0x09);
Wire.write (0x80);
retard (1800);
Wire.requestFrom (MCP_ADDR, 1);
int GPIO = Wire.read ();
Wire.endTransmission ();
// Sortida a la pantalla
Serial.print ("valor GPIO:");
Serial.println (GPIO, BIN);
}
buida a8_off ()
{
// Començar la transmissió
Wire.beginTransmission (MCP_ADDR);
Wire.write (0x09);
Wire.write (0x00);
retard (1800);
Wire.requestFrom (MCP_ADDR, 1);
int GPIO = Wire.read ();
Wire.endTransmission ();
// Sortida a la pantalla
Serial.print ("valor GPIO:");
Serial.println (GPIO, BIN);
}
Pas 6: vídeo
Per a més consultes, no dubteu a visitar el nostre lloc:
www.dcubetechnologies.com
Recomanat:
Control de led mitjançant l'aplicació Blynk mitjançant Nodemcu a través d'Internet: 5 passos
Control de led mitjançant l'aplicació Blynk mitjançant Nodemcu a través d'Internet: Hola a tothom avui us mostrarem com podeu controlar un LED mitjançant un telèfon intel·ligent a través d'Internet
Introducció a la interfície del sensor I2C ?? - Interfície del MMA8451 mitjançant ESP32: 8 passos
Introducció a la interfície del sensor I2C ?? - Interfície del MMA8451 mitjançant ESP32s: en aquest tutorial, aprendreu tot sobre com iniciar, connectar-se i aconseguir que el dispositiu I2C (acceleròmetre) funcioni amb el controlador (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
Interfície home-ordinador: Funcionament d'un agafador (fabricat per Kirigami) mitjançant el moviment del canell mitjançant EMG .: 7 passos
Interfície home-ordinador: Funcionament d’un agafador (fabricat per Kirigami) mitjançant el moviment del canell mitjançant EMG .: Així que aquest va ser el meu primer intent en una interfície home-ordinador. Vaig capturar els senyals d’activació muscular del moviment del canell mitjançant un sensor EMG, el vaig processar a través de python i arduino i va accionar una pinça basada en origami
Hola Blynk! Interfície de l'SPEEEduino amb l'aplicació Blynk: 5 passos
Hola Blynk! Interfacer SPEEEduino amb l'aplicació Blynk: Què és SPEEEduino? L'SPEEEduino és una placa de microcontrolador habilitada per a Wi-Fi basada al voltant de l'ecosistema Arduino, creada per a educadors. El SPEEEduino combina el factor de forma i el microcontrolador de l’Arduino amb el SoC Wi-Fi ESP8266, fent
Controlar Arduino mitjançant un telèfon intel·ligent mitjançant USB amb l'aplicació Blynk: 7 passos (amb imatges)
Controlar Arduino mitjançant un telèfon intel·ligent mitjançant USB amb l’aplicació Blynk: en aquest tutorial, aprendrem a utilitzar l’aplicació Blynk i Arduino per controlar la llum, la combinació es farà a través del port sèrie USB. la solució més senzilla que controla remotament el vostre Arduino o c