Բովանդակություն:
- Քայլ 1. Programրագրավորում ATTINY 85 -ում
- Քայլ 2. theրագիրը վերբեռնել ATTINY85
- Քայլ 3: Գործարկեք ձեր ծրագիրը
- Քայլ 4: Եզրակացություն
Video: SMS տեքստային տեմպերի մասին ծանուցումներ ATTINY85- ից և A1 GSM- ից ՝ 5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Այս հրահանգը ցույց է տալիս, թե ինչպես կարելի է ջերմաստիճանը պարզել ջերմաստիճանի պարզ սենսորից և այն ուղարկել sms տեքստով ձեր բջջային հեռախոսին: Ամեն ինչ պարզեցնելու համար ես ջերմաստիճանը ուղարկում եմ որոշակի ընդմիջումով, բայց նաև ցույց եմ տալիս, թե ինչպես դա կարելի է անել միայն բացառությամբ / ահազանգերով: Սարքավորումը շատ էժան է ՝ 10 դոլարից պակաս, թեև պետք է հաշվի առնել SMS- ի կրկնվող ծախսերը:
Heavyանր բեռը ձեռնարկում է պարզ, բայց հզոր ATTINY 85- ը, որը գրավում է ջերմաստիճանի տվյալները, այնուհետև SMS- ների ուղարկումը AI-Thinker A6 GSM մոդուլի միջոցով:
Մի խոսքով, դուք գրում եք ATTINY85 կոդը Arduino IDE միջավայրում և այրում այն ATTINY85- ում ՝ օգտագործելով USBASP սերիայի/USB փոխարկիչ: Երկու նախորդ ձեռնարկում ես լուսաբանել եմ AI-Thinker A6 GSM մոդուլի և Arduino IDE- ի կարգավորումը: Այստեղ տարբերվողը ATTINY և A6 GSM մոդուլներին միացնելն է `օգտագործելով սերիական հաղորդակցությունները:
www.instructables.com/id/How-to-Send-an-SM…https://www.instructables.com/id/15-Dollar-Attiny8…
Mingրագրավորումից հետո ATTINY- ը կարդում է ջերմաստիճանի տվյալները ջերմաչափի սենսորից `Dallas 18B20-, այնուհետև տվյալները և հրամանները սերիական միացմամբ ուղարկում է A6 GSM մոդուլին, որն այնուհետև այն SMS հաղորդագրության տեսքով ուղարկում է ձեր բջջային / սմարթ հեռախոսին:
Ահա այն, ինչ ձեզ հարկավոր է.
1. USBASP սերիա/USB փոխարկիչ:
2. ՀԱՇՎԵՏՎՈԹՅՈՆ 85.
3. AI-Thinker A6 GSM մոդուլի տարբերակ 6 (SIM- ով, որն ունի SMS վարկեր):
4. 3.3 վ հացահատիկի սնուցման աղբյուր ATTINY85- ի համար:
5. 3.3.v USB սնուցման աղբյուր AI-Thinker A6 GSM մոդուլի համար:
6. Dallas 18B20 ջերմաստիճանի տվիչ..
7. 4.7k դիմադրություն 18B20 սենսորի համար:
8. Գրատախտակ եւ մալուխներ:
9. Arduino IDE (դրա համար օգտագործել եմ 1.8.5 տարբերակը):
10. Windows X նոթբուք (ես օգտագործել եմ տարբերակը 10) ՝ անվճար USB պորտով:
Քայլ 1. Programրագրավորում ATTINY 85 -ում
Ահա Arduino IDE կոդը (Դուք պետք է փոխեք այն հեռախոսահամարը, որին ցանկանում եք ուղարկել SMS):
#ներառել #ներառել #ներառել
// *** // *** Սահմանեք RX և TX կապում: Ընտրեք չօգտագործված ցանկացած // *** կապում: Փորձեք խուսափել D0 (pin 5) // *** և D2 (pin 7), եթե նախատեսում եք օգտագործել I2C: // *** #define RX 3 // *** D3, Pin 2 #define TX 4 // *** D4, pin 3
// *** // *** Սահմանել ծրագրային ապահովման վրա հիմնված սերիական պորտը: Օգտագործելով // *** անունը Սերիա, որպեսզի ծածկագիրը կարող է օգտագործվել այլ // *** հարթակներում, որոնք ապահովում են ապարատային սերիալներ: // *** չիպերի վրա, որոնք ապահովում են ապարատային սերիան, պարզապես // *** մեկնաբանեք այս տողը: // ***
SoftwareSerial mySerial = Sրագրային ապահովում (RX, TX);
// *** // *** Pinout ATtiny25/45/85: // *** PDIP/SOIC/TSSOP // *** ================== ================================================== ======================== // *** // *** (PCINT5/RESET/ADC0/dW) PB5 [1]*[8] VCC // *** (PCINT3/XTAL1/CLKI/OC1B/ADC3) PB3 [2] [7] PB2 (SCK/USCK/SCL/ADC1/T0/INT0/PCINT2) // *** (PCINT4/ XTAL2/CLKO/OC1B/ADC2) PB4 [3] [6] PB1 (MISO/DO/AIN1/OC0B/OC1A/PCINT1) // *** GND [4] [5] PB0 (MOSI/DI/SDA/AIN0 /OC0A/OC1A/AREF/PCINT0) // *** // ATTINY 85 հաճախականությունը սահմանվում է ներքին 8 ՄՀց հաճախականությամբ
// *** // *** Պին, որի վրա միացված է OneWire տվյալները // *** լարերը: // *** #սահմանել ONE_WIRE_BUS 1
// *** // *** Կարգավորեք oneWire օրինակ ՝ OneWire // *** սարքերի հետ հաղորդակցվելու համար (ոչ միայն Maxim/Dallas ջերմաստիճանի IC): // *** OneWire _oneWire = OneWire (ONE_WIRE_BUS);
// *** // *** Անցեք մեր OneWire հղումը Դալասի ջերմաստիճանին: // *** DallasTemperature _sensors = DallasTemperature (& _ oneWire);
void setup () {// *** // *** Initialize Serial port // *** mySerial.begin (115200); ուշացում (60000);
// *** Գործարկեք գրադարանը: _sensors.begin (); }
դատարկ շրջան () {
// *** // *** Ստացեք ընթացիկ ջերմաստիճանը և ցուցադրեք այն: // *** _սենսորներ.requestTemperatures (); ուշացում (2000); կրկնակի tempC = _sensors.getTempCByIndex (0); կրկնակի tempF = _sensors.getTempFByIndex (0); // ստուգեք սխալների համար - երբեմն սկզբում, ջերմաստիճանը ցուցադրվում է որպես 85C
if (tempC 14 && tempC 18 && tempC = 23 && error_temperature) {SMS_temp (tempC, "Too warm");}}
անվավեր SMS_temp (կրկնակի mytemp, String myalert) {mySerial.println ("AT+CMGF = 1"); // սահմանել SMS ռեժիմի հետաձգում (1000); mySerial.println ("AT+CMGF = 1"); // սահմանել SMS ռեժիմի հետաձգում (1000); //mySerial.println("AT+CMGS=\"+ ՔՈ ԹԻՎԸ / ""); // սահմանել հեռախոսահամարը (փաթաթված կրկնակի մեջբերումներով) հետաձգում (1000); mySerial.print (mytemp, 1); mySerial.print (myalert); ուշացում (1000); mySerial.write (0x1A); // ուղարկում է ctrl+z հաղորդագրության ուշացման վերջը (1000); mySerial.write (0x0D); // Վագոնի վերադարձը վեցանկյուն ուշացումով (1000); mySerial.write (0x0A); ուշացում (1000000); // 17 րոպե - հարմարեցրեք ձեր ծրագրին համապատասխան}
Բացեք Arduino IDE միջավայրը. Ես նկարագրել եմ, թե ինչպես գտնել ձեզ այս ճանապարհը մանրամասն իմ նախորդ հրահանգում, որին ես ակնարկել էի ավելի վաղ:
Ձեզ հարկավոր են հետևյալ գրադարանները
SoftwareSerial.h
OneWire.h
DallasTemperature.h
Հաջորդը, ATTINY85- ի վրա կազմաձևեք RX և TX կապերը, որոնք ձեզ անհրաժեշտ են A1 Thinker- ի հետ միացնելու համար: ATTINY 85 – ն ունի 8 կապում ՝ յուրաքանչյուր կողմում չորսական և հավասարեցված է ՝ օգտագործելով մակերևույթի կետը ՝ որպես հղում: PIN 1 կամ RESET pin- ը thte dot- ի կողքին է:
(այս դեպքում ես ընտրեցի Pin2 և 3 - սրանք նույն կողմում են, ինչպես RESET քորոցը, որը գտնվում է ATTINY 85 մակերևույթի կետի կողքին: Pin 2 -ը RESET քորոցից հաջորդ քորոցն է մինչդեռ Pin 3 -ը Pin- ի միջև է) 2 և GROUND)
Հաջորդը, դուք պետք է կազմաձևեք ջերմաստիճանի տվիչը -
#սահմանեք ONE_WIRE_BUS 1
OneWire _oneWire = OneWire (ONE_WIRE_BUS);
DallasTemperature _sensors = DallasTemperature (& _ oneWire);
Հաջորդը տեղադրեք ծրագրաշարի սերիայի պորտը
mySerial.begin (115200);
ուշացում (60000);
ապա զանգահարեք սենսորներին _sensors.begin ();
Հաջորդը, կա հանգույց, որը հարցում է կատարում նախապես որոշված ժամին, գրանցում է ջերմաստիճանը և ուղարկում հաղորդագրություն / ահազանգ `կախված արժեքից: Այն օգտագործում է SMS_temp գործառույթը, որը նաև այն վայրն է, որտեղ դուք սահմանում եք հանգույցի ժամանակը
void loop () {sensors.requestTemperatures (); ուշացում (2000);
կրկնակի tempC = _sensors.getTempCByIndex (0);
կրկնակի tempF = _sensors.getTempFByIndex (0);
եթե (tempC <= 14) {SMS_temp (tempC, "ՎՏԱՆԳԱՎՈՐ սառը");}
if (tempC> 14 && tempC <= 18) {SMS_temp (tempC, "Quite Cold");}
if (tempC> 18 && tempC <23) {SMS_temp (tempC, "Temp Just right");}
եթե (tempC> = 23 && error_temperature) {SMS_temp (tempC, "Չափից տաք");}
}
==============
Հաջորդը, ստեղծեք Arduino IDE- ն ՝ ATTINY85- ում բեռնման նախապատրաստվելու համար:
Մի շարք բաներ, որոնք պետք է նշել
1- Եթե դուք չունեք ATTINY տախտակների ընտանիք, ավելացրեք հետևյալ url հասցեն ՝ https://raw.githubusercontent.com/damellis/attiny/… Ֆայլ/Նախընտրանքներ/Լրացուցիչ խորհուրդների մենեջերի URL- ում, Հաջորդը, Arduio IDE- ի շրջանակներում կտտացրեք Գործիքներ/Տախտակ/Տախտակի կառավարիչ և փնտրեք ATTINY և տեղադրեք նոր տախտակը: Փոխեք պրոցեսորը Attiny85:
Քայլ 2. theրագիրը վերբեռնել ATTINY85
Նաև, հղեք այս մասին իմ նախկին հրահանգին ՝
ATTINY85- ն ունի երկու ռեժիմ `համապատասխանաբար ծրագրավորման և գործարկման ռեժիմ: 1. PROՐԱԳՐԱՎՈՐՄԱՆ ՌԵEԻՄ Նախ `բացահայտեք ATTINY85- ի կապում: Դա անելու համար գտեք փոքր խազը չիպի մակերեսին, որը գտնվում է RST/RESET քորոցի կողքին: Օգտագործելով սա որպես տեղեկատու, դուք կարող եք նույնականացնել մնացած քորոցները: Այս բոլոր տեղեկությունները տրամադրված են A85 տվյալների թերթիկում -https://www.microchip.com/downloads/hy/DeviceDoc/At…
USBasp- ը և ATTINY85- ը պետք է միացված լինեն, ինչպես ցույց է տրված վերևի նկարում:
Հաջորդը, Arduino IDE- ում ծրագրավորողը դրեք USBasp- ի վրա և հաճախականությունը `ներքին 8 ՄՀց:
Միացրեք USBasp- ը ձեր նոութբուքի USB պորտին (Windows 10 -ում, եթե չունեք USBasp վարորդը, օգտագործեք Zadig- ը ՝ ըստ կայքի ՝
Հաջորդը, USBasp- ի հետ կապված, ընտրեք Arduino IDE Sketch/upload- ից և հուսով ենք, որ կտեսնեք Arduino IDE- ի կարմիր տառերով ցուցադրվող բեռնման առաջընթացը և ավարտված avrdude done- ով: Շնորհակալություն.
Այս փուլում ցանկացած սխալ սովորաբար կապված է չամրացված մալուխների կամ սխալ վարորդի հետ:
Քայլ 3: Գործարկեք ձեր ծրագիրը
Նախ, ինչ -որ բան Dallas 18b20 ջերմաչափի տվիչի մասին: Այն ունի 3 կապ, Ground (G), տվյալներ (D) և VCC, ինչպես ցույց է տրված վերևի նկարում: Գործարկման համար այն պահանջում է կամրջել D և VCC- ն 4.7k դիմադրիչով: G և VCC- ն միացված են համապատասխան բևեռներին, մինչդեռ D- ն միացված է ATTINY 85, PIN - [6] PB1- ին, ինչպես կազմաձևված է ծածկագրում:
Հաջորդը, ATTINY- ը միացրեք A6 GSM- ին հետևյալ կերպ (և ցուցադրված է վերևում)
ATTINY TX A6 UART_RXdATTINY RX A6 UART_TXd
ATTINY GND A6 GND
իսկ բուն A6- ի վրա, A6 PWR A6 VCC 5.0A6 RST A6 GND (Դեռ մի միացեք գետնին !!!!!)
Այժմ միացրեք երկու սարքերը և մի քանի վայրկյանից հետո ժամանակավորապես դիպչեք A6 գրունտի կապին A6 RST կապին միացված մալուխով: A6- ը միանալու և անջատելու է, և հուսով եմ, շուտով դուք պետք է ջերմաստիճանի տվյալներ ստանաք ձեր հեռախոսի վրա:
Քայլ 4: Եզրակացություն
Այս ուսուցանվողը կարող է բավականին պարզ թվալ, բայց գաղափարն այն է, որ լուսաբանվի այն, ինչ կարելի է ձեռք բերել ցածր գնով բաղադրիչներով: Ակնհայտ է, որ եթե դուք մուտք ունեք wi-fi կամ BLE հանգույց, ապա կան ավելի համապատասխան լուծումներ:
Ես չեմ լուսաբանում այլ գործառույթներ, ինչպիսիք են ՝ SMS ուղարկելը հեռախոսին ՝ ջերմաստիճանի գրանցում / փոխանցում սկսելու համար և այլն:
Խորհուրդ ենք տալիս:
Ստացեք էլփոստի ծանուցումներ ձեր IoT նախագծերից `6 քայլ
Ստացեք էլփոստի ծանուցումներ ձեր IoT նախագծերից. Emailրագրի էլփոստի ծանուցումներ, որոնք ձեր IoT նախագծերը կապում են Adafruit IO- ի և IFTTT- ի հետ: Ես հրապարակել եմ որոշ IoT նախագծեր: Հուսով եմ, որ դրանք տեսել եք: Եթե ոչ, ապա հրավիրում եմ ձեզ իմ պրոֆիլ և ստուգում դրանք: Ես ուզում էի որոշ ծանուցումներ ստանալ, երբ փոփոխական
Ինչպես ուղարկել SMS տեքստային հաղորդագրություններ ձեր Arduino ESP նախագծից ՝ 6 քայլ
Ինչպես ուղարկել SMS տեքստային հաղորդագրություններ ձեր Arduino ESP նախագծից. Այս հրահանգը ցույց է տալիս, թե ինչպես ուղարկել SMS տեքստային հաղորդագրություններ ձեր arduino նախագծից ESP8266 սարքի և WiFi կապի միջոցով: Ինչու՞ օգտագործել SMS:* SMS հաղորդագրությունները շատ ավելի արագ և հուսալի են, քան ծրագրի ծանուցումները: հաղորդագրություններ: * SMS հաղորդագրությունները կարող են նաև
Լվացքի մեքենայի ծանուցումներ. 3 քայլ
Լվացքի մեքենայի մասին ծանուցումներ. Ես ունեմ «հիմար» էժան լվացքի մեքենա մոտ 150 ֆունտ ստեռլինգով: Չափը ամենամեծ սահմանափակումն էր, այնպես որ ինձ շատ խիստ մի դատեք: Իմ տան հիմար բանը ես եմ: Կարմիր թռիչքներով սպիտակ ներքնազգեստ լվանալը իմ մեղքերից է: Մյուսը չի հիշվում
Իրական ժամանակի իրադարձությունների մասին ծանուցումներ `օգտագործելով NodeMCU (Arduino), Google Firebase և Laravel: 4 քայլ (նկարներով)
Իրական ժամանակի իրադարձությունների մասին ծանուցումներ ՝ օգտագործելով NodeMCU (Arduino), Google Firebase և Laravel. Երբևէ ցանկացե՞լ եք տեղեկանալ, երբ որևէ գործողություն է կատարվում ձեր կայքում, սակայն էլ. Փոստը ճիշտ չէ: Ուզու՞մ եք ամեն անգամ վաճառք կատարելիս ձայն կամ զանգ լսել: Կամ անհրաժեշտ է ձեր անհապաղ ուշադրությունը շտապ իրավիճակի պատճառով
Լվացքի մեքենայի մասին ծանուցումներ MESH- ի միջոցով. 4 քայլ (նկարներով)
Լվացքի մեքենայի մասին ծանուցումներ MESH- ի միջոցով. Ես մոռացել եմ լվացքի մեքենայի հագուստի մասին … Մի՞շտ եք մոռանում հագուստը լվանալուց հետո վերցնել: Այս բաղադրատոմսը կբարելավի ձեր լվացքի մեքենան ՝ Gmail- ի կամ IFTTT- ի միջոցով ծանուցումներ ստանալուց հետո, երբ ձեր հագուստը պատրաստ լինի նկարելու