Orodha ya maudhui:

Matumizi ya MCP-23008 Kutumia Relay Interface (I2C) :: 6 Hatua
Matumizi ya MCP-23008 Kutumia Relay Interface (I2C) :: 6 Hatua

Video: Matumizi ya MCP-23008 Kutumia Relay Interface (I2C) :: 6 Hatua

Video: Matumizi ya MCP-23008 Kutumia Relay Interface (I2C) :: 6 Hatua
Video: MATUMIZI YA ULIMI (Official Gospel Video -HD) 2024, Novemba
Anonim
Matumizi ya MCP-23008 Kutumia Relay Interface (I2C)
Matumizi ya MCP-23008 Kutumia Relay Interface (I2C)

Halo

Salamu Njema.. !!

Mimi (Somanshu Choudhary) kwa niaba ya biashara ya teknolojia ya Dcube inayoenda kudhibiti Relays kupitia itifaki ya I2C ikitumia Arduino nano na MCP23008.

Hatua ya 1: Muhtasari

Maelezo ya jumla
Maelezo ya jumla
  • Kifaa cha MCP23X08 hutoa 8-bit, kusudi la jumla, upanuzi wa I / O sambamba kwa matumizi ya basi ya I2C au SPI.
  • MCP23X08 ina rejista kadhaa za usanidi wa 8-bit za uingizaji, pato na uteuzi wa polarity. Bwana wa mfumo anaweza kuwezesha I / Os kama pembejeo au matokeo kwa kuandika bits za usanidi wa I / O. Takwimu za kila pembejeo au pato huhifadhiwa kwenye rejista inayofanana ya Pembejeo au Pato. Polarity ya rejista ya Bandari ya Kuingiza inaweza kubadilishwa na rejista ya Inversion ya Polarity. Rejista zote zinaweza kusomwa na bwana wa mfumo.
  • KIUNGO CHA DATASHEET:

Hatua ya 2: Unachohitaji / Viungo

Unachohitaji / Viungo
Unachohitaji / Viungo

1. KIUNGO cha Arduino Nano:

2. Shield kwa Arduino Nano LINK:

3. Cable ya USB Type A kwa Aina ndogo ya B 6 Miguu Mirefu

4. Kiungo cha Cable cha IC:

5. Reli Nane za SPDT I²C Zinazodhibitiwa

6. KIUNGO cha adapta:

Hatua ya 3: Mchoro wa Mzunguko

Mchoro wa Mzunguko
Mchoro wa Mzunguko
Mchoro wa Mzunguko
Mchoro wa Mzunguko

Hatua ya 4: Programu - I

Kupanga programu - I
Kupanga programu - I
Kupanga programu - I
Kupanga programu - I
  • Katika nambari hii, ninatumia Paradigm ya Kupanga Kazi
  • Nilitumia tabo tofauti kwa ufafanuzi wa kazi na wito wa kazi

KANUNI CHINI YA TAB q:

// Msimbo rahisi wa kupiga simu

pamoja na usanidi batili ()

{

// Anwani ya I2C ya MCP23008

#fafanua MCP_ADDR 0x20

// Jiunge na I2C Basi kama bwana

Wire.begin ();

// Anza mawasiliano ya serial na weka kiwango cha baud

Kuanzia Serial (9600);

// Anza usambazaji na kifaa kilichopewa kwenye basi ya I2C

Uwasilishaji wa waya (MCP_ADDR);

// Chagua IODIR - I / O Daftari la USAJILI WA USAJILI

Andika waya (0x00);

// Chagua operesheni inayohitajika (pato)

Andika waya (0x00);

// Chagua rejista ya UFUNZO

Andika waya (0x05);

// Chagua operesheni inayohitajika

Andika waya (0x0E);

// maambukizi ya mwisho

Uwasilishaji wa waya ();

}

kitanzi batili ()

{

a1_on ();

kuchelewesha (1000);

a1_off ();

kuchelewesha (1000);

a2_on ();

kuchelewesha (1000);

a2_off ();

kuchelewesha (1000);

a3_on ();

kuchelewesha (1000);

a3_off ();

kuchelewesha (1000);

a4_on ();

kuchelewesha (1000);

a4_off ();

kuchelewesha (1000);

a5_kwenye ();

kuchelewesha (1000);

a5_off ();

kuchelewesha (1000);

a6_on ();

kuchelewesha (1000);

a6_off ();

kuchelewesha (1000);

a7_on ();

kuchelewesha (1000);

a7_off ();

kuchelewesha (1000);

a8_on ();

kuchelewesha (1000);

a8_off ();

}

KANUNI CHINI YA TAB q1:

// Nambari hii inapaswa kurejea na kuzima 1 kwenye bodi

batili a1_on () {

// Anza maambukizi

Uwasilishaji wa waya (MCP_ADDR);

Andika waya (0x09);

Andika waya (0x01);

kuchelewesha (1800);

Ombi la Wire. Toka (MCP_ADDR, 1);

int GPIO = Wire.read ();

Uwasilishaji wa waya ();

// Pato kwa skrini

Serial.print ("Thamani ya GPIO:");

Serial.println (GPIO, BIN);

}

batili a1_off ()

{

// Anza maambukizi

Uwasilishaji wa waya (MCP_ADDR);

Andika waya (0x09);

Andika waya (0x00);

kuchelewesha (1800);

Ombi la Wire. Toka (MCP_ADDR, 1);

int GPIO = Wire.read ();

Uwasilishaji wa waya ();

// Pato kwa skrini

Serial.print ("Thamani ya GPIO:");

Serial.println (GPIO, BIN);

}

KANUNI CHINI YA TAB q2:

// Nambari hii inapaswa kuwasha na kuzima tena 2 kwenye bodi

batili a2_on () {

// Anza maambukizi

Uwasilishaji wa waya (MCP_ADDR);

Andika waya (0x09);

Andika waya (0x02);

kuchelewesha (1800);

Ombi la Wire. Toka (MCP_ADDR, 1);

int GPIO = Wire.read ();

Uwasilishaji wa waya ();

// Pato kwa skrini

Serial.print ("Thamani ya GPIO:");

Serial.println (GPIO, BIN);

}

utupu a2_off ()

{

// Anza maambukizi

Uwasilishaji wa waya (MCP_ADDR);

Andika waya (0x09);

Andika waya (0x00);

kuchelewesha (1800);

Ombi la Wire. Toka (MCP_ADDR, 1);

int GPIO = Wire.read ();

Uwasilishaji wa waya ();

// Pato kwa skrini

Serial.print ("Thamani ya GPIO:");

Serial.println (GPIO, BIN);

}

CODE CHINI YA TAB q3: // Nambari hii inapaswa kuwashwa na kutolewa tena kwenye bodi

batili a3_on ()

{

// Anza maambukizi

Uwasilishaji wa waya (MCP_ADDR);

Andika waya (0x09);

Andika waya (0x04);

kuchelewesha (1800);

Ombi la Wire. Toka (MCP_ADDR, 1);

int GPIO = Wire.read ();

Uwasilishaji wa waya ();

// Pato kwa skrini

Serial.print ("Thamani ya GPIO:");

Serial.println (GPIO, BIN);

}

batili a3_off ()

{

// Anza maambukizi

Uwasilishaji wa waya (MCP_ADDR);

Andika waya (0x09);

Andika waya (0x00);

kuchelewesha (1800);

Ombi la Wire. Toka (MCP_ADDR, 1);

int GPIO = Wire.read ();

Uwasilishaji wa waya ();

// Pato kwa skrini

Serial.print ("Thamani ya GPIO:");

Serial.println (GPIO, BIN);

}

Hatua ya 5: Programu - II

Programu - II
Programu - II

KANUNI CHINI YA TAB q4:

// Nambari hii inapaswa kuwasha na kuzima tena 4 kwenye ubao

tupu a4_on ()

{

// Anza maambukizi

Uwasilishaji wa waya (MCP_ADDR);

Andika waya (0x09);

Andika waya (0x08);

kuchelewesha (1800);

Ombi la Wire. Toka (MCP_ADDR, 1);

int GPIO = Wire.read ();

Uwasilishaji wa waya ();

// Pato kwa skrini

Serial.print ("Thamani ya GPIO:");

Serial.println (GPIO, BIN);

}

tupu a4_off ()

{

// Anza maambukizi

Uwasilishaji wa waya (MCP_ADDR);

Andika waya (0x09);

Andika waya (0x00);

kuchelewesha (1800);

Ombi la Wire. Toka (MCP_ADDR, 1);

int GPIO = Wire.read ();

Uwasilishaji wa waya ();

// Pato kwa skrini

Serial.print ("Thamani ya GPIO:");

Serial.println (GPIO, BIN);

}

