Sisukord:

IOT123 - I2C HEARTBEAT BRICK: 6 sammu
IOT123 - I2C HEARTBEAT BRICK: 6 sammu

Video: IOT123 - I2C HEARTBEAT BRICK: 6 sammu

Video: IOT123 - I2C HEARTBEAT BRICK: 6 sammu
Video: Zaful Bikini HAUL 2018 | TRY ON | Valerie pac 2024, November
Anonim
IOT123 - I2C HEARTBEAT BRICK
IOT123 - I2C HEARTBEAT BRICK
IOT123 - I2C HEARTBEAT BRICK
IOT123 - I2C HEARTBEAT BRICK
IOT123 - I2C HEARTBEAT BRICK
IOT123 - I2C HEARTBEAT BRICK

IOT123 BRICKS on isetehtud moodulüksused, mida saab teiste IOT123 BRICKS -ga kokku segada, et lisada sõlmele või kantavale funktsionaalsust. Nende aluseks on tolli ruudukujulised kahepoolsed protoplaadid, mis on omavahel ühendatud aukudega.

Arvatakse, et paljud neist tellistest asuvad saidil mitmes sõlmes (peamised MCU -d - ESP8266 või ATTINY84). MCU ei vaja eelteadmisi andurite otstarbest ega tarkvara vajadustest. See otsib I2C sõlme ja taotleb seejärel igalt orjalt atribuudi väljavõtet (anduri andmed). Need tellised tarnivad 5,0 V, 3,3 V ja teist AUX -liini, mida saab kohandada.

See I2C HEARTBEAT BRICK näitab, kas ATTINY alam on elus, samuti I2C liiklus ja sellel on üks omadus:

OLEK ("ELUS")

PB1 (valge) näitab ATTINY tervist.

PB3 (kollane) lülitub kapteni I2C päringutega.

PB4 (oranž) lülitub I2C vastuvõtmisega kaptenilt.

ATTINY85-ga külgnevad augud on jäetud kasutamata, et võimaldada pogo-tihvtidega programmeerimist, kui DIP8 on trükkplaadile joodetud. Edasine väljatöötamine, BRICKIDE pakkimine väikestesse silindritesse, mis ühendatakse D1M WIFI BLOCK jaoturiga, pumpades väärtused MQTT serverisse.

Samm: materjalid ja tööriistad

Materjalid ja tööriistad
Materjalid ja tööriistad
Materjalid ja tööriistad
Materjalid ja tööriistad
Materjalid ja tööriistad
Materjalid ja tööriistad
Materjalid ja tööriistad
Materjalid ja tööriistad

Materjalide ja allikate nimekiri on täielik.

  1. Paberist trükkplaat (7 x 7 auku)
  2. LEDid (punane, roheline, sinine)
  3. Takistid (3 off 1K)
  4. ATTINY85 20PU (1)
  5. 1 "kahepoolne protoboard (1)
  6. Isane päis 90º (3P, 3P)
  7. Isane päis (2P, 2P)
  8. Jumper Shunt (1)
  9. Ühendusjuhe (~ 7)
  10. Jootmine ja triikraud (1)

Samm: valmistage ette ATTINY85

Valmistage ette ATTINY85
Valmistage ette ATTINY85
Valmistage ette ATTINY85
Valmistage ette ATTINY85
Valmistage ette ATTINY85
Valmistage ette ATTINY85
Valmistage ette ATTINY85
Valmistage ette ATTINY85

MÄRKUS. Kui kavatsete Croutoni integreerida, kasutage siit raamatukogu ja kasutage näidet "attiny_heartbeat"

Vajalik on juhatuse liige AttinyCore. Põletage alglaadur "EEPROM Retained", "8mHZ Internal" (kõik konfiguratsioonid on näidatud ülal).

Koodide hoidla leiate siit.

Raamatukogu ZIP -i leiate siit.

Siit leiate juhised "ZIP -kogu importimiseks".

Kui kogu on installitud, saate avada näite "attiny_heartbeat".

Püsivara ATTINY85 -sse üleslaadimiseks leiate lisateavet järgmistest juhenditest:

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-…

Enne jätkamist on parem testida leivalaua kaudu.

Kui teil on olemasolevaid ASSIMILATE SENSORS, siis veenduge, et SENSOR/MCU Host kombinatsioonis on alam -aadress erinev, nt. kõikidel relees osalejatel võib olla sama aadress, kui teil on MCU/sõlmes ainult üks releenäitleja.

3. samm: näitajate kokkupanek

Indikaatorite kokkupanek
Indikaatorite kokkupanek
Indikaatorite kokkupanek
Indikaatorite kokkupanek
Indikaatorite kokkupanek
Indikaatorite kokkupanek

Näitajad peavad olema täielikult kohandatavad. Südamelöökidena peetakse peavoolu sündmussignaale. Selle ehituse jaoks kasutame LED -indikaatoreid; teie ehitis võib kasutada releesid (jah, VCC on katki) või mõnda muud visuaalsel/signaalil põhinevat indikaatorit. Takisti väärtused sõltuvad isiklikest eelistustest, kui heledaid soovite.

  1. Sisestage ülaosas sinine valgusdiood punastesse (+) ja mustadesse (G) ning jootke alla.
  2. Altpoolt painutage RED1 juhet nii, et see puudutaks SILVER8 vaskpadja ja trimmiks.
  3. Altpoolt lõigake juhe jootmise kohal olevast mustast mustast1.
  4. Sisestage ülaosas roheline valgusdiood punastesse (+) ja mustadesse (G) ning jootke alla.
  5. Altpoolt painutage RED2 juhet nii, et see puudutaks SILVER9 vaskpadja ja trimmi.
  6. Altpoolt lõigake juhe jootmise kohal olevast mustast mustast2.
  7. Sisestage ülaosas punane LED valgusdioodidesse RED3 (+) ja BLACK3 (G) ning jootke alla.
  8. Altpoolt painutage RED3 juhet nii, et see puudutaks SILVER10 vaskpadja ja trimmi.
  9. Altpoolt trimmige juhe BLACK3 joote kohal.
  10. Sisestage ülaosas 1K takisti läbivatesse aukudesse SILVER1 ja SILVER4.
  11. Altpoolt jälgige, viimistlege ja jootke juhet SILVER1 -lt mustale1.
  12. Sisestage ülaosas 1K takisti läbivatesse aukudesse SILVER2 ja SILVER4.
  13. Altpoolt jälgige, viimistlege ja jootke juhet SILVER2 -st mustadeks.
  14. Sisestage ülaosas 1K takisti läbivatesse aukudesse SILVER3 ja SILVER4.
  15. Altpoolt jälgige, viimistlege ja jootke juhet SILVER3 -st mustanahale 3.
  16. Altpoolt jootke SILVER4 juhtmed ja lõigake umbes 5 mm ulatuses.
  17. Altpoolt jootke must traat SILVER4 peale.
  18. Altpoolt jootke valge traat SILVER5 -sse, tagades RED1 juhtimise järjepidevuse.
  19. Altpoolt jootke kollane traat hõbedasse 6, tagades RED2 juhtimise järjepidevuse.
  20. Altpoolt jootke oranž traat hõbedasse 7, tagades RED3 juhtimise järjepidevuse.

Samm 4: Peavooluahela kokkupanek

Pearingluse kokkupanek
Pearingluse kokkupanek
Pearingluse kokkupanek
Pearingluse kokkupanek
Pearingluse kokkupanek
Pearingluse kokkupanek

