Orodha ya maudhui:

IOT123 - I2C KY019 BRICK: 5 Hatua
IOT123 - I2C KY019 BRICK: 5 Hatua

Video: IOT123 - I2C KY019 BRICK: 5 Hatua

Video: IOT123 - I2C KY019 BRICK: 5 Hatua
Video: Keyboard PCB | Serial output | Alphabet Numbers Signs 2024, Julai
Anonim
IOT123 - I2C KY019 BRICK
IOT123 - I2C KY019 BRICK
IOT123 - I2C KY019 BRICK
IOT123 - I2C KY019 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.

Brick hii ya I2C KY019 ndiye wa kwanza wa watendaji, na ina mali moja ya kusoma / kuandika:

Badilisha (kweli / uongo)

Matofali ya sensa ya aina ya Keyes yatatolewa kwanza wanapokuja na vitamini (vifaa vya ziada vinahitajika) vimejumuishwa na ni duni (nilinunua 37 kwa 10AUD). Bodi / nyaya zingine zitaletwa kwa I2C BRICKS.

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. Kupitishwa kwa KY-019 (1)
  2. ATTINY85 20PU (1)
  3. 1 "Uboreshaji wa pande mbili (1)
  4. Kichwa cha kiume 90º (3P, 3P)
  5. Hookup waya (~ 7)
  6. 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_ky019".

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_ky019".

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

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

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

www.instructables.com/id/How-to-program-th…

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

www.instructables.com/id/Programming-an-At…

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
Kusanya Mzunguko
Kusanya Mzunguko
  1. Mbele, ingiza vifaa vya ATTINY85 (1), 3P 90deg vichwa vya kiume (2) (3), na ugeuze nyuma.
  2. Kwenye nyuma, fuatilia waya wa manjano kutoka YELLOW1 hadi YELLOW2 na solder.
  3. Kwa nyuma, fuatilia waya wa bluu kutoka BLUE1 hadi BLUE2 na solder.
  4. Kwenye nyuma, fuatilia waya wa kijani kutoka GREEN1 hadi GREEN2 na solder.
  5. Kwenye nyuma, fuatilia waya mweusi kutoka BLACK1 hadi BLACK2 na solder.
  6. Kwenye nyuma, fuatilia waya mweusi kutoka BLACK3 hadi BLACK4 na solder.
  7. Kwa nyuma, fuatilia waya nyekundu kutoka RED1 hadi RED2 na solder.
  8. Kwa nyuma, fuatilia waya mwekundu kutoka RED3 hadi RED4 na solder.

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

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 kwa ATTINY ambayo inafungua au kufunga relay.

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 Arduino Console. Chagua baud 9600 (anzisha tena UNO na ufungue tena kiweko ikiwa lazima).
  4. Anwani ya mtumwa itachapishwa ili kufariji.
  5. Wakati, ingiza kwenye sanduku la kutuma 2 1 (hivyo 12 2 1), na relay inawasha.
  6. Wakati, ingiza kwenye sanduku la kutuma 2 0 (kwa hivyo 12 2 0), na relay 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: KY019 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: