Мазмұны:

IOT123 - I2C BRICK MASTER JIG: 4 қадам
IOT123 - I2C BRICK MASTER JIG: 4 қадам

Бейне: IOT123 - I2C BRICK MASTER JIG: 4 қадам

Бейне: IOT123 - I2C BRICK MASTER JIG: 4 қадам
Бейне: Как сделать инструкцию LEGO в формате PDF? Bricklink Studio 2.0 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 and ACTORS әзірлей отырып, мен жасалынатын прототиптерге adhoc I2C командаларын жіберу үшін UNO -ны қолда ұстаймын. I2C BRICKS артықшылықтарының бірі стандартталған түйреуіштер болып табылады. Нан тақтасы сымдарын қолданудың орнына (фрицингтерді қараңыз), берік технологиялық қалқан қолданылады.

1 -қадам: материалдар мен құралдар

Құралдар мен материалдар
Құралдар мен материалдар
Құралдар мен материалдар
Құралдар мен материалдар
Құралдар мен материалдар
Құралдар мен материалдар
Құралдар мен материалдар
Құралдар мен материалдар
  1. 4см x 6см біркелкі емес ПХД (1)
  2. Қосылатын сым (~ 6)
  3. 4K7 резисторлары (2) 6
  4. Ерлер тақырыбы (12P, 8P)
  5. Әйел тақырыбы (9P немесе 3P, 3P)
  6. Дәнекер және темір (1)

2 -қадам: құрастыру

Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея

Егер сіз 1 разрядты 9П әйел тақырыбының орнына 2 ажыратымды 3P әйел тақырыптарын қолдансаңыз, ASSIMILATE SENSOR/ACTORS JIG -ге оларды бөлшектеместен сәйкес келеді.

Сым арқылы ұштарынан 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 резисторы SILVER1 мен SILVER2.
  27. Төменгі жағында SILVER1-ден BLUE5-ке дейінгі саңылау және сым.
  28. Төменгі жағында SILVER2-ден RED10-ға дейінгі саңылаулы сым және дәнекерленген.

3 -қадам: БҰҰ коды

БҰҰ коды
БҰҰ коды

Мұндағы эскиз қарапайым. Бұл консольді енгізуді пайдалануға, БҰҰ I2C хабарламаларын I2C ATTINY85 BRICK жіберуге мүмкіндік береді.

Барлық нұсқаулар қолдау көрсетілетін опциялармен бірге экранға шығарылады.

I2C BRICK БҰҰ шеберінің құлдарға арналған арнайы командалары

#қосу
const байт _num_chars = 32;
char _received_chars [_num_chars]; // алынған мәліметтерді сақтауға арналған массив
логикалық _has_new_data = жалған;
voidsetup () {
Serial.begin (9600);
Serial.println ();
Serial.println («IOT ACTOR/SENSOR EEPROM EDITOR РЕДАКТОРЫН ҚҰРУ»);
Serial.println («консоль терезесінде жаңа жолды таңдауды қамтамасыз ету»);
Serial.println ();
Serial.println («АДРЕС 1 METADATA ҚАБЫЛДАУЫН ЖОҚ (M2M үшін) РАҚСАТТАҢЫЗ»);
Serial.println («АДРЕС 2 АКТОР ПАРДАМЕНТІ»);
Serial.println ();
Serial.println («АВТОБУСТАРДАҒЫ АДРЕСТЕР:»);
scan_i2c_addresses ();
Serial.println ();
Serial.println («»);
}
voidscan_i2c_addresses () {
int device_count = 0;
үшін (байт адрес = 8; адрес <127; адрес ++)
{
Wire.beginTransmission (мекенжай);
const байт қателігі = Wire.endTransmission ();
егер (қате == 0)
{
Serial.println (мекен -жайы);
}
}
}
voidloop () {
recv_with_end_marker ();
send_to_i2c ();
}
voidrecv_with_end_marker () {
статикалық байт ndx = 0;
char end_marker = '\ n';
char rc;
while (Serial.available ()> 0 && _has_new_data == false) {
rc = Serial.read ();
егер (rc! = end_marker) {
_received_chars [ndx] = rc;
ndx ++;
егер (ndx> = _num_chars) {
ndx = _нөмір_шарлар - 1;
}
}
басқа {
_received_chars [ndx] = '\ 0'; // жолды тоқтатыңыз
ndx = 0;
_has_new_data = ақиқат;
}
}
}
voidsend_to_i2c () {
char param_buf [16];
const Жол қабылданды_жол = Жол (_қабылданған_шарлар);
егер (_has_new_data == ақиқат) {
int idx1 = алынды_string.indexOf ('');
Жол мекенжайы = алынды_string.substring (0, idx1);
int address_int = address.toInt ();
if (address_int <8 || address_int> 127) {
Serial.println («ADRESS INPUT INVALID:»);
Serial.println (мекен -жайы);
қайтару;
}
int idx2 = алынды_string.indexOf ('', idx1+1);
Жол коды;
егер (idx2 == -1) {
код = алынған_стринг.substring (idx1+1);
} басқа {
код = алынған_стринг.substring (idx1+1, idx2+1);
}
int code_int = code.toInt ();
if (code_int <0 || code_int> 5) {
Serial.println («КОД КІРІСІ ЖАҚСЫ:»);
Serial.println (код);
қайтару;
}
bool has_parameter = idx2> -1;
Жол параметрі;
if (has_parameter) {
параметр = алынды_string.substring (idx2 + 1, idx2 + 17); // максимум 16 таңба
if (paramet.length () <1) {
Serial.println («PARTAMETER MIN. LENGTH 1»);
_has_new_data = жалған;
қайтару;
}
} басқа {
егер (code_int> 1) {
Serial.println («ПАРАМЕТР КЕРЕК!»);
_has_new_data = жалған;
қайтару;
}
}
Serial.println ();
Serial.print («кіріс ориг =»);
Serial.println (алынған_жол);
Serial.print («мекен -жай =»);
Serial.println (мекен -жайы);
Serial.print («код =»);
Serial.println (код);
Serial.print («параметр =»);
Serial.println (параметр);
// I2C арқылы жіберу
Wire.beginTrmission (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 («ЖІБЕРІЛДІ I2C!»);
Serial.println ();
Serial.println («»);
_has_new_data = жалған;
}
}

rawuno_i2c_command_input.ino -ды GitHub ❤ арқылы орналастыруды қараңыз

4 -қадам: Келесі қадамдар

Ұсынылған конструкциялардан сіз өзіңіздің жеке ассоциациялаушы IOT ЖЕЛІСІН құру үшін қозғалмалы бөліктер жеткілікті.

Түйіндердің әрбір жеке функциялары (сенсорлар мен актерлер) орталықтандырылмаған түрде басқарылады, MCU шеберіне қолдау көрсетілетін мүмкіндіктер туралы білуге байланысты емес.

MQTT брокеріне қосылатын кез келген қосымша IOT түйінінің барлық мүмкіндіктерін бақылай алады/бақылай алады. Бұл M2M, веб -қосымшалар, IFTTT және т. IOT әлеміне әлдеқайда қарапайым (немесе қаласаңыз, бай) интерфейстер.

Ұсынылған: