Orodha ya maudhui:

Tahadhari za Nakala za SMS kutoka kwa ATTINY85 na A1 GSM: Hatua 5
Tahadhari za Nakala za SMS kutoka kwa ATTINY85 na A1 GSM: Hatua 5

Video: Tahadhari za Nakala za SMS kutoka kwa ATTINY85 na A1 GSM: Hatua 5

Video: Tahadhari za Nakala za SMS kutoka kwa ATTINY85 na A1 GSM: Hatua 5
Video: TUMIA CODE HIZI ZA SIRI KUPATA SMS ZA MPENZI WAKO ANAZO TUMIWA BILA YEYE KUJUA 2024, Novemba
Anonim
Tahadhari za Nakala za SMS kutoka kwa ATTINY85 na A1 GSM
Tahadhari za Nakala za SMS kutoka kwa ATTINY85 na A1 GSM

Mafundisho haya yanaonyesha jinsi ya kukamata hali ya joto kutoka kwa kihisi rahisi cha joto na kuituma kwa maandishi ya sms kwenye simu yako ya rununu. Ili kurahisisha mambo, mimi hutuma hali ya joto kwa muda uliowekwa lakini pia ninaonyesha jinsi hii inaweza kufanywa tu kwa ubaguzi / arifu. Vifaa ni gharama ya chini sana, chini ya dola 10, ingawa kuna gharama za kawaida za sms kuzingatia.

Kuinua nzito hufanywa na rahisi lakini yenye nguvu ATTINY 85 ambayo inachukua data ya joto na kisha kuchochea SMS kutumwa kupitia moduli ya AI-Thinker A6 GSM.

Kwa kifupi, unaandika nambari ya ATTINY85 katika mazingira ya Arduino IDE na kuichoma kwenye ATTINY85 ukitumia kibadilishaji cha USBASP serial / USB. Nimefunika kuweka moduli ya AI-Thinker A6 GSM na Arduino IDE katika mafunzo mawili ya awali. Tofauti hapa ni kuingiliana na moduli ya ATTINY na A6 GSM kwa kutumia mawasiliano ya mfululizo.

www.instructables.com/id/How-to-Send-an-SM …….https://www.instructables.com/id/15-Dollar-Attiny8…

Baada ya programu, ATTINY inasoma data ya joto kutoka kwa sensorer ya kipima joto - Dallas 18B20- na kisha hutuma data na maagizo kwa unganisho la serial kwa moduli ya A6 GSM ambayo huituma kama maandishi ya SMS kwa simu yako ya rununu / smart.

Hivi ndivyo unahitaji:

1. USBASP serial / kibadilishaji cha USB.

2. WAKILI 85.

3. AI-Thinker A6 GSM moduli toleo la 6 (na sim ambayo ina sifa za SMS).

4. 3.3v umeme wa bodi ya mkate kwa ATTINY85.

5. 3.3.v usambazaji wa umeme wa USB kwa moduli ya AI-Thinker A6 GSM.

6. Dallas 18B20 sensa ya joto..

7. 4.7k kupinga kwa sensor 18B20.

8. Bodi ya mkate na nyaya.

9. Arduino IDE (nilitumia toleo 1.8.5. Kwa hili).

10. Laptop ya Windows X (nilitumia toleo la 10) na bandari ya usb ya bure.

Hatua ya 1: Kupanga programu ATTINY 85

Hapa kuna nambari ya IDE ya Arduino (Itabidi ubadilishe nambari ya simu ambayo unataka kutuma SMS.)

#jumlisha #jumlisha # pamoja

// *** // *** Fafanua pini za RX na TX. Chagua pini mbili za // // ambazo hazijatumika. Jaribu kuzuia D0 (pini 5) // *** na D2 (pini 7) ikiwa unapanga kutumia I2C. // *** #fafanua RX 3 // *** D3, Pin 2 #fafanua TX 4 // *** D4, Pin 3

// *** // *** Fafanua programu kulingana na bandari ya serial. Kutumia jina la // *** Serial ili nambari iweze kutumiwa kwenye majukwaa mengine ya // *** ambayo inasaidia vifaa vya msingi vya vifaa. Kwenye chips za // *** zinazounga mkono safu ya vifaa, tu // *** toa maoni kwenye mstari huu. // ***

SoftwareSerial mySerial = SoftwareSerial (RX, TX);

/ ================================================= ========================= // *** // *** (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 frequency iliyowekwa ndani ya 8 MHz

