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, Listopad
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

Při vývoji ASSIMILATE SENSORS and ACTORS udržuji UNO po ruce pro odesílání příkazů adhoc I2C vyvíjeným prototypům. Jednou z výhod I2C BRICKS jsou standardizované vývody. Spíše než pokaždé používat drátěné pole (viz Fritzings) se používá 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. 4cm x 6cm Uninersal PCB (1)
  2. Propojovací vodič (~ 6)
  3. Rezistory 4K7 (2) 6
  4. Zástrčka (12P, 8P)
  5. Zásuvka (9P nebo 3P, 3P)
  6. Pájka a železo (1)

Krok 2: Sestavení

Shromáždění
Shromáždění
Shromáždění
Shromáždění
Shromáždění
Shromáždění

Pokud použijete 2 vypínací 3P ženské hlavičky namísto 1 vypnuté 9P ženské hlavičky, ASSIMILOVANÝ SENZOR/AKTORY se vejdou na JIG bez jejich demontáže.

S kabeláží odizolujte na koncích až 10 mm a samotné konce pocínujte.

  1. Na spodní stranu desky plošných spojů zasuňte zástrčku (1) (2) a pájku nahoře.
  2. V horní části desky plošných spojů zasuňte zásuvku (3) a pájku dole.
  3. Nahoře protáhněte červený vodič do RED1 a RED2.
  4. Na spodní straně průchozí drát z RED1 do RED3.
  5. Na spodní straně protáhněte drát z RED2 do RED5 a pájejte.
  6. Nahoře průchozí vodič z RED3 do RED4 a pájku.
  7. Nahoře protáhněte červený vodič do RED6 a RED7.
  8. Na spodní straně průchozí drát z RED6 do RED8.
  9. Na spodní straně průchozí vodič z RED7 do RED10 a pájku.
  10. Nahoře průchozí vodič z RED8 do RED9 a pájku.
  11. Nahoře provlékněte černý vodič do BLACK1 a BLACK2.
  12. Na spodní straně průchozí drát z BLACK1 do BLACK3.
  13. Na spodní straně protáhněte drát z BLACK2 do BLACK5 a pájejte.
  14. Nahoře průchozí vodič z BLACK3 do BLACK4 a pájejte.
  15. Nahoře protáhněte modrý vodič do BLUE1 a BLUE2.
  16. Ve spodní části průchozí drát z BLUE1 do BLUE3.
  17. Na spodní straně protáhněte drát z BLUE2 do BLUE5 a pájejte.
  18. Nahoře průchozí vodič z BLUE3 do BLUE4 a pájejte.
  19. Nahoře protáhněte zelený vodič do ZELENÉ1 a ZELENÉ2.
  20. Na spodní straně průchozí drát ze ZELENÉ1 do ZELENÉ3.
  21. Na spodní straně protáhněte drát ze ZELENÉ2 do ZELENÉ5 a pájejte.
  22. Nahoře prošroubujte drát ze ZELENÉ3 do ZELENÉ4 a pájejte.
  23. Nahoře protáhněte odpor 4K7 do SILVER3 a SILVER4.
  24. Na spodní straně protáhněte drát ze SILVER3 do GREEN5 a pájejte.
  25. Na spodní straně protáhněte drát ze SILVER4 do RED10 a pájejte.
  26. Nahoře protáhněte odpor 4K7 do SILVER1 a SILVER2.
  27. Na spodní straně protáhněte drát ze SILVER1 do BLUE5 a pájejte.
  28. Na spodní straně protáhněte drát ze SILVER2 do RED10 a pájejte.

Krok 3: Kód pro UNO

Kód pro UNO
Kód pro UNO

Zde je náčrt primitivní. Umožňuje vám použít vstup konzoly, aby UNO odesílal zprávy I2C na I2C ATTINY85 BRICK.

Všechny pokyny se vytisknou na obrazovku s podporovanými možnostmi.

I2C BRICK adhoc příkazy pro slave od UNO master

#zahrnout
konstantní bajt _num_chars = 32;
char _received_chars [_num_chars]; // pole pro uložení přijatých dat
boolean _has_new_data = false;
voidsetup () {
Serial.begin (9600);
Serial.println ();
Serial.println („ASSIMILATE IOT ACTOR/SENSOR EEPROM EDITOR“);
Serial.println („zajistit, aby byl v okně konzoly vybrán nový řádek“);
Serial.println ();
Serial.println („ADRESA 1 POTVRZENÍ PŘIJÍMÁNÍ METADAT NEDOSTUPNÉ (PRO M2M)“);
Serial.println ("ADDRESS 2 ACTOR COMMAND");
Serial.println ();
Serial.println ("ADRESY NA AUTOBUSU:");
scan_i2c_addresses ();
Serial.println ();
Serial.println ("");
}
voidscan_i2c_addresses () {
int počet_zařízení = 0;
pro (adresa bytu = 8; adresa <127; adresa ++)
{
Wire.beginTransmission (adresa);
chyba konstantního bajtu = Wire.endTransmission ();
if (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;
}
}
jinak {
_received_chars [ndx] = '\ 0'; // ukončí řetězec
ndx = 0;
_has_new_data = true;
}
}
}
voidsend_to_i2c () {
char param_buf [16];
const String receive_string = String (_received_chars);
if (_has_new_data == true) {
int idx1 = receive_string.indexOf ('');
Řetězcová adresa = obdrženo_string.substring (0, idx1);
int adresa_int = adresa.toInt ();
if (address_int <8 || address_int> 127) {
Serial.println ("NEPLATNÝ VSTUP ADRESY:");
Serial.println (adresa);
vrátit se;
}
int idx2 = obdržel_string.indexOf ('', idx1+1);
Řetězcový kód;
if (idx2 == -1) {
kód = přijatý_řetězec.substring (idx1+1);
}jiný{
kód = přijatý_řetězec.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);
vrátit se;
}
bool has_parameter = idx2> -1;
Řetězec parametr;
if (has_parameter) {
parametr = přijatý_řetězec.substring (idx2 + 1, idx2 + 17); // max. 16 znaků
if (parameter.length () <1) {
Serial.println ("MINIMÁLNÍ PARTAMETER. DÉLKA 1");
_has_new_data = false;
vrátit se;
}
}jiný{
if (code_int> 1) {
Serial.println („PARAMETER REQUIRED!“);
_has_new_data = false;
vrátit se;
}
}
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 ("parametr =");
Serial.println (parametr);
// ODESLAT PŘES 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 („ODESLÁNO PŘES I2C!“);
Serial.println ();
Serial.println ("");
_has_new_data = false;
}
}

zobrazit rawuno_i2c_command_input.ino hostované s ❤ od GitHub

Krok 4: Další kroky

Z představených sestav je k dispozici dostatek pohyblivých částí, které vám umožní vytvořit si vlastní ASSIMILATE IOT NETWORK.

Každá z jednotlivých funkcí uzlů (senzory a aktéry) je ovladatelná decentralizovaným způsobem, bez ohledu na to, zda má MCU master nějaké znalosti o podporovaných funkcích.

Jakákoli aplikace připojující se k brokerovi MQTT může ovládat/sledovat všechny funkce uzlu IOT. To je M2M, webové aplikace, IFTTT a tak dále. Mnohem jednodušší (nebo bohatší, chcete -li) rozhraní pro váš svět IOT.

Doporučuje: