ዝርዝር ሁኔታ:

IOT123 - I2C BRICK MASTER JIG: 4 ደረጃዎች
IOT123 - I2C BRICK MASTER JIG: 4 ደረጃዎች

ቪዲዮ: IOT123 - I2C BRICK MASTER JIG: 4 ደረጃዎች

ቪዲዮ: IOT123 - I2C BRICK MASTER JIG: 4 ደረጃዎች
ቪዲዮ: 100 Ways To Use A LEGO Brick Separator... 2024, ህዳር
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

የ ASSIMILATE SENSORS እና ACTORS ን በማልማት ላይ ፣ እኔ እየተሻሻሉ ላሉት ፕሮቶፖች አድሆክ I2C ትዕዛዞችን ለመላክ አንድ UNO ን እጠብቃለሁ። ከ I2C BRICKS ጥቅሞች አንዱ ደረጃውን የጠበቀ ፒኖኖች ነው። በእያንዳንዱ ጊዜ የዳቦቦርድ ሽቦዎችን ከመጠቀም (ፍሪዚንስን ይመልከቱ) ፣ ጠንካራ የሎ-ቴክ ጋሻ ጥቅም ላይ ይውላል።

ደረጃ 1: ቁሳቁሶች እና መሳሪያዎች

ቁሳቁሶች እና መሳሪያዎች
ቁሳቁሶች እና መሳሪያዎች
ቁሳቁሶች እና መሳሪያዎች
ቁሳቁሶች እና መሳሪያዎች
ቁሳቁሶች እና መሳሪያዎች
ቁሳቁሶች እና መሳሪያዎች
ቁሳቁሶች እና መሳሪያዎች
ቁሳቁሶች እና መሳሪያዎች
  1. 4 ሴሜ x 6 ሴሜ የማይንቀሳቀስ ፒሲቢ (1)
  2. የሚገጣጠም ሽቦ (~ 6)
  3. 4K7 Resistors (2) 6
  4. ወንድ ራስጌ (12 ፒ ፣ 8 ፒ)
  5. ሴት ራስጌ (9 ፒ ፣ ወይም 3 ፒ ፣ 3 ፒ)
  6. ብረት እና ብረት (1)

ደረጃ 2 - ስብሰባ

ስብሰባ
ስብሰባ
ስብሰባ
ስብሰባ
ስብሰባ
ስብሰባ

ከ 1 ጠፍቷል 9P ሴት ራስጌ ይልቅ 2 off 3P ሴት ራስጌዎችን የሚጠቀሙ ከሆነ ፣ ASSIMILATE SENSOR/ACTORS ሳይበታተኑ በጂአግ ላይ ይጣጣማሉ።

ከሽቦው ጋር እስከ ጫፉ ድረስ እስከ 10 ሚሊ ሜትር ያርቁ እና በጣም ጫፎቹን ያሽጉ።

  1. በፒሲቢው ታችኛው ክፍል ላይ የወንዱን ራስጌ (1) (2) እና በሻጩ ላይ ከላይ ያስገቡ።
  2. በፒ.ሲ.ቢ አናት ላይ የሴት ራስጌ (3) እና የግርጌውን ወደታች ያስገቡ።
  3. ከላይ ፣ በቀዳዳው በኩል ቀይ ሽቦ ወደ RED1 እና RED2።
  4. ከታች ፣ ከ RED1 እስከ RED3 ባለው ቀዳዳ ቀዳዳ ሽቦ።
  5. ከታች ፣ ከ RED2 እስከ RED5 ባለው ቀዳዳ ቀዳዳ ፣ እና በሻጭ።
  6. ከላይ ፣ ከ RED3 እስከ RED4 ባለው ቀዳዳ ቀዳዳ ፣ እና በሻጭ።
  7. ከላይ ፣ በቀዳዳው በኩል ቀይ ሽቦ ወደ RED6 እና RED7።
  8. ከታች ፣ ከ RED6 እስከ RED8 ባለው ቀዳዳ ቀዳዳ ሽቦ።
  9. ከታች ፣ ከ RED7 እስከ RED10 ባለው ቀዳዳ ቀዳዳ ፣ እና በሻጭ።
  10. ከላይ ፣ ከ RED8 እስከ RED9 ባለው ቀዳዳ ቀዳዳ ፣ እና በሻጭ።
  11. ከላይ ፣ ወደ ቀዳዳው ጥቁር ሽቦ ወደ BLACK1 እና BLACK2።
  12. ከታች ፣ ከጉድጓዱ ውስጥ ሽቦ ከ BLACK1 ወደ BLACK3።
  13. ከታች ፣ ከ BLACK2 ወደ BLACK5 ፣ እና በሻጭ በኩል ቀዳዳ ያለው ሽቦ።
  14. ከላይ ፣ ከ BLACK3 ወደ BLACK4 ፣ እና በሻጭ በኩል ቀዳዳ ያለው ሽቦ።
  15. ከላይ ፣ ቀዳዳውን ሰማያዊ ሽቦ ወደ BLUE1 እና BLUE2 ያስገቡ።
  16. ከታች ፣ ቀዳዳ ቀዳዳ ያለው ሽቦ ከ BLUE1 ወደ BLUE3።
  17. ከታች ፣ ቀዳዳ ቀዳዳ ከ BLUE2 ወደ BLUE5 ፣ እና በሻጭ።
  18. ከላይ ፣ ቀዳዳ ቀዳዳ ያለው ሽቦ ከ BLUE3 ወደ BLUE4 ፣ እና በሻጭ።
  19. ከላይ ፣ አረንጓዴ ሽቦን ወደ GREEN1 እና GREEN2 ያስገቡ።
  20. ከታች ፣ ከ GREEN1 እስከ GREEN3 ባለው ቀዳዳ ቀዳዳ ሽቦ።
  21. ከታች ፣ ከ GREEN2 ወደ GREEN5 ፣ እና በሻጭ በኩል ቀዳዳ ያለው ሽቦ።
  22. ከላይ ፣ ከ GREEN3 ወደ GREEN4 ፣ እና በሻጭ በኩል ቀዳዳ ያለው ሽቦ።
  23. ከላይ ፣ በኪስ ቀዳዳ በኩል የ 4K7 ተከላካይ ወደ SILVER3 እና SILVER4።
  24. ከታች ፣ ከ SILVER3 ወደ GREEN5 ፣ እና በሻጭ በኩል ቀዳዳ ያለው ሽቦ።
  25. ከታች ፣ ከ SILVER4 እስከ RED10 ባለው ቀዳዳ ቀዳዳ እና በሻጭ በኩል።
  26. ከላይ ፣ ወደ ቀዳዳው የ 4K7 resistor ወደ SILVER1 እና SILVER2።
  27. ከታች ፣ ከ SILVER1 ወደ BLUE5 ፣ እና በሻጭ በኩል ቀዳዳ ያለው ሽቦ።
  28. ከታች ፣ ከ SILVER2 እስከ RED10 ባለው ቀዳዳ ቀዳዳ ፣ እና በሻጭ።

ደረጃ 3 - ለ UNO ኮድ

ለ UNO ኮድ
ለ UNO ኮድ

እዚህ ያለው ሥዕላዊ ሥዕላዊ ነው። UNO የ I2C መልዕክቶችን ወደ I2C ATTINY85 BRICK እንዲልክ ለማድረግ የኮንሶል ግብዓቱን እንዲጠቀሙ ያስችልዎታል።

ሁሉም መመሪያዎች በሚደገፉ አማራጮች በማያ ገጹ ላይ ታትመዋል።

I2C BRICK adhoc ከ UNO ጌታ ለባሮች ትእዛዝ ይሰጣል።

