- Autor John Day [email protected].
- Public 2024-01-30 08:23.
- Naposledy změněno 2025-01-23 14:38.
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
- 4cm x 6cm Uninersal PCB (1)
- Propojovací vodič (~ 6)
- Rezistory 4K7 (2) 6
- Zástrčka (12P, 8P)
- Zásuvka (9P nebo 3P, 3P)
- Pájka a železo (1)
Krok 2: Sestavení
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.
- Na spodní stranu desky plošných spojů zasuňte zástrčku (1) (2) a pájku nahoře.
- V horní části desky plošných spojů zasuňte zásuvku (3) a pájku dole.
- Nahoře protáhněte červený vodič do RED1 a RED2.
- Na spodní straně průchozí drát z RED1 do RED3.
- Na spodní straně protáhněte drát z RED2 do RED5 a pájejte.
- Nahoře průchozí vodič z RED3 do RED4 a pájku.
- Nahoře protáhněte červený vodič do RED6 a RED7.
- Na spodní straně průchozí drát z RED6 do RED8.
- Na spodní straně průchozí vodič z RED7 do RED10 a pájku.
- Nahoře průchozí vodič z RED8 do RED9 a pájku.
- Nahoře provlékněte černý vodič do BLACK1 a BLACK2.
- Na spodní straně průchozí drát z BLACK1 do BLACK3.
- Na spodní straně protáhněte drát z BLACK2 do BLACK5 a pájejte.
- Nahoře průchozí vodič z BLACK3 do BLACK4 a pájejte.
- Nahoře protáhněte modrý vodič do BLUE1 a BLUE2.
- Ve spodní části průchozí drát z BLUE1 do BLUE3.
- Na spodní straně protáhněte drát z BLUE2 do BLUE5 a pájejte.
- Nahoře průchozí vodič z BLUE3 do BLUE4 a pájejte.
- Nahoře protáhněte zelený vodič do ZELENÉ1 a ZELENÉ2.
- Na spodní straně průchozí drát ze ZELENÉ1 do ZELENÉ3.
- Na spodní straně protáhněte drát ze ZELENÉ2 do ZELENÉ5 a pájejte.
- Nahoře prošroubujte drát ze ZELENÉ3 do ZELENÉ4 a pájejte.
- Nahoře protáhněte odpor 4K7 do SILVER3 a SILVER4.
- Na spodní straně protáhněte drát ze SILVER3 do GREEN5 a pájejte.
- Na spodní straně protáhněte drát ze SILVER4 do RED10 a pájejte.
- Nahoře protáhněte odpor 4K7 do SILVER1 a SILVER2.
- Na spodní straně protáhněte drát ze SILVER1 do BLUE5 a pájejte.
- Na spodní straně protáhněte drát ze SILVER2 do RED10 a pájejte.
Krok 3: 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:
Click Brick Switch for Makey Makey: 4 Steps (with Pictures)
Klikněte na Brick Switch for Makey Makey: Tento 3D tištěný přepínač umožní uživateli proměnit Makey Makey na " posunutí prstu " pro " kliknutí " při hraní her nebo to mohou být šipky doprava/doleva k procházení prezentací. Přidání pravého a levého držáku terminálu pro
Arduino Brick Color Sorter Project: 5 kroků
Arduino Brick Color Sorter Project: V tomto Arduino tutoriálu se naučíme, jak detekovat barvy mé cihly pomocí Arduina a barevného senzoru TCS3200. Další podrobnosti si můžete přečíst níže v písemném tutoriálu. Materiály: Arduino Leonardo x 1TCS3200 x 1 Mnoho kartonu180 servo
IOT123 - LIR2032 BATTERY BRICK: 4 kroky
IOT123 - LIR2032 BATTERY BRICK: IOT123 BRICKS jsou modulární jednotky DIY, které lze kombinovat s jinými IOT123 BRICKS a přidávat tak funkce do uzlu nebo nositelné. Jsou založeny na palcových čtvercových, oboustranných protoboardech s propojenými průchozími otvory. Ačkoli instrukce
IOT123 - 3,3V NAPÁJECÍ BRICK: 4 kroky
IOT123 - 3,3 V POWER BRICK: IOT123 BRICKS jsou modulární jednotky DIY, které lze kombinovat s jinými IOT123 BRICKS a přidat tak funkčnost uzlu nebo nositelnost. Jsou založeny na palcových čtvercových, oboustranných protoboardech s propojenými průchozími otvory. Ačkoli instrukce
IOT123 - 5PIN ATTINY85 NRF24L01 BRICK: 4 kroky
IOT123 - 5PIN ATTINY85 NRF24L01 BRICK: UPDATE: Toto nastavení je z velké části akademické nebo je základem pro testování softwaru/napájecího zdroje. I když je PB5 deaktivován jako RESET, nečte hodnoty přesně pomocí analogRead: hlavní případ použití pro čtení ze senzorů. Nahlédne do nastavení ATTINY84