// *** // *** Bandika ambayo waya ya OneWire data // *** imeunganishwa. // *** #fafanua ON_WIRE_BUSI 1

// *** // *** Sanidi mfano wa OneWire kuwasiliana na vifaa vyovyote vya OneWire // *** (sio tu joto la Maxim / Dallas ICs). // *** OneWire _oneWire = OneWire (ONE_WIRE_BUS);

// *** // *** Pitisha rejeleo moja la Wire kwa Joto la Dallas. // *** DallasTemperature _sensors = Joto la Dallas (& _ oneWire);

kuanzisha batili () {// *** // *** Anzisha bandari ya Serial // *** mySerial.begin (115200); kuchelewesha (60000);

// *** Anzisha maktaba. _sensors.anza (); }

kitanzi batili () {

// *** // *** Pata joto la sasa na uionyeshe. // *** _sensors.maombiJoto (); kuchelewa (2000); tempC mbili = _sensors.getTempCByIndex (0); mara mbili tempF = _sensors.getTempFByIndex (0); // angalia makosa - wakati mwingine mwanzoni, muda unaonyeshwa kama 85C

ikiwa (tempC 14 && tempC 18 && tempC = 23 && error_temperature) {SMS_temp (tempC, "too warm");}}

tupu ya SMS_temp (mara mbili ya manyoya, Myalert ya Kamba) {mySerial.println ("AT + CMGF = 1"); // imewekwa kucheleweshwa kwa modi ya SMS (1000); mySerial.println ("AT + CMGF = 1"); // imewekwa kucheleweshwa kwa modi ya SMS (1000); //mySerial.println("AT+CMGS=\"+NAMBA YAKO / ""); // weka nambari ya simu (iliyofungwa kwa nukuu mbili) ucheleweshaji (1000); printa yangu (mytemp, 1); mySerial.print (myalert); kuchelewesha (1000); andika (0x1A); // hutuma ctrl + z mwisho wa kuchelewesha ujumbe (1000); andika (0x0D); // Kurudi kwa kubeba kwa kuchelewesha kwa Hex (1000); maandishi yangu (0x0A); kuchelewa (1000000); // dakika 17 - rekebisha ili kukidhi maombi yako mwenyewe}

Fungua mazingira ya Arduino IDE - nimeelezea jinsi ya kupata njia ya kuzunguka hii kwa undani katika mafundisho yangu ya awali ambayo nilielezea hapo awali.

Utahitaji maktaba zifuatazo

SoftwareSerial.h

Njia moja

Joto la Dallas.h

Ifuatayo, sanidi pini za RX na TX kwenye ATTINY85 ambayo unahitaji kuungana na A1 Thinker. ATTINY 85 ina pini 8, nne kila upande na zimepangwa kwa kutumia nukta juu ya uso kumbukumbu. Bandika 1 au pini ya Rudisha iko kando ya nukta.

(katika kesi hii nilichagua Pin2 na 3 - Hizi ziko upande mmoja na pini ya RESET iliyo kando ya nukta juu ya uso wa ATTINY 85. Pin 2 ni pini inayofuata pamoja na pini ya RESET wakati Pin 3 iko kati ya Pin 2 na NCHI)

Ifuatayo, lazima usanidi sensor ya joto -

#fafanua JUU_YA_BASI 1

OneWire _oneWire = OneWire (ONE_WIRE_BUS);

Joto la Dallas _sensors = Joto la Dallas (& _ oneWire);

Ifuatayo sanidi bandari ya serial ya programu

mwanzo wangu (115200);

kuchelewesha (60000);

na kisha piga sensorer na _sensors.begin ();

Ifuatayo, kuna kitanzi, ambacho hupiga kura kwa wakati uliowekwa tayari, hurekodi hali ya joto na kutuma ujumbe / tahadhari kulingana na thamani. Inatumia SMS_temp ya kazi ambayo pia ni mahali ambapo unaweka muda wa kitanzi

kitanzi batili () {sensorer.requestTemperatures (); kuchelewa (2000);

tempC mbili = _sensors.getTempCByIndex (0);

mara mbili tempF = _sensors.getTempFByIndex (0);

ikiwa (tempC <= 14) {SMS_temp (tempC, "HATARI BARIDI");}

ikiwa (tempC> 14 && tempC <= 18) {SMS_temp (tempC, "Baridi kabisa");}

ikiwa (tempC> 18 && tempC <23) {SMS_temp (tempC, "Temp Right just");}

ikiwa (tempC> = 23 && makosa_joto) {SMS_temp (tempC, "joto sana");}

}

==============

Ifuatayo, weka Arduino IDE kujiandaa kupakia kwa ATTINY85.

Vitu kadhaa vya kuzingatia

1- Ikiwa hauna familia ya ATTINY ya bodi, ongeza url ifuatayo https://raw.githubusercontent.com/damellis/attiny/… katika Faili / Mapendeleo / URL ya Meneja wa Bodi za Ziada, Ifuatayo, ndani ya Arduio IDE bonyeza Zana / Bodi / Meneja wa Bodi na utafute ATTINY na usakinishe bodi mpya. Badilisha processor kuwa Attiny85.

Hatua ya 2: Kupakia Programu hiyo kwa ATTINY85

Kupakia Programu hiyo kwa ATTINY85
Kupakia Programu hiyo kwa ATTINY85

Pia, rejelea mafundisho yangu ya hapo awali juu ya hii -

ATTINY85 ina njia mbili, programu na hali ya utendaji, mtawaliwa. Njia ya Maandalizi Kwanza, tambua pini kwenye ATTINY85. Ili kufanya hivyo, tafuta notch kidogo juu ya uso wa chip iliyo kando ya pini ya RST / RESET. Kutumia hii kama sehemu ya kumbukumbu, unaweza kutambua pini zilizobaki. Habari hii yote imetolewa katika karatasi ya data ya A85 -https://ww1.microchip.com/downloads/en/DeviceDoc/At…

USBasp na ATTINY85 zinapaswa kuunganishwa kama inavyoonyeshwa kwenye picha hapo juu.

Ifuatayo, kwenye IDE ya Arduino, weka programu kwa USBasp na masafa ya 8Mhz ya ndani.

Unganisha USBasp kwenye bandari ya USB kwenye kompyuta yako ndogo (Kwenye Windows 10, ikiwa hauna dereva wa USBasp tumia Zadig kulingana na wavuti

Ifuatayo, na USBasp imeunganishwa, chagua kutoka Mchoro wa Arduino IDE / pakia na tunatarajia unapaswa kuona maendeleo ya kupakia yaliyoonyeshwa kwa herufi nyekundu za IDE ya Arduino na kuishia na avrdude iliyofanywa. Asante.

Makosa yoyote katika hatua hii ni usuall inayohusishwa na nyaya huru au dereva mbaya.

Hatua ya 3: Kuendesha Programu yako

Kuendesha Programu yako
Kuendesha Programu yako
Kuendesha Programu yako
Kuendesha Programu yako
Kuendesha Programu yako
Kuendesha Programu yako

Kwanza, kitu kuhusu sensa ya kipima joto ya Dallas 18b20. Ina pini 3, Ground (G), data (D) na VCC kama inavyoonekana kwenye picha hapo juu. Kwa kazi, inahitaji kuziba D na VCC na kontena la 4.7k. G na VCC vimeunganishwa na nguzo husika wakati D imeunganishwa na ATTINY 85, pin - [6] PB1, kama ilivyosanidiwa kwenye nambari.

Ifuatayo, unganisha ATTINY kwa A6 GSM kama ifuatavyo (na imeonyeshwa hapo juu)

ATTINY TX A6 UART_RXdATTINY RX A6 UART_TXd

WAKILI WA GND A6 GND

na kwenye A6 yenyewe, A6 PWR A6 VCC 5.0A6 RST A6 GND (Usiunganishe na ardhi bado !!!!!)

Sasa wezesha vifaa vyote viwili, na baada ya sekunde chache, gusa kwa muda pini ya ardhi ya A6 na kebo iliyounganishwa na pini ya A6 RST. A6 itazima na kuwasha na kwa matumaini, unapaswa kupokea data ya joto hivi karibuni kwenye simu yako.

Hatua ya 4: Hitimisho

Mafundisho haya yanaweza kuonekana kuwa rahisi lakini wazo ni kuonyesha kile kinachoweza kupatikana na vifaa vya gharama nafuu. Kwa wazi, ikiwa unaweza kufikia wi-fi au kitovu cha BLE basi kuna suluhisho sahihi zaidi.

Sikuangazia utendaji mwingine kama vile kutuma SMS kwa simu ili kuanzisha kurekodi joto / usafirishaji n.k.

Ilipendekeza: