Mündəricat:
- Addım 1: Material 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 MQ2 Kərpic: 5 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
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 MQ2 BRICK 3 xüsusiyyətini atır:
LPG (Milyon Parça), CO (PPM), DUMAN (PPM)
Bu Sensor maraqlı bir ssenari təqdim etdi: İstiləşmək üçün ən azı 2 dəqiqə (5 dəqiqəyə qədər) lazımdır, sonra istifadə etməzdən əvvəl 20 saniyə ərzində kalibr etməsi lazımdır. Ev sahibi MCU yalnız ad/dəyər cütləri (və davam mesajı) əldə etmək istədiyi üçün "HAZIRLA" xüsusiyyətini təqdim etdik. Davam mesajı "1" (daha çox gələcək) olduğu üçün, ev sahibi MCU hazır olana qədər BRICK -ı sorğu -sual etməyə davam edəcək. İstifadədən əvvəl MQ2-ni "yandırmaq" tövsiyə olunur, yəni 24 saat ərzində 5V dövrə bağlı olaraq buraxın.
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: Material və Alətlər
Tam bir material və qaynaq siyahısı var.
- MQ2 sensor kərpic (1)
- ATTINY85 20PU (1)
- 1 "İki tərəfli protoboard (1)
- Kişi Başlığı 90º (3P, 3P)
- Kişi Başlığı (2P, 2P)
- Jumper Şantı (1)
- Bağlama teli (~ 7)
- Lehim və Dəmir (1)
Addım 2: ATTINY85 hazırlayın
Ş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).
Daxil olan mənbədən istifadə edin; ATtiny85 -ə tərtib edin və proqramlaşdırın.
GIST burada:
gist.github.com/IOT-123/4c501046d365d01a60…
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 qul ünvanının fərqli olduğundan əmin olun, yəni bir MCU/nodda yalnız bir Temperatur sensoru olduğu müddətdə bütün Temperatur sensörləri eyni ünvana sahib ola bilər.
Addım 3: Dövrə yığın
- Ön tərəfə komponentləri ATTINY85 (1), 3P 90deg kişi başlıqları (2) (3), 2P kişi başlıqları (4) (5) daxil edin və arxadan lehimləyin.
- Arxa tərəfdə, ORANGE1 -dən ORANGE2 -ə qədər narıncı 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ə, SILVER1 -dən SILVER2 -ə qədər olan çılpaq bir teli və lehimi izləyin.
- Arxa tərəfdə, SILVER3 -dən SILVER4 -ə qədər olan çılpaq bir teli və lehimi izlə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.
- Arxa tərəfdə, sarı teldən SARI2 -ə qədər sarı bir tel izləyin və lehimləyin.
İndi sensor birbaşa pinləri vasitəsilə 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 testdir: bütün məlumatlar atılana qədər UNO istəklərini/cavablarını yoxlayır, sonra I2C qulunu laqeyd edir.
- UNO kodunu UNO test qoşquya yükləyin. ADDRESS_SLAVE -nin BRICK -in I2C ünvanına uyğun olduğundan əmin olun.
- UNO üzərindəki 5.0V -ni BRICK üzərindəki VCC -yə qoşun.
- Bu pin üçün tullananların olduğundan əmin olun.
- 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.
- UNO'nuzu USB ilə Dev PC -yə qoşun.
- Arduino Konsolunu açın. 9600 baud seçin (UNO -nu yenidən başladın və lazım olduqda konsolu yenidən açın).
- Mülkiyyət Adları və dəyərləri, yuxu sözü təkrarlandıqdan sonra konsola yazılmalıdır.
"Quraşdırma" görürsünüzsə, 3 satır zibil təkrarlanırsa, SDA və SCL xətlərinizi ön tərəfə çevirə bilərsiniz.
I2C Master, I2C qulundan plotter/metadata dəstəyi ilə giriş
#daxil edin |
#təyin ADDRESS_SLAVE10 |
bool _outputPlotterOnly = yalan; |
bool _confirmedMetadata = yanlış; |
int _packetSegment = 0; |
bool _i2cNodeProcessed = yalan; |
char _property [2] [24] = {"ad", "dəyər"}; |
voidsetup () { |
Wire.begin (); // i2c avtobusuna qoşul (master üçün isteğe bağlı ünvan) |
Serial.begin (9600); // çıxış üçün seriala başlayın |
gecikmə (1000); |
əgər (! _outputPlotterOnly) { |
Serial.println ("quraşdırma"); |
Serial.println (); |
} |
} |
voidloop () { |
əgər (_i2cNodeProcessed) { |
if (! _confirmedMetadata) {// sensora məlumat göndərməyə başlamağı qula bildirin |
gecikmə (1); |
Wire.beginTransmission (ADDRESS_SLAVE); |
Wire.write (1); |
Wire.endTransmission (); |
gecikmə (100); |
_confirmedMetadata = doğru; |
} |
_i2cNodeProcessed = yalan; |
əgər (! _outputPlotterOnly) { |
Serial.println (); |
} |
qayıtmaq; |
} |
Wire.requestFrom (ADDRESS_SLAVE, 16); |
_packetSegment ++; |
char paketi [16]; |
intindex = 0; |
bool isContinueSegment = false; // ContinueSegment (the 3rd) 1 = more, 0 = last |
while (Wire.available ()) {// kölə tələb olunandan az göndərə bilər |
char c = Wire.read (); |
paket [index] = int (c)> -1? c: ''; // etibarsız işarələri boşluqlarla əvəz edin |
əgər (_packetSegment == 3) { |
_packetSegment = 0; |
isContinueSegment = doğru; |
//Serial.println("------------- "); |
//Serial.println(int(c)); |
//Serial.println("------------- "); |
əgər (int (c) == 48 || int (c) == 86) {// 0 son xassədə |
_i2cNodeProcessed = doğru; |
// dəyərləri MQTT -ə göndərin |
fasilə; |
} |
} |
indeks ++; |
} |
if (! isContinueSegment) { |
əgər (! _outputPlotterOnly) { |
Serial.println (paket); |
} |
strcpy (_property [_packetSegment - 1], paket); // adı/dəyəri olan yerli var təyin edin |
} başqa { |
əgər (_outputPlotterOnly && _confirmedMetadata) { |
əgər (_i2cNodeProcessed) { |
Serial.println (_ mülkiyyət [1]); |
} başqa { |
Serial.print (_ mülkiyyət [1]); |
Serial.print (""); |
} |
} |
} |
} |
GitHub tərəfindən ❤ ilə ev sahibliyi edilən rawuno_i2c_generic_sensor_test_w_plotter_v2.ino
Addım 5: Növbəti addımlar
Proqramın dövrə və I2C qatının əsas düzeni bir çox fərqli sensora aiddir. Başlamaq üçün doğru olan əsas şey, ağa ilə qul arasındakı paket müqaviləsidir.
Bu çərçivəni istifadə edən və hissələr nəşr olunduqda əlaqələndirəcək (3D çaplı) paketlənmiş sensorlar şəbəkəsini planlaşdırdım/başladım.
Bu BLOK MQ2 ASSIMILATE SENSOR tərəfindən istifadə olunur.
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 - SENSÖRÜ ÖZDƏNİN: MQ2: 4 addım
IOT123 - ASSIMILATE SENSOR: MQ2: ASSIMILATE SENSORS, əlavə bir aparat və proqram soyutma qatına malik olan ətraf sensorlardır ki, bu da ASSIMILATE SENSOR HUB -a tamamilə yeni növlərin əlavə olunmasını və oxunuşların kod olmadan MQTT serverinə ötürülməsini mümkün edir
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