فهرست مطالب:
تصویری: IOT123 - I2C BRICK MASTER JIG: 4 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
در حین توسعه سنسورها و بازیگران ASSIMILATE ، من UNO را برای ارسال دستورات adhoc I2C به نمونه های در حال توسعه مفید نگه می دارم. یکی از مزایای آجر I2C پین های استاندارد است. به جای استفاده از سیم های ورق در هر بار (به Fritzings مراجعه کنید) ، از یک سپر قوی فناوری استفاده می شود.
مرحله 1: مواد و ابزارها
- 4cm x 6cm PCB Uninersal (1)
- سیم اتصال (6 پوند)
- مقاومت 4K7 (2) 6
- سربرگ مرد (12P ، 8P)
- سرصفحه زن (9P ، یا 3P ، 3P)
- لحیم و آهن (1)
مرحله 2: مونتاژ
اگر از 2 سربرگ زن 3P به جای هدر زن 1P 9P استفاده کنید ، ASSIMILATE SENSOR/ACTORS بدون جدا کردن آنها روی JIG قرار می گیرد.
با سیم کشی ، انتهای آن را تا 10 میلی متر بردارید و انتهای آن را قلع کنید.
- در پایین PCB ، هدر نر (1) (2) را وارد کرده و در بالای آن لحیم کنید.
- در بالای PCB ، هدر زنانه (3) را وارد کرده و در پایین لحیم کنید.
- در بالا ، یک سیم قرمز را به RED1 و RED2 سوراخ کنید.
- در قسمت پایین ، سیم از سوراخ از RED1 به RED3.
- در پایین ، سیم از سوراخ از RED2 به RED5 ، و لحیم کنید.
- در بالا ، سیم از سوراخ RED3 به RED4 ، و لحیم کنید.
- در بالا ، یک سیم قرمز را به RED6 و RED7 سوراخ کنید.
- در قسمت پایین ، سیم از سوراخ RED6 به RED8.
- در قسمت پایین ، سیم از سوراخ RED7 به RED10 ، و لحیم کنید.
- در بالا ، سیم از سوراخ از RED8 به RED9 ، و لحیم کنید.
- در بالا ، یک سیم سیاه را به رنگ BLACK1 و BLACK2 از طریق سوراخ کنید.
- در قسمت پایین ، سیم از سوراخ از BLACK1 به BLACK3.
- در قسمت پایین ، سیم از سوراخ BLACK2 به BLACK5 ، و لحیم کنید.
- در بالا ، سیم از سوراخ BLACK3 به BLACK4 ، و لحیم کنید.
- در بالا ، یک سیم آبی را به رنگ BLUE1 و BLUE2 سوراخ کنید.
- در پایین ، سیم از طریق سوراخ از BLUE1 به BLUE3.
- در قسمت پایین ، سیم از سوراخ BLUE2 به BLUE5 ، و لحیم کنید.
- در بالا ، سیم از سوراخ BLUE3 به BLUE4 ، و لحیم کنید.
- در بالا ، سیم سبز را به GREEN1 و GREEN2 سوراخ کنید.
- در قسمت پایین ، سیم از سوراخ GREEN1 به GREEN3.
- در قسمت پایین ، سیم از سوراخ GREEN2 به GREEN5 ، و لحیم کنید.
- در بالا ، سیم از سوراخ GREEN3 به GREEN4 ، و لحیم کنید.
- در قسمت بالا ، یک مقاومت 4K7 را در SILVER3 و SILVER4 سوراخ کنید.
- در قسمت پایین ، سیم از سوراخ SILVER3 به GREEN5 ، و لحیم کنید.
- در قسمت پایین ، سیم از سوراخ SILVER4 به RED10 ، و لحیم کنید.
- در قسمت بالا ، یک مقاومت 4K7 را در SILVER1 و SILVER2 سوراخ کنید.
- در قسمت پایین ، سیم از سوراخ SILVER1 به BLUE5 ، و لحیم کنید.
- در پایین ، سیم از سوراخ SILVER2 به RED10 ، و لحیم کنید.
مرحله 3: کد UNO
طرح اینجا ابتدایی است. این به شما امکان می دهد از ورودی کنسول استفاده کنید تا UNO پیام های I2C را به I2C ATTINY85 BRICK ارسال کند.
همه دستورالعمل ها با گزینه های پشتیبانی شده روی صفحه چاپ می شوند.
دستورات adhoc I2C BRICK برای برده ها از UNO master
#عبارتند از |
const byte _num_chars = 32؛ |
char _rechaived_chars [_num_chars]؛ // آرایه ای برای ذخیره داده های دریافتی |
boolean _has_new_data = false؛ |
voidsetup () { |
Serial.begin (9600)؛ |
Serial.println ()؛ |
Serial.println ("ASSIMILATE IOT ACTOR/SENSOR EEPROM EDITOR") ؛ |
Serial.println ("اطمینان از انتخاب خط جدید در پنجره کنسول") ؛ |
Serial.println ()؛ |
Serial.println ("ADDRESS 1 CONFIRM METADATA RECEIPT N/A (FOR M2M)")؛ |
Serial.println ("ADDRESS 2 ACTOR COMMAND")؛ |
Serial.println ()؛ |
Serial.println ("آدرس های اتوبوس:")؛ |
scan_i2c_addresses ()؛ |
Serial.println ()؛ |
Serial.println ("")؛ |
} |
voidscan_i2c_addresses () { |
int device_count = 0؛ |
for (آدرس بایت = 8 ؛ آدرس <127 ؛ آدرس ++) |
{ |
Wire.begin انتقال (آدرس) ؛ |
const byte error = Wire.endTransmission ()؛ |
if (خطا == 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 ()؛ |
if (rc! = end_marker) { |
_received_chars [ndx] = rc؛ |
ndx ++ ؛ |
if (ndx> = _num_chars) { |
ndx = _num_chars - 1؛ |
} |
} |
دیگری { |
_received_chars [ndx] = '\ 0'؛ // خاتمه رشته |
ndx = 0 ؛ |
_has_new_data = true؛ |
} |
} |
} |
voidsend_to_i2c () { |
char param_buf [16]؛ |
const رشته دریافت شده_سترینگ = رشته (_received_chars)؛ |
if (_has_new_data == true) { |
int idx1 = دریافت_string.indexOf ('')؛ |
آدرس رشته = rece_string.substring (0 ، idx1) ؛ |
int address_int = address.toInt ()؛ |
if (address_int <8 || address_int> 127) { |
Serial.println ("ورودی آدرس نامعتبر:") ؛ |
Serial.println (آدرس) ؛ |
برگشت؛ |
} |
int idx2 = دریافت_string.indexOf (''، idx1+1)؛ |
کد رشته ؛ |
if (idx2 == -1) { |
کد = rece_string.substring (idx1+1) ؛ |
} دیگری { |
کد = rece_string.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) { |
پارامتر = rece_string.substring (idx2 + 1 ، idx2 + 17) ؛ // حداکثر 16 حرف |
if (parameter.length () <1) { |
Serial.println ("PARTAMETER MIN. LENGTH 1")؛ |
_has_new_data = false؛ |
برگشت؛ |
} |
} دیگری { |
if (code_int> 1) { |
Serial.println ("پارامتر مورد نیاز است!")؛ |
_has_new_data = false؛ |
برگشت؛ |
} |
} |
Serial.println ()؛ |
Serial.print ("input orig =")؛ |
Serial.println (رشته_ دریافتی) ؛ |
Serial.print ("آدرس =")؛ |
Serial.println (آدرس) ؛ |
Serial.print ("code =")؛ |
Serial.println (کد) ؛ |
Serial.print ("parameter =")؛ |
Serial.println (پارامتر) ؛ |
// ارسال از طریق 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 ("SIA VIA I2C!") ؛ |
Serial.println ()؛ |
Serial.println ("")؛ |
_has_new_data = false؛ |
} |
} |
مشاهده rawuno_i2c_command_input.ino میزبان با ❤ توسط GitHub
مرحله 4: مراحل بعدی
از ساختارهای ارائه شده ، قطعات متحرک کافی برای ساختن شبکه ASOTIMILATE IOT NETWORK وجود دارد.
هر یک از عملکردهای جداگانه گره ها (سنسورها و بازیگران) به صورت غیر متمرکز قابل کنترل هستند ، بستگی به این ندارد که استاد MCU هرگونه آگاهی از ویژگی های پشتیبانی شده داشته باشد.
هر برنامه ای که به کارگزار MQTT متصل می شود می تواند همه ویژگی های گره IOT را کنترل/مشاهده کند. این M2M ، برنامه های وب ، IFTTT و غیره است. رابط های بسیار ساده تر (یا غنی تر اگر دوست دارید) به دنیای IOT شما.
توصیه شده:
DRONE MASTER: 6 مرحله
DRONE MASTER: این طراحی سه بعدی یک روبات هوش مصنوعی است. هماهنگی و کنترل همه هواپیماهای بدون سرنشین در برنامه یا عملکردهای بزرگ یا حتی در یک مسابقه فوتبال بسیار دشوار است. ما برای انجام این کار به اپراتورهای بدون سرنشین آموزش دیده تر نیاز داریم. اما این روبات هوش مصنوعی آینده نگر است و ب
تست SMD Jig: 3 مرحله
SMD Testing Jig: SMD ها هنگامی که به آنها عادت می کنید عالی هستند ، اما اندازه کوچک نوجوان آنها آزمایش آنها را دشوار می کند. من چند سال پیش برداشت SMD های استفاده شده را از تخته های مدار قدیمی شروع کردم. اجزای رایگان ، بله! اما مشکل مرتب سازی و یافتن آنها وجود دارد
روی Brick Switch for Makey Makey کلیک کنید: 4 مرحله (همراه با تصاویر)
روی Brick Switch for Makey Makey کلیک کنید: این سوئیچ چاپ سه بعدی به کاربر اجازه می دهد Makey Makey را به & quot؛ اسلاید انگشت & quot؛ برای & quot؛ کلیک کنید & quot؛ در بازی یا می تواند فلش راست/چپ برای حرکت در ارائه ها باشد. افزودن پایه های ترمینال راست و چپ برای
500 LED-Pixel RGB-Brick: 9 مرحله (همراه با تصاویر)
500 LED-Pixel RGB-Brick: چندی پیش من یک LED-Coffetable 10x10 با برخی از این LED های WS2812 می سازم ، اما حتی اگر امکان بازی قدیمی بازی Snake با تلفن هوشمند متصل به آن وجود داشته باشد ، من چیز بیشتری می خواهم خاص بنابراین تصمیم گرفتم چند راهنمای دیگر برای آن بگذارم ، arra
IOT123 - ATTINY85 SOFTWARE SERIAL JIG Assembly: 4 مرحله
IOT123 - ATTINY85 SOFTWARE SERIAL JIG Assembly: من از ATTINY85 برای ترکیب سنسورهای کم مصرف استفاده می کنم. در ابتدا من فکر می کردم هیچ راهی برای اشکال زدایی این تراشه ها با استفاده از یک کنسول وجود ندارد و از برخی از & quot؛ در خارج & quot؛ روش هایی برای مشاهده آنچه در زمان اجرا اتفاق می افتد سپس با SoftwareSeria روبرو شدم