Mündəricat:
- Addım 1: Materiallar və Alətlər
- Addım 2: ATTINY85 hazırlayın
- Addım 3: Dövrə yığın
- Addım 4: Test
- Addım 5: Növbəti addımlar
Video: IOT123 - I2C KY019 Kərpic: 5 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
IOT123 BRICKS, bir düyünə funksionallıq və ya geyilə bilə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.
Bu BRICK -lərin bir çoxunun bir saytda birdən çox qovşaqda (Master MCU -lar - ESP8266 və ya ATTINY84) olması gözlənilir. MCU, sensorların məqsədi və ya proqram ehtiyacları haqqında əvvəlcədən məlumat tələb etmir. I2C qovşaqlarını tarar, sonra hər bir quldan bir mülk zibilliyi (sensor məlumatları) tələb edir. Bu BRICKs 5.0V, 3.3V və özelleştirilebilir başqa bir AUX xətti təmin edir.
Bu I2C KY019 BRICK, AKTORLARIN birincisidir və bir oxu/yazma xüsusiyyətinə malikdir:
Keçid (doğru/yanlış)
Keyes tipli kərpiclər əvvəlcə vitaminlər (əlavə komponentlərə ehtiyac duyulur) daxil edildikləri və nisbətən cəlbedici olduqları üçün soyudulacaq (37 AUD üçün 37 almışam). Digər lövhələr/sxemlər I2C BRICKS ilə tanış olacaq.
ATTINY85-ə bitişik olan deliklər, DIP8 PCB-yə lehimlənərkən bir pogo pin proqramçısını işə salmaq üçün istifadə edilməmişdir. D1M WIFI BLOCK hub -a qoşulan kiçik silindrlərdə BRICKS -in qablaşdırılması, dəyərlərin MQTT serverinə ötürülməsi ilə əlaqəli başqa bir abstraksiya hazırlanır.
Addım 1: Materiallar və Alətlər
Tam bir material və qaynaq siyahısı var.
- KY-019 Rölesi (1)
- ATTINY85 20PU (1)
- 1 "İki tərəfli protoboard (1)
- Kişi Başlığı 90º (3P, 3P)
- Bağlama teli (~ 7)
- Lehim və Dəmir (1)
Addım 2: ATTINY85 hazırlayın
QEYD: Crouton inteqrasiyasına sahib olmaq istəyirsinizsə, buradan kitabxanadan istifadə edin və "attiny_ky019" quraşdırılmış nümunədən istifadə edin.
Şuralar Menecerindən AttinyCore tələb olunur. "EEPROM Saxlandı", "8mHZ Daxili" önyükleyici yazın (bütün konfiqurasiya yuxarıda göstərilmişdir).
Kod anbarını burada tapa bilərsiniz.
Kitabxananın bir ZIP ünvanını burada tapa bilərsiniz.
"ZIP Kitabxanasının idxal edilməsi" üçün təlimatlar burada.
Kitabxana quraşdırıldıqdan sonra "attiny_ky019" nümunəsini aça bilərsiniz.
Firmware -ni ATTINY85 -ə yükləmək üçün bu təlimatlarda daha ətraflı məlumat tapa bilərsiniz:
www.instructables.com/id/Programming-the-A…
www.instructables.com/id/How-to-Program-AT…
www.instructables.com/id/How-to-program-th…
www.instructables.com/id/Programming-the-A…
www.instructables.com/id/Programming-an-At…
Davam etməzdən əvvəl çörək taxtası vasitəsilə test etmək daha yaxşıdır.
Mövcud ASSIMILATE SENSORS varsa, bir SENSOR/MCU Host kombinasiyasında kölə ünvanın fərqli olduğundan əmin olun, yəni MCU/düyündə yalnız bir Relay aktyoru olduğu müddətdə bütün Relay aktyorları eyni ünvana sahib ola bilərlər.
Addım 3: Dövrə yığın
- Ön tərəfə ATTINY85 (1), 3P 90deg kişi başlıqlarını (2) (3) daxil edin və arxada lehimləyin.
- Arxa tərəfdə, sarı teldən SARI2 -ə qədər sarı bir tel izləyin və lehimləyin.
- Arxa tərəfdə, BLUE1 -dən BLUE2 -ə qədər mavi bir tel izləyin və lehimləyin.
- Arxa tərəfdə, GREEN1 -dən GREEN2 -ə qədər bir yaşıl tel izləyin və lehimləyin.
- Arxa tərəfdə, BLACK1 -dən BLACK2 -ə qədər qara teli və lehimi izləyin.
- Arxa tərəfdə, BLACK3 -dən BLACK4 -ə qədər qara tel və lehim izi çəkin.
- Arxa tərəfdə RED1 -dən RED2 -ə qədər qırmızı tel və lehim izi çəkin.
- Arxa tərəfdə, RED3 -dən RED4 -ə qədər qırmızı tel və lehim izi çəkin.
Röle, pinləri vasitəsilə birbaşa PCB -yə və ya tellər vasitəsilə pin müqaviləsində göstərilən nöqtələrə qoşula bilər.
Addım 4: Test
Bu BRICK -lərin bir çoxunun bir mühitdə çoxlu qovşaqlarda (MCU -lar - ESP8266 və ya ATTINY84) olması gözlənilir. Bu vahid testidir: UNO -dan I2C əmrlərini röleyi açan və ya bağlayan ATTINY -ə göndərir.
Daha əvvəl Arduino üçün I2C SHIELD qurduq.
Bunun yerinə çörək taxmaq istəyirsinizsə:
- UNO üzərindəki 5.0V -ni BRICK üzərindəki VCC -yə qoşun.
- UNO üzərindəki GND -ni BRICK üzərindəki GND -yə bağlayın.
- UNO üzərindəki A5 -i BRICK üzərindəki SCL -ə qoşun.
- UNO -da A4 -ü BRICK -də SDA -ya bağlayın.
- SDA-dan VCC-yə 4K7 çəkmə müqavimətini bağlayın.
- SCL-dən VCC-yə 4K7 çəkmə müqavimətini bağlayın.
Testdən keçmək
- UNO'nuzu USB ilə Dev PC -yə qoşun.
- Kodu UNO -ya yükləyin.
- Arduino Konsolunu açın. 9600 baud seçin (UNO -nu yenidən başladın və lazım olduqda konsolu yenidən açın).
- Qulun ünvanı konsola yazdırılacaq.
- Zaman, göndərmə qutusuna 2 1 daxil edin (beləliklə 12 2 1) və röle açılır.
- Zaman, göndərmə qutusuna 2 0 daxil edin (12 2 0) və röle sönür.
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 5: Növbəti addımlar
Bu kərpicdən istifadə edən ASSIMILATE ACTOR: KY019, artıq ATTINY85-də quraşdırılmış metadata vasitəsilə Crouton üçün avtomatik konfiqurasiyaya malikdir. Croutona göndərilən JSON paketi ICOS10 üçün ən son proqram təminatı vasitəsi ilə göndərilir. Quruluş indiyə qədər çox olarsa, adi bir ESP8266 üzərində bir Proof-of-concept edə bilərsiniz.
Testdə istifadə olunan UNO eskizi, hədəf I2C avtobusunuzda bir toqquşma varsa, ATTINY85 -də EEPROM -a yeni bir kölə ünvanı qeyd etmək funksiyasına malikdir.
Bir neçə sxem əlavə edildi, ancaq əldə etmək istədiyinizə bağlı olaraq aşağı axını bağlamaq üçün müxtəlif yollar var, buna görə də bunu sizin üçün buraxacağam:)
Tövsiyə:
Makey Makey üçün Kərpic Açarını Basın: 4 Addım (Şəkillərlə birlikdə)
Makey Makey üçün Brick Switch düyməsini basın: Bu 3D çap açarı istifadəçiyə Makey Makeyini "barmaq sürüşməsinə" çevirməyə imkan verəcək. " klik " üçün oyunlarda və ya sağ/sol oxlar ola bilər və təqdimatlar arasında hərəkət edə bilərsiniz. Sağ və sol terminal bağlayıcılarının əlavə edilməsi
Cib Telefonu Batareya Kərpic: 6 Addım
Cib Telefonu Batareyası Kərpic: Bu, kiçik lövhələrdə lehim etməyi öyrənməyə davam etmək imkanı verən gözəl, sadə bir həftə sonu layihəsidir. DIY layihələrinə girən hər kəs üçün bu möhtəşəm bir başlanğıc layihəsi etmək üçün hissələri tutmaq üçün ucuz və asan istifadə edir
500 LED-piksel RGB-Kərpic: 9 addım (şəkillərlə birlikdə)
500 LED-Pikselli RGB-Kərpic: Bir müddət əvvəl bu WS2812 LED-lərdən bəziləri ilə 10x10 LED-Coffetable qururam, ancaq köhnə məktəbli Snake oyununu ona qoşulmuş bir smartfonla oynamaq mümkün olsa belə, daha çox şey istəyirəm xüsusi. Buna görə daha bir neçə led qoymaq qərarına gəldim, arra
IOT123 - AKSİYASI YAXŞILA: KY019: 4 Addım
IOT123 - AKSİYASI YAXŞILAYIN: KY019: DC / AC siqnalını idarə edə bilən 5V TIL idarəetmə siqnalına malikdir.Bu quruluş I2C KY019 BRICK -ə əsaslanır. 2 kanala ehtiyacınız varsa, bu aktyoru 2CH RELAY BRICK ilə əvəz etməyi məsləhət görürəm. ƏSASLANAN AKTORLAR/SENSORLAR ətraf mühit aktyorlarıdır/senso
IOT123 - 5PIN ATTINY85 NRF24L01 Kərpic: 4 addım
IOT123 - 5PIN ATTINY85 NRF24L01 BRICK: YENİLƏNİB: Bu quraşdırma əsasən akademik və ya proqram/enerji təchizatını sınamaq üçün bir bazadır. PB5 RESET olaraq söndürüldükdə belə, analogRead istifadə edərək dəyərləri dəqiq oxumur: sensor oxunması üçün əsas istifadə çantası. ATTINY84 quruluşuna baxılacaq