Orodha ya maudhui:
- Hatua ya 1: Pata SIM800l kufanya kazi
- Hatua ya 2: Pata RTC DS1307 na DS18B20 Sensor Kufanya Kazi
- Hatua ya 3: Pata Thermistor NTC MF52AT Kufanya Kazi
- Hatua ya 4: Pata Wote Kufanya Kazi Pamoja
- Hatua ya 5: Ilifanya kazi
Video: Inatuma Sms na Temperatur kwa Wakati: Hatua 5 (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:54
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
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
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
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:
Steam Punk UPS Yako Ili Upate Masaa ya Wakati wa Kupata Wakati wa Njia yako ya Wi-fi: Hatua 4 (na Picha)
Steam Punk UPS Yako Ili Kupata Masaa ya Wakati wa Kupita kwa Njia yako ya Wi-fi: Kuna jambo ambalo halikubaliani kimsingi juu ya kuwa UPS yako ibadilishe nguvu yake ya betri ya 12V DC kuwa nguvu ya ACV ya 220V ili transfoma wanaotumia router yako na nyuzi ONT waweze kuibadilisha kuwa 12V DC! Wewe pia uko dhidi ya [kawaida
Jenga Chungu cha Kujinyunyizia cha DIY na Wifi - Mimea ya Maji Moja kwa Moja na Inatuma Tahadhari Wakati Maji Yapo Chini: Hatua 19
Jenga Chungu cha Kujinyunyizia cha DIY na Wifi - Mimea ya Maji Moja kwa Moja na Inatuma Tahadhari Wakati Maji Yapo Chini: Mafunzo haya yanaonyesha jinsi ya kujenga kipandaji cha umwagiliaji cha kibinafsi kilichounganishwa na WiFi ukitumia kipandaji cha zamani cha bustani, takataka, wambiso na ubinafsi Kutia maji Kitanda cha Mkusanyiko kutoka Adosia
Nodemcu Inatuma Takwimu za Joto na Unyevu kwa Thingspeak: Hatua 7
Nodemcu Inatuma Takwimu za Joto na Unyevu kwa Thingspeak: Hapa katika mafunzo haya tumeingiliana na nodemcu na sensor ya dht11 na kutuma data ya joto na unyevu kwenye seva ya vitu. Hapa pia tunapanga grafu ya joto na unyevu kwa seva ya kusema
Arduino Inatuma Takwimu za Dht11 kwa Seva ya MySQL (PHPMYADMIN) Kutumia Python: Hatua 5
Arduino Inatuma Takwimu za Dht11 kwa Seva ya MySQL (PHPMYADMIN) Kutumia Python: Katika Mradi huu nimeingiliana na DHT11 na arduino halafu ninatuma data ya dht11 ambayo ni unyevu na joto kwa hifadhidata ya phpmyadmin. Tofauti na mradi wetu wa awali hatutumii ngao yoyote ya ethernet katika kesi hii, hapa tunasoma tu
Arduino Inatuma Takwimu za Joto na Unyevu kwa Seva ya MySQL (PHPMYADMIN): Hatua 5
Arduino Inatuma Takwimu za Joto na Unyevu kwa Seva ya MySQL (PHPMYADMIN): Katika Mradi huu nimeingiliana na DHT11 na arduino halafu ninatuma data ya dht11 ambayo ni unyevu na joto kwa hifadhidata ya phpmyadmin. Hapa tunatumia hati moja ya PHP kushinikiza data kwa hifadhidata ya phpmyadmin