KANUNI CHINI YA TAB q5:

// Nambari hii inapaswa kuwasha na kurudi tena 5 kwenye bodi

batili a5_on ()

{

// Anza maambukizi

Uwasilishaji wa waya (MCP_ADDR);

Andika waya (0x09);

Andika waya (0x10);

kuchelewesha (1800);

Ombi la Wire. Toka (MCP_ADDR, 1);

int GPIO = Wire.read ();

Uwasilishaji wa waya ();

// Pato kwa skrini

Serial.print ("Thamani ya GPIO:");

Serial.println (GPIO, BIN);

}

batili a5_off ()

{

// Anza maambukizi

Uwasilishaji wa waya (MCP_ADDR);

Andika waya (0x09);

Andika waya (0x00);

kuchelewesha (1800);

Ombi la Wire. Toka (MCP_ADDR, 1);

int GPIO = Wire.read ();

Uwasilishaji wa waya ();

// Pato kwa skrini

Serial.print ("Thamani ya GPIO:");

Serial.println (GPIO, BIN);

}

CODE CHINI YA TAB q6: // Nambari hii inapaswa kuwashwa na kutolewa tena kwenye bodi

batili a6_on ()

{

// Anza maambukizi

Uwasilishaji wa waya (MCP_ADDR);

Andika waya (0x09);

Andika waya (0x20);

kuchelewesha (1800);

Ombi la Wire. Toka (MCP_ADDR, 1);

int GPIO = Wire.read ();

Uwasilishaji wa waya ();

// Pato kwa skrini

Serial.print ("Thamani ya GPIO:");

Serial.println (GPIO, BIN);

}

batili a6_off ()

{

// Anza maambukizi

Uwasilishaji wa waya (MCP_ADDR);

Andika waya (0x09);

Andika waya (0x00);

kuchelewesha (1800);

Ombi la Wire. Toka (MCP_ADDR, 1);

int GPIO = Wire.read ();

Uwasilishaji wa waya ();

// Pato kwa skrini

Serial.print ("Thamani ya GPIO:");

Serial.println (GPIO, BIN);

}

CODE CHINI YA TAB q7: // Nambari hii inapaswa kuwashwa na kutolewa tena kwenye bodi

batili a7_on () {

// Anza maambukizi

Uwasilishaji wa waya (MCP_ADDR);

Andika waya (0x09);

Andika waya (0x40);

kuchelewesha (1800);

Ombi la Wire. Toka (MCP_ADDR, 1);

int GPIO = Wire.read ();

Uwasilishaji wa waya ();

// Pato kwa skrini

Serial.print ("Thamani ya GPIO:");

Serial.println (GPIO, BIN);

}

utupu a7_off ()

{

// Anza maambukizi

Uwasilishaji wa waya (MCP_ADDR);

Andika waya (0x09);

Andika waya (0x00);

kuchelewesha (1800);

Ombi la Wire. Toka (MCP_ADDR, 1);

int GPIO = Wire.read ();

Uwasilishaji wa waya ();

// Pato kwa skrini

Serial.print ("Thamani ya GPIO:");

Serial.println (GPIO, BIN);

}

CODE CHINI YA TAB q8: // Nambari hii inapaswa kuwashwa na kutolewa tena 8 kwenye ubao

batili a8_on () {

// Anza maambukizi

Uwasilishaji wa waya (MCP_ADDR);

Andika waya (0x09);

Andika waya (0x80);

kuchelewesha (1800);

Ombi la Wire. Toka (MCP_ADDR, 1);

int GPIO = Wire.read ();

Uwasilishaji wa waya ();

// Pato kwa skrini

Serial.print ("Thamani ya GPIO:");

Serial.println (GPIO, BIN);

}

batili a8_off ()

{

// Anza maambukizi

Uwasilishaji wa waya (MCP_ADDR);

Andika waya (0x09);

Andika waya (0x00);

kuchelewesha (1800);

Ombi la Wire. Toka (MCP_ADDR, 1);

int GPIO = Wire.read ();

Uwasilishaji wa waya ();

// Pato kwa skrini

Serial.print ("Thamani ya GPIO:");

Serial.println (GPIO, BIN);

}

Hatua ya 6: Video

Kwa quires zaidi Jisikie huru kutembelea tovuti yetu:

www.dcubetechnologies.com

Ilipendekeza: