Բովանդակություն:
- Քայլ 1: Նյութեր և գործիքներ
- Քայլ 2. Պատրաստեք ATTINY85- ը
- Քայլ 3: Հավաքեք շրջանը
- Քայլ 4: Փորձարկում
- Քայլ 5: Հաջորդ քայլերը
Video: IOT123 - I2C MQ2 Աղյուս. 5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:50
IOT123 Աղյուսները DIY մոդուլային միավորներ են, որոնք կարող են համակցվել այլ IOT123 Աղյուսների հետ ՝ հանգույցին ֆունկցիոնալություն հաղորդելու կամ կրելու համար: Դրանք հիմնված են դյույմ քառակուսի, երկկողմանի նախատախտակների վրա, որոնք փոխկապակցված են անցքերով:
Սպասվում է, որ այս ԿՈICՐԵՐԻ մի մասը կլինեն մի քանի հանգույցների վրա (Master MCUs - ESP8266 կամ ATTINY84) կայքում: MCU- ին սենսորների նպատակի կամ ծրագրակազմի կարիքների մասին նախնական գիտելիքներ պետք չեն: Այն սկանավորում է I2C հանգույցները, այնուհետև յուրաքանչյուր ստրուկից պահանջում է սեփականության աղբանոց (տվիչների տվյալներ): Այս աղյուսները մատակարարում են 5.0V, 3.3V և մեկ այլ AUX գիծ, որը հարմարեցված է:
Այս I2C MQ2 BRICK- ը թափում է 3 հատկություն.
LPG (Parts per Million), CO (PPM), SMOKE (PPM):
Այս տվիչը տրամադրեց հետաքրքիր սցենար. Այն տաքացնելու համար անհրաժեշտ է առնվազն 2 րոպե (մինչև 5 րոպե), այնուհետև օգտագործելուց առաջ պետք է չափագրվի 20 վայրկյան: Քանի որ ընդունող MCU- ն մտադիր է ստանալ միայն անուն/արժեք զույգեր (և շարունակել հաղորդագրությունը), մենք ներդրել ենք «ՊԱՏՐԱՍՏՆԵԼ» հատկությունը: Քանի որ նրա շարունակական ուղերձը «1» է (դեռ շատ), հյուրընկալող MCU- ն կշարունակի հարցում անցկացնել BRICK- ի վրա, մինչև այն պատրաստ լինի: Նաև խորհուրդ է տրվում օգտագործելուց առաջ «այրել» MQ2- ը, այսինքն ՝ թողնել միացված 5V միացումին 24 ժամ:
Keyes տիպի սենսորային աղյուսները նախ կվերացվեն, քանի որ դրանք գալիս են վիտամիններով (անհրաժեշտ են լրացուցիչ բաղադրիչներ) և համեմատաբար ավելի թափանցիկ են (37 -ը գնել եմ 10 AUD- ով): Այլ տախտակներ/սխեմաներ կներկայացվեն I2C Աղյուսներին:
ATTINY85- ի հարակից անցքերը մնացել են չօգտագործված, ինչը հնարավորություն է տալիս միացնել pogo- ի ծրագրավորողին, մինչ DIP8- ը կպցված է PCB- ին:
Մշակվում է ևս մեկ աբստրակցիա ՝ ԿՈICՐԵՐԸ փաթեթավորելով փոքր բալոններում, որոնք միանում են D1M WIFI BLOCK հանգույցին ՝ արժեքները մղելով MQTT սերվերի վրա:
Քայլ 1: Նյութեր և գործիքներ
Կա Նյութերի և աղբյուրների ամբողջական օրինագիծ:
- MQ2 սենսորային աղյուս (1)
- ATTINY85 20PU (1)
- 1 "երկկողմանի նախատախտակ (1)
- Արական վերնագիր 90º (3P, 3P)
- Արական վերնագիր (2P, 2P)
- Jատկող շանթ (1)
- Միացման մետաղալար (7 ~)
- Sոդման և երկաթ (1)
Քայլ 2. Պատրաստեք ATTINY85- ը
Խորհուրդների կառավարիչից անհրաժեշտ է AttinyCore: Այրեք bootloader «EEPROM պահպանված է», «8mHZ ներքին» (բոլորը կազմաձևված են վերևում):
Օգտագործեք ներառված աղբյուրը; կազմել և ծրագրավորել ATtiny85- ին:
GIST- ը այստեղ է.
gist.github.com/IOT-123/4c501046d365d01a60…
Ավելի մանրամասն կարող եք գտնել այս հրահանգներում.
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…
Շարունակելուց առաջ լավագույնն է փորձարկել հացահատիկի միջոցով:
Եթե ունեք ASSIMILATE SENSORS, համոզվեք, որ ստրուկի հասցեն տարբերվում է SENSOR/MCU Host- ի համակցությունից, այսինքն ՝ peratերմաստիճանի բոլոր տվիչները կարող են ունենալ նույն հասցեն, քանի դեռ MCU/հանգույցի վրա ունեք միայն մեկ peratերմաստիճանի տվիչ:
Քայլ 3: Հավաքեք շրջանը
- Առջևում տեղադրեք ATTINY85 (1), 3P 90deg արական վերնագրեր (2) (3), 2P արական վերնագրերի (4) (5) բաղադրամասերը և ամրացրեք հետևի մասում:
- Հետևի մասում նշեք նարնջագույն մետաղալարեր ORANGE1- ից ORANGE2 և կպցրեք:
- Հետևի մասում կապույտ մետաղալարեր գտեք BLUE1- ից մինչև BLUE2 և կպցրեք:
- Հետևի մասում հետևեք կանաչ մետաղալարից GREEN1- ից GREEN2 և ամրացրեք:
- Հետևի մասում հետևեք մերկ մետաղալարից SILVER1- ից մինչև SILVER2 և ամրացրեք:
- Հետևի մասում հետևեք մերկ մետաղալարից SILVER3- ից մինչև SILVER4 և կպցրեք:
- Հետևի մասում հետևեք սև մետաղալարից BLACK1- ից մինչև BLACK2 և զոդեք:
- Հետևի մասում հետևեք սև մետաղալարից BLACK3- ից մինչև BLACK4 և զոդեք:
- Հետևի մասում հետևեք կարմիր մետաղալարից RED1- ից մինչև RED2 և ամրացրեք:
- Հետևի մասում գծեք կարմիր մետաղալարեր RED3- ից RED4- ից և ամրացրեք դրանք:
- Հետևի մասում նշեք դեղին մետաղալարը YELLOW1- ից YELLOW2- ից և ամրացրեք:
Այժմ սենսորը կարող է ուղղակիորեն միացված լինել PCB- ին կամ լարերի միջոցով `քորոցային պայմանագրում նշված կետերին:
Քայլ 4: Փորձարկում
Սպասվում է, որ այս ԿՈICՐԵՐԻ մի մասը կլինեն մի քանի հանգույցների վրա (MCUs - ESP8266 կամ ATTINY84) միջավայրում: Սա միավորի թեստ է. Ստուգում է ՄԱԿ -ի հարցումները/պատասխանները, մինչև բոլոր տվյալները թափվեն, այնուհետև անտեսում է I2C ստրուկը:
- Վերբեռնեք ՄԱԿ -ի ծածկագիրը ձեր ՄԱԿ -ի փորձարկման գոտում: Համոզվեք, որ ADDRESS_SLAVE- ը համապատասխանում է BRICK- ի I2C հասցեին:
- Միացրեք 5.0V- ը UNO- ում `BRICK- ի VCC- ին:
- Համոզվեք, որ այդ քորոցի համար թռիչքը միացված է:
- Միացրեք GND- ը UNO- ին GND- ին `BRICK- ում:
- Միացրեք UN5- ի A5- ը SCL- ին BRICK- ով:
- Միացրեք UNO- ի A4- ը SDA- ին BRICK- ում:
- SDK- ից միացրեք 4K7 ձգման դիմադրություն VCC- ին:
- Միացրեք 4K7 քաշվող դիմադրություն SCL- ից VCC- ին:
- USB- ով միացրեք ձեր UNO- ն ձեր Dev համակարգչին:
- Բացեք Arduino վահանակը: Ընտրեք 9600 baud (վերագործարկեք UNO- ն և անհրաժեշտության դեպքում վերաբացեք վահանակը):
- Գույքի անունները և արժեքները պետք է տպվեն վահանակում մեկ անգամ, այնուհետև քուն բառը կրկնվի:
Եթե տեսնում եք «կարգաբերում», ապա աղբի 3 տող կրկնվում է, հնարավոր է, որ ձեր SDA և SCL գծերը հետ լինեն:
I2C Master մուտքագրում I2C ստրուկից ՝ plotter/metadata աջակցությամբ:
#ներառում |
#defineADDRESS_SLAVE10 |
bool _outputPlotterOnly = կեղծ; |
bool _confirmMetadata = false; |
int _packetSegment = 0; |
bool _i2cNodeProcessed = false; |
char _property [2] [24] = {"անուն", "արժեք"}; |
voidsetup () { |
Wire.begin (); // միանալ i2c ավտոբուսին (հասցեն ՝ ըստ ցանկության մագիստրոսի համար) |
Serial.begin (9600); // սկսել սերիան ելքի համար |
ուշացում (1000); |
եթե (! _outputPlotterOnly) { |
Serial.println («կարգավորում»); |
Serial.println (); |
} |
} |
voidloop () { |
եթե (_i2cNodeProcessed) { |
եթե (! _confippedMetadata) {// տեղեկացրու ստրուկին, որ սկսի ուղարկել սենսորի տվյալները |
ուշացում (1); |
Wire.beginTransmission (ADDRESS_SLAVE); |
Wire.write (1); |
Wire.endTransmission (); |
ուշացում (100); |
_confippedMetadata = ճշմարիտ; |
} |
_i2cNodeProcessed = կեղծ; |
եթե (! _outputPlotterOnly) { |
Serial.println (); |
} |
վերադարձ; |
} |
Մետաղալար. Խնդրում ենք (ADDRESS_SLAVE, 16); |
_packetSegment ++; |
char փաթեթ [16]; |
ինտինդեքս = 0; |
bool isContinueSegment = false; // continueSegment (3 -րդ) 1 = ավելին, 0 = վերջին |
while (Wire.available ()) {// ստրուկը կարող է ավելի քիչ ուղարկել, քան պահանջվում է |
char c = Wire.read (); |
փաթեթ [ինդեքս] = int (գ)> -1? c: ''; // անվավեր նիշերը փոխարինել բացատներով |
եթե (_packetSegment == 3) { |
_packetSegment = 0; |
isContinueSegment = ճշմարիտ; |
//Serial.println("------------- "); |
//Serial.println(int(c)); |
//Serial.println("------------- "); |
եթե (int (c) == 48 || int (c) == 86) {// 0 վերջին հատկության վրա |
_i2cNodeProcessed = true; |
// արժեքներ ուղարկել MQTT |
ընդմիջում; |
} |
} |
ցուցանիշ ++; |
} |
եթե (! isContinueSegment) { |
եթե (! _outputPlotterOnly) { |
Serial.println (փաթեթ); |
} |
strcpy (_property [_packetSegment - 1], փաթեթ); // սահմանել տեղական փոփոխական անվանում/արժեք |
} ուրիշ { |
եթե (_outputPlotterOnly && _confippedMetadata) { |
եթե (_i2cNodeProcessed) { |
Serial.println (_ սեփականություն [1]); |
} ուրիշ { |
Serial.print (_ սեփականություն [1]); |
Serial.print (""); |
} |
} |
} |
} |
դիտել rawuno_i2c_generic_sensor_test_w_plotter_v2.ino հյուրընկալված ❤ -ի կողմից GitHub- ի կողմից
Քայլ 5: Հաջորդ քայլերը
Շղթայի հիմնական դասավորությունը և ծրագրաշարի I2C շերտը կարող են առնչվել տարբեր սենսորների: Հիմնական բանը, որից պետք է ճիշտ սկսել, դա տուփի և ստրուկի միջև փաթեթային պայմանագիրն է:
Ես պլանավորել/սկսել եմ (3D տպագրությամբ) սենսորների փաթեթավորված ցանց, որն օգտագործում է այս շրջանակը և կկապվի դրան, քանի դեռ մասերը հրապարակվում են:
Այս ՊԼՈԿԸ օգտագործվում է MQ2 ASSIMILATE SENSOR- ի կողմից:
Խորհուրդ ենք տալիս:
Բջջային հեռախոսի մարտկոցի աղյուս `6 քայլ
Բջջային հեռախոսի մարտկոցի աղյուս. Սա հաճելի պարզ հանգստյան օրերի նախագիծ է, որը հնարավորություն է տալիս շարունակել սովորել փոքր տախտակներին զոդել: Այն օգտագործում է էժան և հեշտ մասեր ձեռք բերելու համար ՝ սա հիանալի սկսնակ նախագիծ դարձնելու համար այն մարդկանց համար, ովքեր զբաղվում են DIY նախագծերով
500 LED-Pixel RGB- աղյուս. 9 քայլ (նկարներով)
500 LED-Pixel RGB-Brick. Քիչ առաջ ես կառուցում եմ 10x10 LED- Coffetable այս WS2812 LED- ներից մի քանիսը, բայց նույնիսկ եթե հնարավոր է հին դպրոցական Snake խաղը խաղալ դրան միացված սմարթֆոնով, ես ուզում եմ ինչ-որ բան ավելին հատուկ Այսպիսով, ես որոշեցի դրան տալ ևս մի քանի հուշում, արա
IOT123 - ՆՇԱՆԱԿՈ SԹՅԱՆ Սենսոր. MQ2: 4 քայլ
IOT123 - ASSIMILATE SENSOR: MQ2: ASSIMILATE SENSORS- ը շրջակա միջավայրի սենսորներ են, որոնք ունեն հավելյալ ապարատային և ծրագրային վերացական շերտ, ինչը հնարավորություն է տալիս լրիվ նոր տեսակների ավելացվել ASSIMILATE SENSOR HUB- ին և ընթերցումները մղել MQTT սերվերի վրա ՝ առանց կոդ ավելացնելու
IOT123 - LIR2032 Մարտկոցի աղյուս `4 քայլ
IOT123 - LIR2032 մարտկոցի աղյուս. IOT123 աղյուսները ինքնագործ մոդուլային միավորներ են, որոնք կարելի է խառնել այլ IOT123 աղյուսների հետ `հանգույցին կամ կրելու համար ֆունկցիոնալություն ավելացնելու համար: Դրանք հիմնված են դյույմ քառակուսի, երկկողմանի նախատախտակների վրա, որոնք անցքերից փոխկապակցված են: Չնայած հրահանգը
IOT123 - 5PIN ATTINY85 NRF24L01 Աղյուս `4 քայլ
IOT123 - 5PIN ATTINY85 NRF24L01 Աղյուս. ԹԱՐՄԱՈՄ. Այս կարգավորումը հիմնականում ակադեմիական է կամ ծրագրակազմի/էներգիայի մատակարարման փորձարկման հիմք: Նույնիսկ երբ PB5- ը անջատված է որպես RESET, այն չի կարդում արժեքները ճշգրիտ օգտագործելով analogRead- ը. Սենսորների ընթերցումների հիմնական օգտագործման պատյան: Կանդրադառնա ATTINY84 կարգավորմանը