#ያካትቱ
const byte _num_chars = 32;
ቻር _የተቀበሉ_ሻር [_num_chars]; // የተቀበለውን ውሂብ ለማከማቸት ድርድር
ቡሊያን _አዲስ_ዳታ = ሐሰት;
voidsetup () {
Serial.begin (9600);
Serial.println ();
Serial.println ("ASSIMILATE IOT ACTOR/SENSOR EEPROM EDITOR");
Serial.println (“በኮንሶል መስኮት ውስጥ የተመረጠውን አዲስ መስመር ያረጋግጡ”);
Serial.println ();
ተከታታይ።
Serial.println ("አድራሻ 2 ተዋናይ ትዕዛዝ");
Serial.println ();
Serial.println ("በአውቶቡስ ላይ አድራሻዎች:");
scan_i2c_addresses ();
Serial.println ();
Serial.println ("");
}
voidscan_i2c_addresses () {
int device_count = 0;
ለ (ባይት አድራሻ = 8 ፤ አድራሻ <127 ፤ አድራሻ ++)
{
Wire.begin ማስተላለፊያ (አድራሻ);
const ባይት ስህተት = Wire.endTransmission ();
ከሆነ (ስህተት == 0)
{
Serial.println (አድራሻ);
}
}
}
voidloop () {
recv_w_marker () ጋር;
ላክ_to_i2c ();
}
voidrecv_with_end_marker () {
የማይንቀሳቀስ ባይት ndx = 0;
char end_marker = '\ n';
char rc;
ሳለ (Serial.available ()> 0 && _has_new_data == false) {
rc = Serial.read ();
ከሆነ (rc! = end_marker) {
_የተቀበሉ_ሸቀጦች [ndx] = rc;
ndx ++;
ከሆነ (ndx> = _num_chars) {
ndx = _num_chars - 1;
}
}
ሌላ {
_የተቀበሉ_ሸቀጦች [ndx] = '\ 0'; // ሕብረቁምፊውን ያቋርጡ
ndx = 0;
_አዲስ_ዳታ = እውነት;
}
}
}
voidsend_to_i2c () {
char param_buf [16];
const String received_string = String (_received_chars);
ከሆነ (_has_new_data == እውነት) {
int idx1 = received_string.indexOf ('');
ሕብረቁምፊ አድራሻ = የተቀበለው_string.substring (0 ፣ idx1);
int address_int = address.toInt ();
ከሆነ (address_int <8 || address_int> 127) {
Serial.println ("ልክ ያልሆነ የአድራሻ ግብዓት:");
Serial.println (አድራሻ);
መመለስ;
}
int idx2 = received_string.indexOf ('', idx1+1);
ሕብረቁምፊ ኮድ;
ከሆነ (idx2 == -1) {
ኮድ = የተቀበለው_ገመድ.substring (idx1+1);
} ሌላ {
ኮድ = የተቀበለው_ገመድ.substring (idx1+1 ፣ idx2+1);
}
int code_int = code.toInt ();
ከሆነ (code_int <0 || code_int> 5) {
Serial.println ("ልክ ያልሆነ ኮድ ማስገቢያ:");
Serial.println (ኮድ);
መመለስ;
}
bool has_parameter = idx2> -1;
ሕብረቁምፊ መለኪያ;
(ካለ_ፓራሜትር) {
መለኪያ = የተቀበለው_ገመድ.substring (idx2 + 1 ፣ idx2 + 17); // 16 chars ቢበዛ
ከሆነ (መለኪያ። ርዝመት () <1) {
Serial.println ("PARTAMETER MIN. LENGTH 1");
_አዲስ_ዳታ = ሐሰት;
መመለስ;
}
} ሌላ {
ከሆነ (code_int> 1) {
Serial.println ("PARAMETER ያስፈልጋል!");
_አዲስ_ዳታ = ሐሰት;
መመለስ;
}
}
Serial.println ();
Serial.print ("input orig =");
Serial.println (የተቀበለው_ገመድ);
Serial.print ("አድራሻ =");
Serial.println (አድራሻ);
Serial.print ("ኮድ =");
Serial.println (ኮድ);
Serial.print ("መለኪያ =");
Serial.println (መለኪያ);
// በ I2C በኩል ይላኩ
Wire.begin ማስተላለፊያ (address_int);
Wire.write (code_int);
(ካለ_ፓራሜትር) {
መለኪያ.ትሪም ();
strcpy (param_buf ፣ parameter.c_str ());
Wire.write (param_buf);
}
Wire.endTransmission ();
Serial.println ();
Serial.println ("በ I2C በኩል ተልኳል!");
Serial.println ();
Serial.println ("");
_አዲስ_ዳታ = ሐሰት;
}
}

በ GitHub የተስተናገደ rawuno_i2c_command_input.ino ን ይመልከቱ

ደረጃ 4: ቀጣይ እርምጃዎች

ከቀረቡት ግንባታዎች ፣ የእራስዎን ASSIMILATE IOT NETWORK ለመገንባት በቂ ተንቀሳቃሽ ክፍሎች አሉዎት።

እያንዳንዱ የአንጓዎች ተግባራት (ዳሳሾች እና ተዋንያን) በተገደበ ሁኔታ ቁጥጥር ይደረግባቸዋል ፣ የሚደገፉትን ባህሪዎች ማንኛውንም ዕውቀት እንዲኖራቸው በ MCU ጌታ ላይ አይመሰረትም።

ከ MQTT ደላላ ጋር የሚገናኝ ማንኛውም መተግበሪያ የ IOT መስቀሉን እያንዳንዱን ባህሪ መቆጣጠር/መመልከት ይችላል። ያ M2M ፣ የድር መተግበሪያዎች ፣ IFTTT እና የመሳሰሉት። ወደ እርስዎ IOT ዓለም በጣም ቀላል (ወይም ከፈለጉ የበለፀጉ) በይነገጾች።

የሚመከር: