Orodha ya maudhui:
- Hatua ya 1: Vifaa na Zana
- Hatua ya 2: Andaa ATTINY85
- Hatua ya 3: Kukusanya Viashiria
- Hatua ya 4: Kukusanya Mzunguko kuu
- Hatua ya 5: Upimaji
- Hatua ya 6: Hatua Zifuatazo
Video: IOT123 - I2C MOYO WA TATIZO: 6 Hatua
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:53
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
Kuna orodha kamili ya Muswada wa Nyenzo na Utaftaji.
- Karatasi PCB (mashimo 7 x 7)
- LEDS (Nyekundu, Kijani, Bluu)
- Resistors (3 off 1K)
- ATTINY85 20PU (1)
- 1 "Uboreshaji wa pande mbili (1)
- Kichwa cha kiume 90º (3P, 3P)
- Kichwa cha Kiume (2P, 2P)
- Jumper Shunt (1)
- Hookup waya (~ 7)
- Solder na Chuma (1)
Hatua ya 2: Andaa ATTINY85
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
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.
- Juu, ingiza LED ya bluu kwenye RED1 (+) na BLACK1 (G), na solder chini.
- Kwenye chini, piga risasi kutoka RED1 kwa hivyo inagusa pedi ya shaba kwenye SILVER8 na punguza.
- Kwenye chini, punguza risasi kutoka kwa BLACK1 hapo juu.
- Juu, ingiza LED ya kijani ndani ya RED2 (+) na BLACK2 (G), na solder chini.
- Kwenye chini, piga risasi kutoka RED2 kwa hivyo inagusa pedi ya shaba kwenye SILVER9 na punguza.
- Kwenye chini, punguza risasi kutoka BLACK2 juu ya solder.
- Juu, ingiza LED nyekundu kwenye RED3 (+) na BLACK3 (G), na solder chini.
- Kwenye chini, piga risasi kutoka RED3 kwa hivyo inagusa pedi ya shaba kwenye SILVER10 na trim.
- Kwenye chini, punguza risasi kutoka BLACK3 juu ya solder.
- Juu, ingiza kontena la 1K kwenye mashimo kupitia SILVER1 na SILVER4.
- Chini, fuatilia, punguza na risasi ya risasi kutoka SILVER1 kuingia BLACK1.
- Juu, ingiza kontena la 1K kwenye mashimo kupitia SILVER2 na SILVER4.
- Chini, fuatilia, punguza na risasi ya risasi kutoka SILVER2 kuelekea BLACK2.
- Juu, ingiza kontena la 1K kwenye mashimo kupitia SILVER3 na SILVER4.
- Chini, fuatilia, punguza na risasi ya risasi kutoka SILVER3 kuingia BLACK3.
- Chini, waya za solder kwenye SILVER4 na trim karibu 5mm kupanua.
- Kwenye chini, solder waya mweusi kwenye SILVER4.
- Kwenye chini, tengeneza waya mweupe kwenye SILVER5, kuhakikisha mwendelezo wa kuongoza kutoka RED1.
- Kwenye chini, suuza waya wa manjano kwenye SILVER6, kuhakikisha mwendelezo wa kuongoza kutoka RED2.
- Kwenye chini, suuza waya ya machungwa kwenye SILVER7, kuhakikisha mwendelezo wa kuongoza kutoka RED3.
Hatua ya 4: Kukusanya Mzunguko kuu
Mkutano:
- Mbele, ingiza vifaa vya ATTINY85 (1), 3P 90deg vichwa vya kiume (2) (3), 3P vichwa vya kiume (4) (5) na kutengenezea nyuma.
- Kwenye nyuma, fuatilia waya wa manjano kutoka YELLOW1 hadi YELLOW2 na solder.
- Kwenye nyuma, fuata waya wa machungwa kutoka ORANGE1 hadi ORANGE2 na solder.
- Kwa nyuma, fuatilia waya wa bluu kutoka BLUE1 hadi BLUE2 na solder.
- Kwenye nyuma, fuatilia waya wa kijani kutoka GREEN1 hadi GREEN2 na solder.
- Kwenye nyuma, fuatilia waya mweupe kutoka WHITE1 hadi WHITE2 na solder.
- Kwenye nyuma, fuatilia waya mweusi kutoka BLACK1 hadi BLACK2 na solder.
- Kwenye nyuma, fuatilia waya mweusi kutoka BLACK3 hadi BLACK4 na solder.
- Kwa nyuma, fuatilia waya nyekundu kutoka RED1 hadi RED2 na solder.
- Kwenye nyuma, fuatilia waya wazi kutoka RED3 hadi RED4 na solder.
- Kwenye nyuma, fuatilia waya wazi kutoka SILVER1 hadi SILVER2 na solder.
- Ongeza jumper kwenye laini ya 5V au 3V3.
Ikiwa unatumia Viashiria hapo juu (rejea mchoro wa pinout):
- Kwenye nyuma, tengeneza waya mweupe kwenye PB1.
- Kwenye nyuma, solder waya wa manjano kwenye PB3.
- Kwenye nyuma, tengeneza waya wa machungwa kwenye PB4.
- Kwenye nyuma, tengeneza waya mweusi kwenye GND.
Hatua ya 5: 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:
- Unganisha 5.0V kwenye UNO kwa VCC kwenye BRICK.
- Unganisha GND kwenye UNO na GND kwenye BRICK.
- Unganisha A5 kwenye UNO na SCL kwenye BRICK.
- Unganisha A4 kwenye UNO na SDA kwenye BRICK.
- Unganisha kontena la kuvuta la 4K7 kutoka SDA hadi VCC.
- Unganisha kontena la kuvuta la 4K7 kutoka SCL hadi VCC.
Kuendesha mtihani
- Unganisha UNO yako kwenye PC yako ya Dev na USB.
- Pakia nambari hiyo kwa UNO.
- Fungua Kiweko cha Arduino.
- Chagua baud 9600 (anzisha tena UNO na ufungue tena kiweko ikibidi).
- Anwani ya mtumwa itachapishwa kwenye kiweko.
- Wakati, ingiza kwenye sanduku la kutuma 2 1 (kwa hivyo 16 2 1), na Pokea LED inawasha.
- 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
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:
Rekebisha Tatizo la Battery ya CMOS kwenye Laptop: Hatua 7 (na Picha)
Rekebisha Shida ya Battery ya CMOS kwenye Laptop: Siku moja kuepukika hufanyika kwenye PC yako, betri ya CMOS inashindwa. Hii inaweza kugunduliwa kama sababu ya kawaida ya kompyuta inayohitaji kuwa na wakati na tarehe ya kuingizwa tena kila wakati kompyuta inapoteza nguvu. Ikiwa betri yako ya mbali imekufa na
Sensorer ya Mapigo ya Moyo Kutumia Arduino (Mfuatiliaji wa Kiwango cha Moyo): Hatua 3
Sensor ya Mapigo ya Moyo Kutumia Arduino (Monitor Rate Rate): Sensor ya Mapigo ya Moyo ni kifaa cha elektroniki ambacho hutumiwa kupima kiwango cha moyo yaani kasi ya mapigo ya moyo. Ufuatiliaji wa joto la mwili, mapigo ya moyo na shinikizo la damu ni vitu vya msingi ambavyo tunafanya ili kutuweka sawa. Kiwango cha Moyo kinaweza kuwa bora
Kuwa Bado Kupiga Moyo Wangu LittleBits Moyo: Hatua 5
Kuwa Bado Kupiga Moyo Wangu LittleBits Moyo: Onyesha mtu wako muhimu wakati unafikiria juu yao kwa kutuma maandishi, na kusababisha mioyo yao midogo kupepea. Au onyesha tu upendo wako kwa umeme.Vitu unavyohitaji: Littlebits: Nguvu ya USB, kebo ya umeme ya USB na kuziba, wingu la wingu, leds, timeou
Kionyeshi cha Moyo - Tazama Mapigo ya Moyo wako: Hatua 8 (na Picha)
Kionyeshi cha Moyo | Tazama Mapigo ya Moyo wako: Sote tumehisi au kusikia mapigo ya moyo wetu lakini sio wengi wetu tumeyaona. Hili ndilo wazo ambalo lilinifanya nianze na mradi huu. Njia rahisi ya kuibua mapigo ya moyo wako kwa kutumia kihisi cha Moyo na pia kukufundisha misingi kuhusu umeme
Upimaji wa Kiwango cha Moyo Wako Uko Ncha ya Kidole Chako: Njia ya Photoplethysmography ya Kuamua Kiwango cha Moyo: Hatua 7
Upimaji wa Kiwango cha Moyo Wako Uko Kwenye Kidokezo cha Kidole Chako: Njia ya Photoplethysmography ya Kuamua Kiwango cha Moyo: Photoplethysmograph (PPG) ni mbinu rahisi na ya bei ya chini ambayo hutumiwa mara nyingi kugundua mabadiliko ya ujazo wa damu kwenye kitanda cha tishu ndogo. Inatumiwa sana bila uvamizi kufanya vipimo kwenye uso wa ngozi, kawaida