Orodha ya maudhui:

Inatuma Sms na Temperatur kwa Wakati: Hatua 5 (na Picha)
Inatuma Sms na Temperatur kwa Wakati: Hatua 5 (na Picha)

Video: Inatuma Sms na Temperatur kwa Wakati: Hatua 5 (na Picha)

Video: Inatuma Sms na Temperatur kwa Wakati: Hatua 5 (na Picha)
Video: Почему задувает котёл и тухнет. 8 причин 2024, Novemba
Anonim
Inatuma Sms na Temperatur kwa Wakati
Inatuma Sms na Temperatur kwa Wakati

Wazo ni kupata sms ya temperatur kutoka nyumba ya baba zangu.

Hakuna kitu cha kupendeza tu kuweka sehemu pamoja.

Sehemu hizo ni:

  • Geekcreit® ATmega328P Nano V3 Mdhibiti Bodi Sambamba Arduino
  • DIY NANO IO Shield V1. O Bodi ya Upanuzi wa Arduino
  • DS1307 Kulingana na RTC IIC / I2C Moduli ya Saa ya Saa na DS18b20
  • SIM800L Quad-bendi GSM / GPRS
  • LM2596 Mini DC-DC Converter Module inayoweza kurekebishwa Hatua ya Ugavi wa Umeme
  • Thermistor joto la NTC MF52AT

Kwanza kabisa kusoma na kutafuta.

Kwa kuwa mwishowe ninatumia Geekcreit® Nano, ninajaribu sehemu zote na Arduino Uno.

Hatua ya 1: Pata SIM800l kufanya kazi

Pata SIM800l kufanya kazi
Pata SIM800l kufanya kazi

Jambo moja kuu ni nguvu ya Sim800L.

Ninatumia kibadilishaji cha LM2596 Mini DC-DC, kilichobadilishwa kuwa volts 3.7 na umeme tofauti.

Ili kujaribu unganisho na maagizo ya AT + upande huu unaweza kutumika:

Haraka kuanza SIM800 (SIM800L) na Arduino

Na Lemaza msimbo wa pini ukitumia modem ya gsm kwa amri nilipata nambari ya sim ya siri.

Kuzingatia inayofuata ni maktaba gani. Mtandao hutoa suluhisho tofauti.

Suluhisho langu ni maktaba kutoka Mattias Aabmets: AspenSIM800

Mfano wake: Send_SMS.ino alitumia mimi kama programu ya msingi na moja kwa moja kuunganisha sehemu zingine zote pamoja.

Pini ya Tx na pini ya Rx ni nambari kwa:

RX_PIN 10 ya Arduino. Lazima uunganishwe na pini ya TX ya moduli ya SIM800. TX_PIN 11 ya Arduino. Lazima uunganishwe na pini ya RX ya moduli ya SIM800

Daima ni wazo nzuri kusoma faili za *.ccp na *.h kwenye maktaba.

Zina vidokezo na maarifa mengi ya kupendeza.

Hatua ya 2: Pata RTC DS1307 na DS18B20 Sensor Kufanya Kazi

Pata RTC DS1307 Pamoja na Sensor ya DS18B20 kufanya kazi
Pata RTC DS1307 Pamoja na Sensor ya DS18B20 kufanya kazi

Nilitumia upande huu: simtronyx - blogi ya DS1307 na DS18B20.

Saa ina unganisho la basi la I2C na hiyo ni kwa Arduino Uno: A4 (SDA) - A5 (SCL)

DS18B20 niliunganisha kwa D3.

Nilisoma kuwa kwenye SMS huwezi kutuma Floating String tu, kwa hivyo ilibidi nitafsiri kuteleza kwa kamba.

Ninayofanya na kijisehemu hiki cha nambari nimepata:

n

MyString1 = Kamba (sasaTemp, 2); // Badilisha kuelea kwa Kamba

MyString1 = (MyString1 + "C - ChumbaTemperatur:)");

// kubadilisha kamba kuwa char huanza hapa

// Urefu

int str_len1 = MyString1.length () + 1; // Andaa safu ya wahusika (bafa)

char char_array1 [str_len1]; // Nakili tena

MyString1.toCharArray (char_array1, str_len1); // kubadilisha kamba kwa char kumalizia

Nitakuwa mkweli mimi sio jinsi inavyofanya kazi, lakini inafanya kazi.

Hatua ya 3: Pata Thermistor NTC MF52AT Kufanya Kazi

Pata Thermistor NTC MF52AT Kufanya Kazi
Pata Thermistor NTC MF52AT Kufanya Kazi

Nilifanya kazi befor na thermistor kwa hivyo ilikuwa sehemu rahisi.

Lakini pia hapa unaweza kupata suluhisho tofauti.

Katika nambari ya mwisho unaweza kupata mgodi.

Yeye unaweza pia kupata tafsiri ya Floats to String.

Imeuziwa waya na kipinga cha 10 k ohm kwa thermistor.

Hatua ya 4: Pata Wote Kufanya Kazi Pamoja

Kwa hivyo niliandika sehemu zote za programu pamoja.

Sasa ilibidi nigundue jinsi ya kutuma SMS moja kila siku, kwa wakati mmoja.

Nilisoma juu ya maoni tofauti, mengine na TimerAlarm na njia nyingine.

Lakini nimepata suluhisho rahisi mahali fulani kwenye mkutano wa arduino:

ikiwa (sasa. Sasa () == 8 && sasa.minute () == 00 && now.second () == 59)

{

Tuma SIM (nyongeza, char_array); // kipima joto

kuchelewesha (500); Tuma SIM (nyongeza, char_array1); // DS18B20}

Lakini kwanini sasa. Pili = 59 kwa sababu inatuma ujumbe mfupi wa dakika. Inafanya kwa ajili yangu lakini jaribu mwenyewe.

Baada ya jaribio fulani nilipakia programu hiyo kwa Geekcreit® Nano.

Hii sio maandishi bora ya programu:) lakini inataka.

Kwa sababu Geekcreit® ATmega328P Nano ina shida zingine za IDE ya Arduino, napakia kwa terminal (Linux Mint) tupa USBtinyisp na hii: avrdude -c usbtiny -p atmega328p -U flash: w: SomeHexFile.hex

Hatua ya 5: Ilifanya kazi

Ndio ilifanya kazi na imewekwa ndani ya nyumba.

Kila siku saa 6:00 asubuhi mimi hupata SMS na temperatur.

Ilipendekeza: