Sisukord:

IOT123 - I2C KY019 BRICK: 5 sammu
IOT123 - I2C KY019 BRICK: 5 sammu

Video: IOT123 - I2C KY019 BRICK: 5 sammu

Video: IOT123 - I2C KY019 BRICK: 5 sammu
Video: Keyboard PCB | Serial output | Alphabet Numbers Signs 2024, November
Anonim
IOT123 - I2C KY019 BRICK
IOT123 - I2C KY019 BRICK
IOT123 - I2C KY019 BRICK
IOT123 - I2C KY019 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 KY019 BRICK on esimene NÄITLEJATEST ja sellel on üks lugemis-/kirjutamisomadus:

Lüliti (tõene/vale)

Keyesi tüüpi anduritellised abstraheeritakse kõigepealt, kuna need sisaldavad vitamiine (vajalikud lisakomponendid) ja on suhteliselt vahvad (ostsin 37 10AUD eest). I2C BRICKS tutvustatakse ka teisi tahvleid/vooluahelaid.

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

Materjalide ja allikate nimekiri on täielik.

  1. KY-019 relee (1)
  2. ATTINY85 20PU (1)
  3. 1 "kahepoolne protoboard (1)
  4. Isane päis 90º (3P, 3P)
  5. Ühendusjuhe (~ 7)
  6. 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

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

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

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

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…

Enne jätkamist on parem testida leivalaua kaudu.

Kui teil on olemasolevad ASSIMILATE SENSORid, siis veenduge, et SENSOR/MCU hostikombinatsiooni alam -aadress on erinev, st kõigil Relay -näitlejatel võib olla sama aadress, kui teil on MCU/sõlmes ainult üks Relay -näitleja.

Samm: pange vooluring kokku

Pange vooluring kokku
Pange vooluring kokku
Pange vooluring kokku
Pange vooluring kokku
Pange vooluring kokku
Pange vooluring kokku
Pange vooluring kokku
Pange vooluring kokku
  1. Esipaneelil sisestage komponendid ATTINY85 (1), 3P 90 kraadi isased päised (2) (3) ja jootke tagaküljel ära.
  2. Tagaküljel jälgige kollast traati YELLOW1 kuni YELLOW2 ja jootke.
  3. Tagaküljel jälgige sinist juhet BLUE1 kuni BLUE2 ja jootke.
  4. Tagaküljel jälgige rohelist traati GREEN1 kuni GREEN2 ja jootke.
  5. Tagaküljel jälgige musta juhet BLACK1 kuni BLACK2 ja jootet.
  6. Tagaküljel jälgige musta juhet BLACK3 kuni BLACK4 ja jootet.
  7. Tagaküljel jälgige punast traati RED1 kuni RED2 ja jootke.
  8. Tagaküljel jälgige punast traati RED3 -lt RED4 -le ja jootke.

Relee saab nüüd ühendada otse oma tihvtide kaudu trükkplaadiga või juhtmete kaudu tihvtide lepingus näidatud punktidega.

4. samm: 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 IO käsud UNO -lt ATTINY -le, mis avab või sulgeb relee.

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. Valige 9600 baud (taaskäivitage UNO ja vajadusel avage konsool uuesti).
  4. Alam aadress trükitakse konsoolile.
  5. Kui sisestate saatekasti 2 1 (seega 12 2 1) ja relee lülitub sisse.
  6. Kui sisestate saatekasti 2 0 (seega 12 2 0) ja relee lülitub välja.

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 ❤

Samm: järgmised sammud

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

Järelkontroll ASSIMILATE ACTOR: KY019, mis kasutab seda tellist, on Croutoni jaoks automaatselt konfigureeritud siinse ATTINY85-sse juba installitud metaandmete kaudu. 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.

Lisatud on mõned skeemid, kuid olenevalt sellest, mida soovite saavutada, on allavoolu ahela juhtimiseks erinevaid viise, nii et jätan selle teile:)

Soovitan: