Mündəricat:
Video: IOT123 - I2C BRICK MASTER JIG: 4 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
ASSIMILATE SENSORS and ACTORS hazırlayarkən, inkişaf etdirilən prototiplərə adhoc I2C əmrləri göndərmək üçün UNO -nu əlinizdə saxlayıram. I2C BRICKS -in üstünlüklərindən biri standartlaşdırılmış pinoutlardır. Hər dəfə çörək taxtası telləri istifadə etmək əvəzinə (Fritzings-ə baxın), möhkəm bir lo-tech qalxanı istifadə olunur.
Addım 1: Materiallar və Alətlər
- 4 sm x 6 sm Uninersal PCB (1)
- Bağlama teli (~ 6)
- 4K7 Rezistorlar (2) 6
- Kişi Başlığı (12P, 8P)
- Qadın Başlığı (9P və ya 3P, 3P)
- Lehim və Dəmir (1)
Addım 2: Quraşdırma
1 off 9P dişi başlıq əvəzinə 2 off 3P qadın başlıqlardan istifadə edirsinizsə, ASSIMILATE SENSOR/ACTORS onları sökmədən JIG -ə uyğun olacaq.
Kablolama ilə, uclarından 10 mm -ə qədər soyun və ən uclarını qalaylayın.
- PCB -nin altına kişi başlığını (1) (2) daxil edin və üstünə lehimləyin.
- PCB -nin yuxarı hissəsində, dişi başlığı (3) və lehimi aşağıya daxil edin.
- Yuxarıda, RED1 və RED2-ə qırmızı bir tel keçir.
- Aşağıda, RED1-dən RED3-ə qədər olan delikli tel.
- Aşağıda, RED2-dən RED5-ə qədər olan delikli tel və lehim.
- Üst tərəfdə, RED3-dən RED4-ə qədər olan delikli tel və lehim.
- Yuxarıda, RED6 və RED7-ə qırmızı bir tel keçir.
- Aşağıda, RED6-dan RED8-ə qədər olan delikli tel.
- Aşağıda, RED7-dən RED10-a qədər olan delikli tel və lehim.
- Üst tərəfdə, RED8-dən RED9-a qədər olan delikli tel və lehim.
- Yuxarıda, BLACK1 və BLACK2-ə qara bir tel keçir.
- Altda, BLACK1-dən BLACK3-ə qədər olan delikli tel.
- Altda, BLACK2-dən BLACK5-ə qədər olan delikli tel və lehim.
- Yuxarıda, BLACK3-dən BLACK4-ə qədər olan delikli tel və lehim.
- Yuxarıda, BLUE1 və BLUE2-ə mavi bir tel keçir.
- Aşağıda, BLUE1-dən BLUE3-ə qədər olan delikli tel.
- Aşağıda, BLUE2-dən BLUE5-ə qədər olan delikdən keçən tel və lehim.
- Yuxarıda, BLUE3-dən BLUE4-ə qədər olan delikli tel və lehim.
- Yuxarıda, GREEN1 və GREEN2-ə yaşıl bir tel keçir.
- Aşağıda, GREEN1-dən GREEN3-ə qədər olan delikli tel.
- Aşağıda, GREEN2-dən GREEN5-ə qədər olan delikli tel və lehim.
- Yuxarıda, GREEN3-dən GREEN4-ə qədər olan delikli tel və lehim.
- Yuxarıda, SILVER3 və SILVER4-ə 4K7 rezistorla keçin.
- Aşağıda, SILVER3-dən GREEN5-ə qədər olan delikli tel və lehim.
- Aşağıda, SILVER4-dən RED10-a qədər olan delikli tel və lehim.
- Yuxarıda, SILVER1 və SILVER2 daxilində 4K7 rezistorlu delik açılır.
- Aşağıda, SILVER1-dən BLUE5-ə qədər olan çuxurlu tel və lehim.
- Aşağıda, SILVER2-dən RED10-a qədər olan çuxurlu tel və lehim.
Addım 3: UNO üçün kod
Buradakı eskiz ilkin xarakter daşıyır. UNO -nun I2C ATTINY85 BRICK -ə I2C mesajları göndərməsini təmin etmək üçün Konsol Girişindən istifadə etməyə imkan verir.
Bütün təlimatlar dəstəklənən seçimlərlə birlikdə ekranda çap olunur.
UNO ustasının kölələri üçün I2C BRICK adhoc əmrləri
#daxil edin |
const bayt _num_chars = 32; |
char _received_chars [_num_chars]; // alınan məlumatları saxlamaq üçün bir sıra |
boolean _has_new_data = yalan; |
voidsetup () { |
Serial.begin (9600); |
Serial.println (); |
Serial.println ("IOT ACTOR/SENSOR EEPROM REDAKTORU ASSIMILATE"); |
Serial.println ("konsol pəncərəsində yeni sətrin seçilməsini təmin edin"); |
Serial.println (); |
Serial.println ("ADRES 1 METADATA QƏBULUNU YOXDUR (M2M ÜÇÜN)"); |
Serial.println ("ADRES 2 ACTOR COMMAND"); |
Serial.println (); |
Serial.println ("Avtobusdakı ünvanlar:"); |
scan_i2c_addresses (); |
Serial.println (); |
Serial.println (""); |
} |
voidscan_i2c_addresses () { |
int device_count = 0; |
üçün (bayt ünvanı = 8; ünvan <127; ünvan ++) |
{ |
Wire.beginTransmission (ünvan); |
const bayt xətası = Wire.endTransmission (); |
əgər (səhv == 0) |
{ |
Serial.println (ünvan); |
} |
} |
} |
voidloop () { |
recv_with_end_marker (); |
send_to_i2c (); |
} |
voidrecv_with_end_marker () { |
statik bayt ndx = 0; |
char end_marker = '\ n'; |
char rc; |
while (Serial.available ()> 0 && _has_new_data == false) { |
rc = Serial.read (); |
əgər (rc! = end_marker) { |
_received_chars [ndx] = rc; |
ndx ++; |
əgər (ndx> = _num_chars) { |
ndx = _num_chars - 1; |
} |
} |
başqa { |
_received_chars [ndx] = '\ 0'; // simli dayandırın |
ndx = 0; |
_has_new_data = doğru; |
} |
} |
} |
voidsend_to_i2c () { |
char param_buf [16]; |
const String qəbul_string = String (_received_chars); |
əgər (_has_new_data == doğru) { |
int idx1 = qəbul_string.indexOf (''); |
String ünvanı = aldı_string.substring (0, idx1); |
int address_int = address.toInt (); |
əgər (ünvan_int <8 || ünvan_int> 127) { |
Serial.println ("GÜÇÜN ADRES GİRİŞİ:"); |
Serial.println (ünvan); |
qayıtmaq; |
} |
int idx2 = alınan_string.indexOf ('', idx1+1); |
String kodu; |
əgər (idx2 == -1) { |
kod = alınan_string.substring (idx1+1); |
} başqa { |
kod = alınan_string.substring (idx1+1, idx2+1); |
} |
int code_int = code.toInt (); |
əgər (code_int <0 || code_int> 5) { |
Serial.println ("GÜÇÜN KOD GİRİŞİ:"); |
Serial.println (kod); |
qayıtmaq; |
} |
bool has_parameter = idx2> -1; |
String parametri; |
əgər (has_parametr) { |
parametr = alınan_string.substring (idx2 + 1, idx2 + 17); // maksimum 16 simvol |
if (parametr.length () <1) { |
Serial.println ("PARTAMETRE MİN. UZUNLUQ 1"); |
_has_new_data = yalan; |
qayıtmaq; |
} |
} başqa { |
əgər (code_int> 1) { |
Serial.println ("PARAMETR TƏLƏB EDİLİR!"); |
_has_new_data = yalan; |
qayıtmaq; |
} |
} |
Serial.println (); |
Serial.print ("giriş orig ="); |
Serial.println (qəbul_dizgi); |
Serial.print ("ünvan ="); |
Serial.println (ünvan); |
Serial.print ("kod ="); |
Serial.println (kod); |
Serial.print ("parametr ="); |
Serial.println (parametr); |
// I2C VIA GÖNDƏRİN |
Wire.beginTransmission (ünvan_int); |
Wire.write (code_int); |
əgər (has_parametr) { |
parameter.trim (); |
strcpy (param_buf, parameter.c_str ()); |
Wire.write (param_buf); |
} |
Wire.endTransmission (); |
Serial.println (); |
Serial.println ("I2C VIA VAR!"); |
Serial.println (); |
Serial.println (""); |
_has_new_data = yalan; |
} |
} |
GitHub tərəfindən ❤ ilə evlənən rawuno_i2c_command_input.inoya baxın
Addım 4: Növbəti addımlar
Təqdim olunan quruluşlardan, öz ASSIMILATE IOT AĞ Şəbəkənizi qurmağınız üçün kifayət qədər hərəkət edən hissələr var.
Düyünlərin (sensorlar və aktyorlar) fərdi funksiyalarının hər biri MCU ustasının dəstəklənən xüsusiyyətlər haqqında hər hansı bir bilgiyə malik olmasından asılı olmayaraq mərkəzləşdirilməmiş bir şəkildə idarə olunur.
MQTT brokerinə qoşulan hər hansı bir tətbiq IOT Node -un hər xüsusiyyətini idarə edə/müşahidə edə bilər. Bu M2M, veb tətbiqləri, IFTTT və s. IOT dünyanız üçün daha sadə (və ya istəsəniz daha zəngin) interfeyslər.
Tövsiyə:
Arduino Brick Color Sorter Layihəsi: 5 addım
Arduino Kərpic Rəng Sorter Layihəsi: Bu Arduino Dərsliyində, Arduino və TCS3200 Rəng Sensorundan istifadə edərək oyuncaq kərpicimin rənglərini necə aşkar edəcəyimizi öyrənəcəyik. Ətraflı məlumat üçün aşağıda yazılı təlimatı oxuya bilərsiniz.Materiallar: Arduino Leonardo x 1TCS3200 x 1 Çoxlu karton 180 Servo
IOT123 - ATTINY85 ONBOARD PROGRAMLAMA JIG: 3 addım
IOT123 - ATTINY85 ONBOARD PROGRAMLAMA JIG: BRICK dizaynlarında, DIP8 PCB -yə lehimlənərkən bir pogo pin proqramçısını işə salmaq üçün ATTINY85 -ə bitişik olan deliklərin istifadəsiz qaldığını qeyd etdim. Bu pogo pin proqramçısıdır. Bu, həqiqətən, sadəcə bir adapterə aiddir
IOT123 - LIR2032 BATTERY BRICK: 4 addım
IOT123 - LIR2032 BATTERY BRICK: IOT123 BRICKS, bir düyünə funksionallıq əlavə etmək və ya geyinə bilmək üçün digər IOT123 BRICKS ilə qarışdırıla bilən DIY modul qurğulardır. Onlar düymlük kvadrat, çuxurlardan bir-birinə bağlı olan iki tərəfli protoboardlara əsaslanır
IOT123 - ATTINY85 SOFTWARE SERIAL JIG Assambleyası: 4 addım
IOT123 - ATTINY85 SOFTWARE SERIAL JIG Assambleyası: Mən aşağı güclü sensorlar yığmaq üçün ATTINY85 -dən istifadə edirdim. Əvvəlcə bir konsol istifadə edərək bu fişləri düzəltməyin bir yolu olmadığını düşündüm və olduqca "orada" istifadə etdim. iş zamanı baş verənləri gözdən keçirmək üsulları. Sonra SoftwareSeria ilə qarşılaşdım
Sadə Lehimləmə Jig: 5 addım
Sadə Lehimləmə Jig: Mən tez-tez eyni ölçüdə olan bir dəstə PCB-ni lehimləməli oluram, amma üzərində çoxlu qarışıq komponentlər var. Vaxt və məyusluğa qənaət etmək üçün istifadə etmək üçün istifadə olunan saqqız qalayını yenidən hazırlamaq qərarına gəldim. jig birdən çox lövhəni lehimləyə biləcəyim üçün