Kokkupanek:

  1. Esipaneelil sisestage komponendid ATTINY85 (1), 3P 90 kraadi isased päised (2) (3), 3P isased päised (4) (5) ja jootke tagaküljele.
  2. Tagaküljel jälgige kollast traati YELLOW1 kuni YELLOW2 ja jootke.
  3. Tagaküljel jälgige oranži juhet ORANGE1 kuni ORANGE2 ja jootke.
  4. Tagaküljel jälgige sinist juhet BLUE1 kuni BLUE2 ja jootke.
  5. Tagaküljel jälgige rohelist traati GREEN1 kuni GREEN2 ja jootke.
  6. Tagaküljel jälgige valget traati WHITE1 kuni WHITE2 ja jootke.
  7. Tagaküljel jälgige musta juhet BLACK1 kuni BLACK2 ja jootet.
  8. Tagaküljel jälgige musta juhet BLACK3 kuni BLACK4 ja jootet.
  9. Tagaküljel jälgige punast traati RED1 kuni RED2 ja jootke.
  10. Tagaküljel jälgige paljast traati RED3 -lt RED4 -le ja jootke.
  11. Tagaküljel jälgige paljast traati SILVER1 kuni SILVER2 ja jootet.
  12. Lisage 5V või 3V3 liinile hüppaja.

Kui kasutate ülaltoodud indikaatoreid (vt pinout diagrammi):

  1. Tagaküljel jootke valge traat PB1 -sse.
  2. Tagaküljel jootke kollane traat PB3 -sse.
  3. Tagaküljel jootke oranž traat PB4 -sse.
  4. Tagaküljel jootke must traat GND -sse.

Samm: testimine

Testimine
Testimine
Testimine
Testimine
Testimine
Testimine
Testimine
Testimine

Arvatakse, et paljud neist tellistest asuvad keskkonnas mitmes sõlmes (MCU -d - ESP8266 või ATTINY84). See on üksuse test: saadab UNO -lt I2C käsud ATTINY -le, mis lülitab vastuvõtu LED -i. LED ATTINY ALIVE jääb põlema.

Oleme varem Arduino jaoks ehitanud I2C SHIELDi.

Kui soovite selle asemel leiba panna, toimige järgmiselt

  1. Ühendage UNO 5,0 V BRICKi VCC -ga.
  2. Ühendage UNO GND ja BRICK GND.
  3. Ühendage A5 UNO -l BRICK -i SCL -iga.
  4. Ühendage A4 UNO -l ja BRICK SDA.
  5. Ühendage tõmbetakistus 4K7 SDA-st VCC-ga.
  6. Ühendage tõmbetakistus 4K7 SCL-st VCC-ga.

Testi läbiviimine

  1. Ühendage UNO oma USB -seadmega arvutiga.
  2. Laadige kood UNO -sse.
  3. Avage Arduino konsool.
  4. Valige 9600 baud (taaskäivitage UNO ja vajadusel avage konsool uuesti).
  5. Alam aadress trükitakse konsoolile.
  6. Kui sisestate saatekasti 2 1 (seega 16 2 1) ja vastuvõtu LED süttib.
  7. Kui sisestate saatekasti 2 0 (seega 16 2 0) ja vastuvõtu LED kustub.

I2C BRICK adhoc käsud orjade jaoks UNO isandalt

#kaasake
const bait _num_chars = 32;
süsi _saanud_süklid [_arv_süsi]; // massiiv vastuvõetud andmete salvestamiseks
boolean _has_new_data = vale;
voidsetup () {
Seriaalne algus (9600);
Serial.println ();
Serial.
Serial.println ("veenduge, et konsooliaknas oleks valitud uus rida");
Serial.println ();
Serial.println ("AADRESS 1 KINNITA METADATAHETUSE N/A (M2M jaoks)");
Serial.println ("AADRESS 2 ACTOR COMMAND");
Serial.println ();
Serial.println ("AADRESSID BUSSIL:");
scan_i2c_addresses ();
Serial.println ();
Serial.println ("");
}
voidscan_i2c_addresses () {
int seadme_arv = 0;
jaoks (bait -aadress = 8; aadress <127; aadress ++)
{
Wire.beginTransmission (aadress);
const baidi viga = Wire.endTransmission ();
kui (viga == 0)
{
Serial.println (aadress);
}
}
}
voidloop () {
recv_with_end_marker ();
send_to_i2c ();
}
voidrecv_with_end_marker () {
staatiline bait ndx = 0;
char end_marker = '\ n';
char rc;
samas (Serial.available ()> 0 && _has_new_data == false) {
rc = Serial.read ();
if (rc! = end_marker) {
_laekunud_karbid [ndx] = rc;
ndx ++;
kui (ndx> = _numbrite arv) {
ndx = _arvude_arv - 1;
}
}
muu {
_received_chars [ndx] = '\ 0'; // lõpetada string
ndx = 0;
_has_new_data = tõsi;
}
}
}
voidsend_to_i2c () {
char param_buf [16];
const String vastuvõetud_string = String (_saadatud_märgid);
if (_ has_new_data == true) {
int idx1 = vastuvõetud_string.indexOf ('');
Stringi aadress = vastuvõetud_string.alamstring (0, idx1);
int address_int = aadress.toInt ();
kui (aadress_int <8 || aadress_int> 127) {
Serial.println ("INVALID ADDRESS INPUT:");
Serial.println (aadress);
tagasipöördumine;
}
int idx2 = saanud_string.indexOf ('', idx1+1);
String kood;
kui (idx2 == -1) {
kood = vastuvõetud_string.alamstring (idx1+1);
} muud {
kood = vastuvõetud_string.alamstring (idx1+1, idx2+1);
}
int kood_int = kood.toInt ();
kui (kood_int <0 || kood_int> 5) {
Serial.println ("VÄÄRATUD KOODISISEND:");
Serial.println (kood);
tagasipöördumine;
}
bool has_parameter = idx2> -1;
String parameeter;
if (has_parameter) {
parameeter = vastuvõetud_string.alamstring (idx2 + 1, idx2 + 17); // max 16 märki
kui (parameeter.pikkus () <1) {
Serial.println ("PARTAMETER MIN. LENGTH 1");
_has_new_data = vale;
tagasipöördumine;
}
} muud {
kui (kood_int> 1) {
Serial.println ("PARAMETER ON VAJALIK!");
_has_new_data = vale;
tagasipöördumine;
}
}
Serial.println ();
Serial.print ("sisend orig =");
Seeria.println (saadud_string);
Serial.print ("aadress =");
Serial.println (aadress);
Serial.print ("kood =");
Serial.println (kood);
Serial.print ("parameeter =");
Serial.println (parameeter);
// SAADA I2C kaudu
Wire.beginTransmission (aadress_int);
Wire.write (kood_int);
if (has_parameter) {
parameeter.trim ();
strcpy (param_buf, parameeter.c_str ());
Wire.write (param_buf);
}
Wire.endTransmission ();
Serial.println ();
Serial.println ("SAATIS I2C VIA!");
Serial.println ();
Serial.println ("");
_has_new_data = vale;
}
}

vaata rawuno_i2c_command_input.ino, mille hostiks on GitHub ❤

6. samm: järgmised sammud

Järgmised sammud
Järgmised sammud
Järgmised sammud
Järgmised sammud

Järelkontroll ASSIMILATE ACTOR: HEARTBEAT, mis kasutab seda tellist, on Croutoni jaoks automaatselt konfigureeritud, kasutades siin juba ATTINY85-sse installitud metaandmeid. Croutonile saadetud JSON -pakett saadetakse ICOS10 uusima püsivara kaudu. Saate teha tõestuskontseptsiooni tavalise ESP8266-ga, kui ehitamine on praegu liiga palju.

Testimisel kasutatud UNO visandil on funktsioon uue alam -aadressi salvestamiseks ATTINY85 EEPROM -i, kui teie sihtmärgi I2C siinil on kokkupõrge.

Soovitan: