Orodha ya maudhui:

IOT123 - I2C 2CH RELAY BRICK: Hatua 5 (na Picha)
IOT123 - I2C 2CH RELAY BRICK: Hatua 5 (na Picha)

Video: IOT123 - I2C 2CH RELAY BRICK: Hatua 5 (na Picha)

Video: IOT123 - I2C 2CH RELAY BRICK: Hatua 5 (na Picha)
Video: IOT123 - ICOS10: STRUCTURE 2024, Novemba
Anonim
IOT123 - I2C 2CH RELAY BRICK
IOT123 - I2C 2CH RELAY BRICK
IOT123 - I2C 2CH RELAY BRICK
IOT123 - I2C 2CH RELAY BRICK
IOT123 - I2C 2CH RELAY BRICK
IOT123 - I2C 2CH RELAY BRICK
IOT123 - I2C 2CH RELAY BRICK
IOT123 - I2C 2CH RELAY BRICK

VITAMBI vya IOT123 ni vitengo vya moduli vya DIY ambavyo vinaweza kusisitizwa na VITENGE vingine vya IOT123, ili kuongeza utendaji kwa nodi au ya kuvaa. Zinategemea mraba wa inchi, protoboards zenye pande mbili na zilizounganishwa kupitia mashimo.

Idadi ya BRICK hizi zinatarajiwa kuwa kwenye nodi nyingi (Master MCUs - ESP8266 au ATTINY84) kwenye wavuti. MCU haiitaji maarifa ya awali ya madhumuni ya sensorer au mahitaji ya programu. Inatafuta nodi za I2C kisha inaomba dampo la mali (data ya sensorer) kutoka kwa kila mtumwa. Hizi BRICK zinasambaza 5.0V, 3.3V na laini nyingine ya AUX ambayo inaweza kugeuzwa kukufaa.

Hii I2C 2CH RELAY BRICK inaongeza utendaji wa I2C KY019 BRICK, na ina mali mbili za kusoma / kuandika:

2CH RELAYS [0] (kweli / uongo)

2CH RELAYS [1] (kweli / uongo)

Shimo za kupitisha karibu na ATTINY85 zimeachwa bila kutumiwa, kuwezesha programu ya pogo pogo wakati DIP8 inauzwa kwa PCB. Utaftaji zaidi, ufungaji wa MATofali katika mitungi midogo ambayo huziba kwenye kitovu cha D1M WIFI BLOCK, ikisukuma maadili kwa seva ya MQTT, inaendelezwa.

Hatua ya 1: Vifaa na Zana

Vifaa na Zana
Vifaa na Zana
Vifaa na Zana
Vifaa na Zana
Vifaa na Zana
Vifaa na Zana

Kuna orodha kamili ya Muswada wa Nyenzo na Utaftaji.

  1. Uwasilishaji wa Channel 2 (1)
  2. ATTINY85 20PU (1)
  3. 1 "Uboreshaji wa pande mbili (1)
  4. Kichwa cha kiume 90º (3P, 3P)
  5. Kichwa cha Kiume (2P, 2P)
  6. Jumper Shunt (1)
  7. Hookup waya (~ 7)
  8. Solder na Chuma (1)

Hatua ya 2: Andaa ATTINY85

Andaa MNADHARA85
Andaa MNADHARA85
Andaa MNADHARA85
Andaa MNADHARA85
Andaa MNADHARA85
Andaa MNADHARA85

KUMBUKA: Ikiwa unakusudia kuwa na ujumuishaji wa Crouton, tafadhali tumia maktaba kutoka hapa, na utumie mfano uliowekwa "attiny_2ch_relay".

AttinyCore kutoka kwa Meneja wa Bodi inahitajika. Choma bootloader "EEPROM Imebakizwa", "8mHZ ya Ndani" (usanidi wote umeonyeshwa hapo juu).

Hifadhi ya nambari inaweza kupatikana hapa.

ZIP ya maktaba inaweza kupatikana hapa.

Maagizo ya "Kuingiza Maktaba ya ZIP" hapa.

Mara tu maktaba imewekwa unaweza kufungua mfano "attiny_2ch_relay".

Ili kupakia firmware kwa ATTINY85, unaweza kupata maelezo zaidi katika mafundisho haya:

www.instructables.com/id/How-to-Program-A…

www.instructables.com/id/Programming-the-…

www.instructables.com/id/Programming-the-…

www.instructables.com/id/Programming-the-…

Bora kwa kujaribu kupitia ubao wa mkate kabla ya kuendelea.

Ikiwa una SENSORS zilizopo za ASSIMILATE, hakikisha anwani ya mtumwa ni tofauti kwenye mchanganyiko wa Jeshi la SENSOR / MCU yaani watendaji wote wa Relay wanaweza kuwa na anwani sawa ikiwa una mwigizaji mmoja tu wa Relay kwenye MCU / node.

Hatua ya 3: Kusanya Mzunguko

Kusanya Mzunguko
Kusanya Mzunguko
Kusanya Mzunguko
Kusanya Mzunguko
Kusanya Mzunguko
Kusanya Mzunguko
  1. Mbele, ingiza vifaa vya ATTINY85 (1), 3P 90deg vichwa vya kiume (2) (3), 3P vichwa vya kiume (4) (5) na kutengenezea nyuma.
  2. Kwenye nyuma, fuatilia waya wa manjano kutoka YELLOW1 hadi YELLOW2 na solder.
  3. Kwenye nyuma, fuata waya wa machungwa kutoka ORANGE1 hadi ORANGE2 na solder.
  4. Kwa nyuma, fuatilia waya wa bluu kutoka BLUE1 hadi BLUE2 na solder.
  5. Kwenye nyuma, fuatilia waya wa kijani kutoka GREEN1 hadi GREEN2 na solder.
  6. Kwenye nyuma, fuatilia waya mweusi kutoka BLACK1 hadi BLACK2 na solder.
  7. Kwenye nyuma, fuatilia waya mweusi kutoka BLACK3 hadi BLACK4 na solder.
  8. Kwa nyuma, fuatilia waya nyekundu kutoka RED1 hadi RED2 na solder.
  9. Kwenye nyuma, fuatilia waya wazi kutoka RED3 hadi RED4 na solder.
  10. Kwenye nyuma, fuatilia waya wazi kutoka SILVER1 hadi SILVER2 na solder.
  11. Ongeza jumper kwenye laini ya 5V au 3V3.

Relay sasa inaweza kushikamana moja kwa moja kupitia pini zake kwa PCB au kupitia waya, kwa alama zilizoonyeshwa kwenye mkataba wa pini.

Hatua ya 4: Upimaji

Upimaji
Upimaji
Upimaji
Upimaji
Upimaji
Upimaji
Upimaji
Upimaji

Idadi ya Matofali haya yanatarajiwa kuwa kwenye nodi nyingi (MCUs - ESP8266 au ATTINY84) katika mazingira. Huu ni mtihani wa kitengo: hutuma maagizo ya I2C kutoka UNO kwenda kwa ATTINY ambayo inafungua au kufunga relays.

Hapo awali tulijenga I2C SHIELD kwa Arduino.

Ikiwa unataka kuiweka kwenye mkate badala yake:

  1. Unganisha 5.0V kwenye UNO kwa VCC kwenye BRICK.
  2. Unganisha GND kwenye UNO na GND kwenye BRICK.
  3. Unganisha A5 kwenye UNO na SCL kwenye BRICK.
  4. Unganisha A4 kwenye UNO na SDA kwenye BRICK.
  5. Unganisha kontena la kuvuta la 4K7 kutoka SDA hadi VCC.
  6. Unganisha kontena la kuvuta la 4K7 kutoka SCL hadi VCC.

Kuendesha mtihani

  1. Unganisha UNO yako kwenye PC yako ya Dev na USB.
  2. Pakia nambari hiyo kwa UNO.
  3. Fungua Kiweko cha Arduino.
  4. Chagua baud 9600 (anzisha tena UNO na ufungue tena kiweko ikibidi).
  5. Anwani ya mtumwa itachapishwa kwenye kiweko.
  6. Wakati, ingiza kwenye sanduku la kutuma 2 0: 1 (kwa hivyo 15 2 0: 1), na relay ya CH1 inawasha.

  7. Wakati, ingiza kwenye sanduku la kutuma 2 0: 0 (kwa hivyo 15 2 0: 0), na relay ya CH1 imezimwa.
  8. Wakati, ingiza kwenye sanduku la kutuma 2 1: 1 (kwa hivyo 15 2 1: 1), na relay ya CH2 inawasha.
  9. Wakati, ingiza kwenye sanduku la kutuma 2 1: 0 (kwa hivyo 15 2 0: 0), na relay ya CH2 imezimwa.

Amri za I2C BRICK adhoc kwa watumwa kutoka kwa bwana wa UNO

# pamoja
const byte _num_chars = 32;
char _pokea_chars [_num_chars]; // safu ya kuhifadhi data iliyopokea
boolean _has_new_data = uongo;
voidetup () {
Serial. Kuanza (9600);
Serial.println ();
Serial.println ("ASSIMILATE IOT ACTOR / SENSOR EEPROM Mhariri");
Serial.println ("hakikisha laini mpya iliyochaguliwa kwenye kidirisha cha dashibodi");
Serial.println ();
Serial.println ("ANUANI 1 Thibitisha RISITI YA METADATA N / A (KWA M2M)");
Serial.println ("ANWANI 2 MWANDISHI KAAMU");
Serial.println ();
Serial.println ("ANWANI KWA BASI:");
scan_i2c_adresses ();
Serial.println ();
Serial.println ("");
}
anwani za voidscan_i2c_) () {
kifaa_ hesabu = 0;
kwa (anwani ya byte = 8; anwani <127; anwani ++)
{
Uwasilishaji wa waya (anwani);
kosa la const byte = Wire.endTransmission ();
ikiwa (kosa == 0)
{
Serial.println (anwani);
}
}
}
voidloop () {
recv_with_end_marker ();
tuma_kwa_i2c ();
}
voidrecv_with_end_marker () {
tuli byte ndx = 0;
char end_marker = '\ n';
char rc;
wakati (Serial.available ()> 0 && _has_new_data == uongo) {
rc = mfululizo.read ();
ikiwa (rc! = end_marker) {
_pokea_chars [ndx] = rc;
ndx ++;
ikiwa (ndx> = _num_chars) {
ndx = _num_chars - 1;
}
}
mwingine {
_pokea_chars [ndx] = '\ 0'; // kumaliza kamba
ndx = 0;
_has_new_data = kweli;
}
}
}
voidsend_to_i2c () {
char param_buf [16];
Kamba ya kupokewa_kambo = Kamba (_pokea_chari);
ikiwa (_has_new_data == kweli) {
int idx1 = kupokea_string.indexOf ('');
Anwani ya kamba = kupokea_string.substring (0, idx1);
anwani_int = anwani.toInt ();
ikiwa (anwani_int <8 || anwani_int> 127) {
Serial.println ("INPUT INBALID ADDRESS INPUT:");
Serial.println (anwani);
kurudi;
}
int idx2 = kupokea_string.indexOf (", idx1 + 1);
Nambari ya kamba;
ikiwa (idx2 == -1) {
nambari = kupokea_kamba.substring (idx1 + 1);
} mwingine {
nambari = kupokea_kamba.substring (idx1 + 1, idx2 + 1);
}
code_int = kificho.toInt ();
ikiwa (code_int <0 || code_int> 5) {
Serial.println ("INPUT CODE INVALID:");
Serial.println (nambari);
kurudi;
}
bool has_parameter = idx2> -1;
Kigezo cha kamba;
ikiwa (ina_paramu) {
parameter = kupokea_string.substring (idx2 + 1, idx2 + 17); // 16 chars max
ikiwa (parameter.length () <1) {
Serial.println ("PARTAMETER MIN. UREFU WA 1");
_has_new_data = uongo;
kurudi;
}
} mwingine {
ikiwa (code_int> 1) {
Serial.println ("PARAMETER INAHitajika!");
_has_new_data = uongo;
kurudi;
}
}
Serial.println ();
Serial.print ("pembejeo asili =");
Serial.println (kupokea_string);
Serial.print ("anwani =");
Serial.println (anwani);
Serial.print ("nambari =");
Serial.println (nambari);
Serial.print ("parameter =");
Serial.println (parameter);
// TUMA VIA I2C
Uwasilishaji wa waya (anwani_int);
Andika waya (code_int);
ikiwa (ina_paramu) {
parameter.trim ();
strcpy (param_buf, parameter.c_str ());
Andika waya (param_buf);
}
Uwasilishaji wa waya ();
Serial.println ();
Serial.println ("KUTUMIWA VIA I2C!");
Serial.println ();
Serial.println ("");
_has_new_data = uongo;
}
}

tazama rawuno_i2c_command_input.ino mwenyeji na ❤ na GitHub

Hatua ya 5: Hatua Zifuatazo

Hatua Zifuatazo
Hatua Zifuatazo
Hatua Zifuatazo
Hatua Zifuatazo
Hatua Zifuatazo
Hatua Zifuatazo
Hatua Zifuatazo
Hatua Zifuatazo

Ufuatiliaji ASSIMILATE ACTOR: 2CH RELAY ambayo hutumia tofali hii ina usanidi wa moja kwa moja wa Crouton kupitia metadata iliyowekwa tayari katika ATTINY85 hapa. Pakiti ya JSON iliyotumwa kwa Crouton inatumwa kupitia firmware ya hivi karibuni ya ICOS10. Unaweza kufanya Dhibitisho la dhana kwenye ESP8266 ya kawaida, ikiwa ujenzi ni mwingi sana kwa sasa.

Mchoro wa UNO uliotumiwa katika Upimaji una jukumu la kuokoa anwani mpya ya mtumwa kwa EEPROM kwenye ATTINY85, ikiwa una mgongano kwenye basi lako la I2C. Hesabu chache zimeongezwa, lakini kuna njia anuwai za kusambaza waya wa mto kulingana na kile unataka kufikia, kwa hivyo nitakuachia hiyo:)

Ilipendekeza: