Obsah:

IOT123 - I2C BRICK MASTER JIG: 4 kroky
IOT123 - I2C BRICK MASTER JIG: 4 kroky

Video: IOT123 - I2C BRICK MASTER JIG: 4 kroky

Video: IOT123 - I2C BRICK MASTER JIG: 4 kroky
Video: How LEGO Minifigures are made 2024, Júl
Anonim
IOT123 - I2C BRICK MASTER JIG
IOT123 - I2C BRICK MASTER JIG
IOT123 - I2C BRICK MASTER JIG
IOT123 - I2C BRICK MASTER JIG
IOT123 - I2C BRICK MASTER JIG
IOT123 - I2C BRICK MASTER JIG

Pri vývoji ASSIMILÁTNYCH SNÍMAČOV a AKTOROV mám UNO poruke na odosielanie príkazov adhoc I2C vyvíjaným prototypom. Jednou z výhod I2C BRICKS sú štandardizované vývody. Namiesto toho, aby ste vždy používali drôtené dosky (pozri Fritzings), používa sa robustný lo-tech štít.

Krok 1: Materiály a nástroje

Materiály a nástroje
Materiály a nástroje
Materiály a nástroje
Materiály a nástroje
Materiály a nástroje
Materiály a nástroje
Materiály a nástroje
Materiály a nástroje
  1. 4 cm x 6 cm Uninersal PCB (1)
  2. Pripojovací drôt (~ 6)
  3. Rezistory 4K7 (2) 6
  4. Mužská hlavička (12P, 8P)
  5. Zásuvka (9P alebo 3P, 3P)
  6. Spájka a železo (1)

Krok 2: Zostavenie

zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie

Ak použijete 2 vypnuté 3P ženské hlavičky namiesto 1 vypínacích 9P ženských hlavičiek, ASSIMILÁTNY SENZOR/AKTORY sa zmestia na JIG bez ich demontáže.

S káblom odizolujte až 10 mm na koncoch a pocínujte jeho konce.

  1. V spodnej časti dosky plošných spojov zasuňte zástrčku (1) (2) a spájku zhora.
  2. V hornej časti dosky plošných spojov zasuňte zásuvku (3) a spájku dole.
  3. Na vrchu prevlečte červený vodič do RED1 a RED2.
  4. V spodnej časti prevlečte drôt z RED1 do RED3.
  5. V spodnej časti prevlečte drôt z RED2 do RED5 a spájkujte.
  6. Navrchu prevlečte drôt z RED3 do RED4 a spájkujte.
  7. Na vrchu prevlečte červený vodič do RED6 a RED7.
  8. V spodnej časti prevlečený drôt z RED6 do RED8.
  9. V spodnej časti prevlečte drôt z RED7 do RED10 a spájkujte.
  10. Na vrchu prevlečte drôt z RED8 do RED9 a spájkujte.
  11. Na vrchu prevlečte čierny vodič do BLACK1 a BLACK2.
  12. V spodnej časti prevlečte drôt z BLACK1 do BLACK3.
  13. V spodnej časti prevlečte drôt z BLACK2 do BLACK5 a spájkujte.
  14. Na vrchu prevlečte drôt z BLACK3 do BLACK4 a spájkujte.
  15. Na vrchu prevlečte modrý vodič do BLUE1 a BLUE2.
  16. V spodnej časti prevlečte drôt z BLUE1 do BLUE3.
  17. V spodnej časti prevlečte drôt z BLUE2 do BLUE5 a spájkujte.
  18. Na vrchu prevlečte drôt z BLUE3 do BLUE4 a spájkujte.
  19. Na vrchu prevlečte zelený vodič do ZELENE1 a ZELENE2.
  20. V spodnej časti prevlečte drôt zo ZELENE1 do ZELENE3.
  21. V spodnej časti prevlečte drôt zo ZELENÉ2 do ZELENÉ5 a spájkujte.
  22. Na vrchu prevlečte drôt zo ZELENÉ3 na ZELENÝ4 a spájkujte.
  23. Na vrchu skrz-dierovaný rezistor 4K7 do SILVER3 a SILVER4.
  24. V spodnej časti prevlečte drôt zo SILVER3 do GREEN5 a spájkujte.
  25. V spodnej časti prevlečte drôt zo SILVER4 do RED10 a spájkujte.
  26. Na vrchu skrz-dierovaný rezistor 4K7 do SILVER1 a SILVER2.
  27. V spodnej časti prevlečte drôt zo SILVER1 do BLUE5 a spájkujte.
  28. V spodnej časti prevlečte drôt zo SILVER2 do RED10 a spájkujte.

Krok 3: Kód pre UNO

Kód pre UNO
Kód pre UNO

Tu je náčrt primitívny. Umožňuje vám to pomocou vstupu z konzoly, pomocou ktorého môže UNO odosielať správy I2C na Iricko ATTINY85 BRICK.

Všetky pokyny sa vytlačia na obrazovku s podporovanými možnosťami.

I2C BRICK adhoc príkazy pre otrokov z UNO master

#zahrnúť
const byte _num_chars = 32;
char _received_chars [_num_chars]; // pole na uloženie prijatých údajov
boolean _has_new_data = false;
voidsetup () {
Serial.begin (9600);
Serial.println ();
Serial.println ("ASSIMILUJTE IOT ACTOR/SENSOR EEPROM EDITOR");
Serial.println („zabezpečiť, aby bol v okne konzoly vybraný nový riadok“);
Serial.println ();
Serial.println ("ADRESA 1 POTVRDIŤ PRÍJEM METADATA N/A (PRE M2M)");
Serial.println ("ADDRESS 2 ACTOR COMMAND");
Serial.println ();
Serial.println ("ADRESY NA AUTOBUSE:");
scan_i2c_addresses ();
Serial.println ();
Serial.println ("");
}
voidscan_i2c_addresses () {
int počet_zariadení = 0;
pre (adresa bytu = 8; adresa <127; adresa ++)
{
Wire.beginTransmission (adresa);
chyba bajtu const = Wire.endTransmission ();
ak (chyba == 0)
{
Serial.println (adresa);
}
}
}
voidloop () {
recv_with_end_marker ();
send_to_i2c ();
}
voidrecv_with_end_marker () {
statický bajt ndx = 0;
char end_marker = '\ n';
char rc;
while (Serial.available ()> 0 && _has_new_data == false) {
rc = Serial.read ();
if (rc! = end_marker) {
_received_chars [ndx] = rc;
ndx ++;
if (ndx> = _num_chars) {
ndx = _num_chars - 1;
}
}
inak {
_received_chars [ndx] = '\ 0'; // ukončenie reťazca
ndx = 0;
_has_new_data = true;
}
}
}
voidsend_to_i2c () {
char param_buf [16];
const String receive_string = String (_received_chars);
ak (_has_new_data == true) {
int idx1 = prijatý_string.indexOf ('');
Adresa reťazca = prijatý_string.substring (0, idx1);
int adresa_int = adresa.toInt ();
if (address_int <8 || address_int> 127) {
Serial.println ("NEPLATNÝ VSTUP ADRESY:");
Serial.println (adresa);
návrat;
}
int idx2 = prijatý_string.indexOf ('', idx1+1);
Reťazcový kód;
if (idx2 == -1) {
kód = prijatý_string.substring (idx1+1);
} else {
kód = prijatý_string.substring (idx1+1, idx2+1);
}
int code_int = code.toInt ();
if (code_int <0 || code_int> 5) {
Serial.println ("VSTUP NEPLATNÉHO KÓDU:");
Serial.println (kód);
návrat;
}
bool has_parameter = idx2> -1;
Reťazcový parameter;
if (has_parameter) {
parameter = prijatý_string.substring (idx2 + 1, idx2 + 17); // max. 16 znakov
if (parameter.length () <1) {
Serial.println ("MINIMÁLNY PARTAMETER. DĹŽKA 1");
_has_new_data = false;
návrat;
}
} else {
if (code_int> 1) {
Serial.println ("POTREBNÝ PARAMETER!");
_has_new_data = false;
návrat;
}
}
Serial.println ();
Serial.print ("vstup orig =");
Serial.println (receive_string);
Serial.print ("adresa =");
Serial.println (adresa);
Serial.print ("code =");
Serial.println (kód);
Serial.print ("parameter =");
Serial.println (parameter);
// ODOSLAJTE PRES I2C
Wire.beginTransmission (address_int);
Wire.write (code_int);
if (has_parameter) {
parameter.trim ();
strcpy (param_buf, parameter.c_str ());
Wire.write (param_buf);
}
Wire.endTransmission ();
Serial.println ();
Serial.println („ODOSLANÉ PROSTREDNÍCTVOM I2C!“);
Serial.println ();
Serial.println ("");
_has_new_data = false;
}
}

zobraziť rawuno_i2c_command_input.ino hostiteľom ❤ od GitHub

Krok 4: Ďalšie kroky

Z predstavených zostáv je k dispozícii dostatok pohyblivých častí na to, aby ste si mohli vytvoriť vlastnú ASSIMILÁTNU SIEŤ IOT.

Každá z jednotlivých funkcií uzlov (senzorov a aktérov) je ovládateľná decentralizovaným spôsobom, pričom nezávisí od toho, či má majster MCU znalosti o podporovaných funkciách.

Akákoľvek aplikácia pripájajúca sa k brokerovi MQTT môže ovládať/sledovať všetky funkcie uzla IOT. To je M2M, webové aplikácie, IFTTT a tak ďalej. Oveľa jednoduchšie (alebo bohatšie, ak chcete) rozhrania s vašim svetom IOT.

Odporúča: