Orodha ya maudhui:
- Hatua ya 1: Muhtasari
- Hatua ya 2: Unachohitaji / Viungo
- Hatua ya 3: Mchoro wa Mzunguko
- Hatua ya 4: Programu - I
- Hatua ya 5: Programu - II
- Hatua ya 6: Video
Video: Matumizi ya MCP-23008 Kutumia Relay Interface (I2C) :: 6 Hatua
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:51
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
- 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
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
Hatua ya 4: 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
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:
Matumizi ya LED ya Matumizi ya Sauti ya DIY: Hatua 6
Matumizi ya LED ya Matumizi ya Sauti ya DIY: Je! Umewahi kuhisi hitaji la tumbo laini la RGB na kipengee cha athari ya sauti, lakini ikapata ugumu sana kutengeneza au ghali sana kununua? Kweli, sasa subira yako imeisha. Unaweza kuwa na tumbo baridi la Reactive RGB LED katika chumba chako. Instru hii
Kupunguza Matumizi ya Nguvu ya Relay - Kushikilia Dhidi ya Kuchukua Sasa: 3 Hatua
Kupunguza Matumizi ya Nguvu ya Kupitisha - Kushikilia Dhidi ya Kuchukua Kwa Sasa: Reli nyingi zinahitaji zaidi ya sasa ili kufanya kazi mwanzoni kuliko inavyotakiwa kushikilia upelekaji mara tu mawasiliano yamefungwa. Ya sasa inahitajika kushikilia relay kwenye (Holding current) inaweza kuwa chini sana kuliko sasa ya awali inayohitajika actu
Sonoff Basic Wifi Extender - MQTT Relay Relay Relay - 5v DC Low Voltage: 6 Hatua
Sonoff Basic Wifi Extender - MQTT Dry Relay Relay - 5v DC Low Voltage: Ok nilikuwa na vifaa vya msingi vya kizazi cha kwanza cha Sonoff na sitaki kuzitumia na 220v kwani hazikuwa salama bado katika toleo hilo. Walikuwa wamelala karibu kwa muda wakisubiri kufanya kitu nao. Kwa hivyo nilijikwaa kwenye kijeshi cha martin-ger
Jinsi ya Kudhibiti Bulbu kwa Kutumia Arduino UNO na Kituo kimoja cha Modeli ya Relay State Relay: 3 Hatua
Jinsi ya Kudhibiti Bulbu kwa Kutumia Arduino UNO na Moduli Moja ya Relay State Relay Module: Maelezo: Inalinganishwa na relay ya jadi ya mitambo, Solid State Relay (SSR) ina faida nyingi: ina maisha marefu, na kuwasha zaidi / mbali na hakuna kelele. Mbali na hilo, pia ina upinzani bora kwa vibration na mitambo
Jinsi ya Kupima kwa usahihi Matumizi ya Nguvu ya Moduli za Mawasiliano zisizo na waya katika Enzi ya Matumizi ya Nguvu ya Chini ?: Hatua 6
Jinsi ya Kupima kwa usahihi Matumizi ya Nguvu ya Moduli za Mawasiliano zisizo na waya katika Enzi ya Matumizi ya Nguvu ya Chini? Node nyingi za IOT zinahitaji kuwezeshwa na betri. Ni kwa kupima kwa usahihi matumizi ya nguvu ya moduli isiyo na waya tunaweza kukadiria kwa usahihi ni kiasi gani cha betri i