Orodha ya maudhui:

IOT123 - I2C MOYO WA TATIZO: 6 Hatua
IOT123 - I2C MOYO WA TATIZO: 6 Hatua

Video: IOT123 - I2C MOYO WA TATIZO: 6 Hatua

Video: IOT123 - I2C MOYO WA TATIZO: 6 Hatua
Video: IOT123 - ICOS10: STRUCTURE 2024, Novemba
Anonim
IOT123 - I2C TENGO LA MOYO
IOT123 - I2C TENGO LA MOYO
IOT123 - I2C TENGO LA MOYO
IOT123 - I2C TENGO LA MOYO
IOT123 - I2C MOYO WA TATIZO
IOT123 - I2C MOYO WA TATIZO

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.

Tofali hii ya I2C HEARTBEAT inaonyesha kama mtumwa wa ATTINY yuko hai, pia trafiki ya I2C, na ana mali moja:

HALI ("HAI")

PB1 (nyeupe) inaonyesha afya ya ATTINY.

PB3 (ya manjano) inabadilisha na maombi ya I2C kutoka kwa bwana.

PB4 (machungwa) inageuza I2C kupokea kutoka kwa bwana.

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
Vifaa na Zana
Vifaa na Zana

Kuna orodha kamili ya Muswada wa Nyenzo na Utaftaji.

  1. Karatasi PCB (mashimo 7 x 7)
  2. LEDS (Nyekundu, Kijani, Bluu)
  3. Resistors (3 off 1K)
  4. ATTINY85 20PU (1)
  5. 1 "Uboreshaji wa pande mbili (1)
  6. Kichwa cha kiume 90º (3P, 3P)
  7. Kichwa cha Kiume (2P, 2P)
  8. Jumper Shunt (1)
  9. Hookup waya (~ 7)
  10. Solder na Chuma (1)

Hatua ya 2: Andaa ATTINY85

Andaa MNADHARA85
Andaa MNADHARA85
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_heartbeat"

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

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

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

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

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

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

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 n.k. wahusika wote wa Relay wanaweza kuwa na anwani sawa ikiwa una muigizaji mmoja tu wa Relay kwenye MCU / node.

Hatua ya 3: Kukusanya Viashiria

Kukusanya Viashiria
Kukusanya Viashiria
Kukusanya Viashiria
Kukusanya Viashiria
Kukusanya Viashiria
Kukusanya Viashiria

Viashiria vinalenga kubadilishwa kikamilifu. Ni ishara za hafla kutoka kwa mzunguko kuu ambazo zinaonekana kama Mapigo ya Moyo. Kwa ujenzi huu tutatumia viashiria vya LED; ujenzi wako unaweza kutumia relays (ndio VCC imevunjwa) au kiashiria kingine cha kuona / ishara. Thamani za kupinga zitategemea upendeleo wa kibinafsi juu ya jinsi unavyotaka mkali.

  1. Juu, ingiza LED ya bluu kwenye RED1 (+) na BLACK1 (G), na solder chini.
  2. Kwenye chini, piga risasi kutoka RED1 kwa hivyo inagusa pedi ya shaba kwenye SILVER8 na punguza.
  3. Kwenye chini, punguza risasi kutoka kwa BLACK1 hapo juu.
  4. Juu, ingiza LED ya kijani ndani ya RED2 (+) na BLACK2 (G), na solder chini.
  5. Kwenye chini, piga risasi kutoka RED2 kwa hivyo inagusa pedi ya shaba kwenye SILVER9 na punguza.
  6. Kwenye chini, punguza risasi kutoka BLACK2 juu ya solder.
  7. Juu, ingiza LED nyekundu kwenye RED3 (+) na BLACK3 (G), na solder chini.
  8. Kwenye chini, piga risasi kutoka RED3 kwa hivyo inagusa pedi ya shaba kwenye SILVER10 na trim.
  9. Kwenye chini, punguza risasi kutoka BLACK3 juu ya solder.
  10. Juu, ingiza kontena la 1K kwenye mashimo kupitia SILVER1 na SILVER4.
  11. Chini, fuatilia, punguza na risasi ya risasi kutoka SILVER1 kuingia BLACK1.
  12. Juu, ingiza kontena la 1K kwenye mashimo kupitia SILVER2 na SILVER4.
  13. Chini, fuatilia, punguza na risasi ya risasi kutoka SILVER2 kuelekea BLACK2.
  14. Juu, ingiza kontena la 1K kwenye mashimo kupitia SILVER3 na SILVER4.
  15. Chini, fuatilia, punguza na risasi ya risasi kutoka SILVER3 kuingia BLACK3.
  16. Chini, waya za solder kwenye SILVER4 na trim karibu 5mm kupanua.
  17. Kwenye chini, solder waya mweusi kwenye SILVER4.
  18. Kwenye chini, tengeneza waya mweupe kwenye SILVER5, kuhakikisha mwendelezo wa kuongoza kutoka RED1.
  19. Kwenye chini, suuza waya wa manjano kwenye SILVER6, kuhakikisha mwendelezo wa kuongoza kutoka RED2.
  20. Kwenye chini, suuza waya ya machungwa kwenye SILVER7, kuhakikisha mwendelezo wa kuongoza kutoka RED3.

Hatua ya 4: Kukusanya Mzunguko kuu

Kukusanya Mzunguko Kuu
Kukusanya Mzunguko Kuu
Kukusanya Mzunguko kuu
Kukusanya Mzunguko kuu
Kukusanya Mzunguko kuu
Kukusanya Mzunguko kuu

Mkutano:

  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 mweupe kutoka WHITE1 hadi WHITE2 na solder.
  7. Kwenye nyuma, fuatilia waya mweusi kutoka BLACK1 hadi BLACK2 na solder.
  8. Kwenye nyuma, fuatilia waya mweusi kutoka BLACK3 hadi BLACK4 na solder.
  9. Kwa nyuma, fuatilia waya nyekundu kutoka RED1 hadi RED2 na solder.
  10. Kwenye nyuma, fuatilia waya wazi kutoka RED3 hadi RED4 na solder.
  11. Kwenye nyuma, fuatilia waya wazi kutoka SILVER1 hadi SILVER2 na solder.
  12. Ongeza jumper kwenye laini ya 5V au 3V3.

Ikiwa unatumia Viashiria hapo juu (rejea mchoro wa pinout):

  1. Kwenye nyuma, tengeneza waya mweupe kwenye PB1.
  2. Kwenye nyuma, solder waya wa manjano kwenye PB3.
  3. Kwenye nyuma, tengeneza waya wa machungwa kwenye PB4.
  4. Kwenye nyuma, tengeneza waya mweusi kwenye GND.

Hatua ya 5: Upimaji

Upimaji
Upimaji
Upimaji
Upimaji
Upimaji
Upimaji
Upimaji
Upimaji

Idadi ya Matofali haya yanatarajiwa kuwa kwenye nodi nyingi (MCUs - ESP8266 au ATTINY84) katika mazingira. Hii ni jaribio la kitengo: hutuma amri za I2C kutoka UNO kwenda kwa ATTINY ambayo inabadilisha LED ya Pokea. LED ya ATTINY ALIVE inakaa.

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 1 (kwa hivyo 16 2 1), na Pokea LED inawasha.
  7. Wakati, ingiza kwenye sanduku la kutuma 2 0 (kwa hivyo 16 2 0), na Pokea LED inazimwa.

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 6: Hatua Zifuatazo

Hatua Zifuatazo
Hatua Zifuatazo
Hatua Zifuatazo
Hatua Zifuatazo

Mwigizaji wa ASSIMILATE: HEARTBEAT 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.

Ilipendekeza: