Innholdsfortegnelse:

Påføring av MCP-23008 ved bruk av relégrensesnitt (I2C) :: 6 trinn
Påføring av MCP-23008 ved bruk av relégrensesnitt (I2C) :: 6 trinn

Video: Påføring av MCP-23008 ved bruk av relégrensesnitt (I2C) :: 6 trinn

Video: Påføring av MCP-23008 ved bruk av relégrensesnitt (I2C) :: 6 trinn
Video: Påføring av lim på steinpanel 2024, November
Anonim
Anvendelse av MCP-23008 ved bruk av relégrensesnitt (I2C)
Anvendelse av MCP-23008 ved bruk av relégrensesnitt (I2C)

Hallo

God hilsen.. !!

Jeg (Somanshu Choudhary) på vegne av Dcube tech ventures som skal kontrollere reléer via I2C -protokollen ved bruk av Arduino nano og MCP23008.

Trinn 1: Oversikt

Oversikt
Oversikt
  • MCP23X08-enheten gir 8-bits, parallelle I/O-utvidelser for generelle formål for I2C-busser eller SPI-applikasjoner.
  • MCP23X08 består av flere 8-biters konfigurasjonsregistre for valg av input, output og polaritet. Systemmesteren kan aktivere I/Os som enten innganger eller utganger ved å skrive I/O -konfigurasjonsbitene. Dataene for hver inngang eller utgang lagres i det tilsvarende Input- eller Output -registeret. Polariteten til Input Port -registeret kan inverteres med Polarity Inversion -registeret. Alle registre kan leses av systemmesteren.
  • DATABLAD:

Trinn 2: Hva du trenger / lenker

Det du trenger / lenker
Det du trenger / lenker

1. Arduino Nano LINK:

2. skjerm for Arduino Nano LINK:

3. USB -kabel Type A til Micro Type B 6 fot lang

4. I²C kabel LINK:

5. Åtte SPDT I²C kontrollerte reléer

6. Adapter LINK:

Trinn 3: Kretsdiagram

Kretsdiagram
Kretsdiagram
Kretsdiagram
Kretsdiagram

Trinn 4: Programmering - I

Programmering - I
Programmering - I
Programmering - I
Programmering - I
  • I denne koden bruker jeg Function Programming Paradigm
  • Jeg brukte forskjellige faner for definisjon av funksjoner og funksjonskall

KODE UNDER FAN q:

// Enkel funksjonskode

#include void setup ()

{

// I2C -adresse til MCP23008

#define MCP_ADDR 0x20

// Bli med I2C Bus som master

Wire.begin ();

// Start seriell kommunikasjon og angi overføringshastighet

Serial.begin (9600);

// Start overføringen med en gitt enhet på I2C -bussen

Wire.beginTransmission (MCP_ADDR);

// Velg IODIR - I/O DIRECTION REGISTER register

Wire.write (0x00);

// Velg ønsket operasjon (utgang)

Wire.write (0x00);

// Velg CONFIGURATION register

Wire.write (0x05);

// Velg ønsket operasjon

Wire.write (0x0E);

// avslutte overføring

Wire.endTransmission ();

}

hulrom ()

{

a1_on ();

forsinkelse (1000);

a1_off ();

forsinkelse (1000);

a2_on ();

forsinkelse (1000);

a2_off ();

forsinkelse (1000);

a3_on ();

forsinkelse (1000);

a3_off ();

forsinkelse (1000);

a4_on ();

forsinkelse (1000);

a4_off ();

forsinkelse (1000);

a5_on ();

forsinkelse (1000);

a5_off ();

forsinkelse (1000);

a6_on ();

forsinkelse (1000);

a6_off ();

forsinkelse (1000);

a7_on ();

forsinkelse (1000);

a7_off ();

forsinkelse (1000);

a8_on ();

forsinkelse (1000);

a8_off ();

}

KODE UNDER FAN q1:

// Denne koden er til og av relé 1 om bord

ugyldig a1_on () {

// Start overføringen

Wire.beginTransmission (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x01);

forsinkelse (1800);

Wire.requestFrom (MCP_ADDR, 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// Utgang til skjermen

Serial.print ("GPIO -verdi:");

Serial.println (GPIO, BIN);

}

ugyldig a1_off ()

{

// Start overføringen

Wire.beginTransmission (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x00);

forsinkelse (1800);

Wire.requestFrom (MCP_ADDR, 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// Utgang til skjermen

Serial.print ("GPIO -verdi:");

Serial.println (GPIO, BIN);

}

KODE UNDER FAN q2:

// Denne koden er til og av relé 2 om bord

ugyldig a2_on () {

// Start overføringen

Wire.beginTransmission (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x02);

forsinkelse (1800);

Wire.requestFrom (MCP_ADDR, 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// Utgang til skjermen

Serial.print ("GPIO -verdi:");

Serial.println (GPIO, BIN);

}

ugyldig a2_off ()

{

// Start overføringen

Wire.beginTransmission (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x00);

forsinkelse (1800);

Wire.requestFrom (MCP_ADDR, 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// Utgang til skjermen

Serial.print ("GPIO -verdi:");

Serial.println (GPIO, BIN);

}

KODE UNDER TABEL q3: // Denne koden er til på og av relé 3 om bord

ugyldig a3_on ()

{

// Start overføringen

Wire.beginTransmission (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x04);

forsinkelse (1800);

Wire.requestFrom (MCP_ADDR, 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// Utgang til skjermen

Serial.print ("GPIO -verdi:");

Serial.println (GPIO, BIN);

}

ugyldig a3_off ()

{

// Start overføringen

Wire.beginTransmission (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x00);

forsinkelse (1800);

Wire.requestFrom (MCP_ADDR, 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// Utgang til skjermen

Serial.print ("GPIO -verdi:");

Serial.println (GPIO, BIN);

}

Trinn 5: Programmering - II

Programmering - II
Programmering - II

KODE UNDER TABEL q4:

// Denne koden er til og av relé 4 om bord

ugyldig a4_on ()

{

// Start overføringen

Wire.beginTransmission (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x08);

forsinkelse (1800);

Wire.requestFrom (MCP_ADDR, 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// Utgang til skjermen

Serial.print ("GPIO -verdi:");

Serial.println (GPIO, BIN);

}

ugyldig a4_off ()

{

// Start overføringen

Wire.beginTransmission (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x00);

forsinkelse (1800);

Wire.requestFrom (MCP_ADDR, 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// Utgang til skjermen

Serial.print ("GPIO -verdi:");

Serial.println (GPIO, BIN);

}

KODE UNDER FAN q5:

// Denne koden er til og av relé 5 om bord

ugyldig a5_on ()

{

// Start overføringen

Wire.beginTransmission (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x10);

forsinkelse (1800);

Wire.requestFrom (MCP_ADDR, 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// Utgang til skjermen

Serial.print ("GPIO -verdi:");

Serial.println (GPIO, BIN);

}

ugyldig a5_off ()

{

// Start overføringen

Wire.beginTransmission (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x00);

forsinkelse (1800);

Wire.requestFrom (MCP_ADDR, 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// Utgang til skjermen

Serial.print ("GPIO -verdi:");

Serial.println (GPIO, BIN);

}

KODE UNDER TABELL q6: // Denne koden er til på og av relé 6 om bord

ugyldig a6_on ()

{

// Start overføringen

Wire.beginTransmission (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x20);

forsinkelse (1800);

Wire.requestFrom (MCP_ADDR, 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// Utgang til skjermen

Serial.print ("GPIO -verdi:");

Serial.println (GPIO, BIN);

}

ugyldig a6_off ()

{

// Start overføringen

Wire.beginTransmission (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x00);

forsinkelse (1800);

Wire.requestFrom (MCP_ADDR, 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// Utgang til skjermen

Serial.print ("GPIO -verdi:");

Serial.println (GPIO, BIN);

}

KODE UNDER TABELL q7: // Denne koden er til på og av relé 7 om bord

ugyldig a7_on () {

// Start overføringen

Wire.beginTransmission (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x40);

forsinkelse (1800);

Wire.requestFrom (MCP_ADDR, 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// Utgang til skjermen

Serial.print ("GPIO -verdi:");

Serial.println (GPIO, BIN);

}

ugyldig a7_off ()

{

// Start overføringen

Wire.beginTransmission (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x00);

forsinkelse (1800);

Wire.requestFrom (MCP_ADDR, 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// Utgang til skjermen

Serial.print ("GPIO -verdi:");

Serial.println (GPIO, BIN);

}

KODE UNDER TABELL q8: // Denne koden er til på og av relé 8 om bord

ugyldig a8_on () {

// Start overføringen

Wire.beginTransmission (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x80);

forsinkelse (1800);

Wire.requestFrom (MCP_ADDR, 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// Utgang til skjermen

Serial.print ("GPIO -verdi:");

Serial.println (GPIO, BIN);

}

ugyldig a8_off ()

{

// Start overføringen

Wire.beginTransmission (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x00);

forsinkelse (1800);

Wire.requestFrom (MCP_ADDR, 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// Utgang til skjermen

Serial.print ("GPIO -verdi:");

Serial.println (GPIO, BIN);

}

Trinn 6: Video

For ytterligere spørsmål Besøk gjerne nettstedet vårt:

www.dcubetechnologies.com

Anbefalt: