Satura rādītājs:
- 1. darbība: ļaujiet SIM800l darbam
- 2. darbība. Lai darbotos RTC DS1307 ar sensoru DS18B20
- 3. darbība: sāciet strādāt ar termistoru NTC MF52AT
- 4. darbība. Lieciet visiem strādāt kopā
- 5. solis: tas strādāja
Video: Nosūta īsziņu ar temperatūru laikā: 5 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:58
Ideja ir iegūt temperatūru sms no manu tēvu mājas.
Nav nekas smalks, tikai ātra detaļu salikšana.
Daļas ir:
- Ar Geekcreit® ATmega328P Nano V3 kontrollera paneli saderīgs ar Arduino
- DIY NANO IO Shield V1. O paplašināšanas dēlis Arduino
- DS1307 balstīts RTC IIC / I2C reālā laika pulksteņa modulis un DS18b20
- SIM800L četru joslu GSM / GPRS
- LM2596 mini līdzstrāvas pārveidotājs ar regulējamu atkāpšanās barošanas bloku
- Termistora NTC MF52AT temperatūra
Vispirms daudz no lasīšanas un meklēšanas.
Lai beidzot izmantotu Geekcreit® Nano, es testēju visas detaļas ar Arduino Uno.
1. darbība: ļaujiet SIM800l darbam
Viens no galvenajiem punktiem ir Sim800L jauda.
Es izmantoju LM2596 Mini DC-DC pārveidotāju, kas pielāgots 3,7 voltiem, un atsevišķu barošanas avotu.
Lai pārbaudītu savienojumu ar AT+ komandām, šī puse ir ļoti izmantojama:
Ātrā iedarbināšana SIM800 (SIM800L) ar Arduino
Izmantojot komandu Atspējot PIN kodu, izmantojot gsm modemu, es saņēmu sim pin kodu.
Nākamais apsvērums, kura bibliotēka. Internets piedāvā dažādus risinājumus.
Mans risinājums ir Mattias Aabmets bibliotēka: AspenSIM800
Viņa piemērs: Send_SMS.ino izmantoja I kā pamata programmu un pa vienam savieno visas pārējās daļas kopā.
Tx tapa un Rx tapa ir kods:
RX_PIN 10 no Arduino. Jābūt savienotam ar SIM800 moduļa TX tapu. TX_PIN 11 no Arduino. Jāpievieno SIM800 moduļa RX tapai
Bibliotēkās vienmēr ir ieteicams lasīt *.ccp un *.h failus.
Tie satur daudz interesantu padomu un zināšanu.
2. darbība. Lai darbotos RTC DS1307 ar sensoru DS18B20
Es izmantoju šo sānu pusi: simtronyx - DS1307 un DS18B20 emuārs.
Pulkstenim ir I2C kopnes savienojums, un tas ir paredzēts Arduino Uno: A4 (SDA) - A5 (SCL)
DS18B20 es pievienojos D3.
Es izlasīju, ka īsziņā jūs nevarat nosūtīt Floats tikai String, tāpēc man bija jātulko pludiņi virknē.
Kā rīkoties ar šo atrasto koda fragmentu:
n
MyString1 = String (currentTemp, 2); // Pārvērst pludiņu par virkni
MyString1 = (MyString1 + "C - RoomTemperatur:)");
// konvertēt virkni uz char sākas šeit
// Garums (ar vienu papildu rakstzīmi nulles terminatoram)
int str_len1 = MyString1.length () + 1; // Sagatavojiet rakstzīmju masīvu (buferi)
char char_array1 [str_len1]; // Kopējiet to vēlreiz
MyString1.toCharArray (char_array1, str_len1); // pārvērst virkni uz char beidzas ar viņu
Teikšu godīgi, man nav skaidrs, kā tas darbojas, bet tas darbojas.
3. darbība: sāciet strādāt ar termistoru NTC MF52AT
Es strādāju ar termistoru, tāpēc tā bija vieglākā daļa.
Bet arī šeit jūs varat atrast atšķirīgu risinājumu.
Noslēguma kodā jūs varat atrast manu.
Viņas var atrast arī tulkojumu Floats to String.
Pie termistora pielodēts kāds vads un 10 k omu rezistors.
4. darbība. Lieciet visiem strādāt kopā
Tāpēc es uzrakstīju visas programmas daļas kopā.
Tagad man bija jāizdomā, kā nosūtīt vienu SMS katru dienu vienā un tajā pašā laikā.
Es lasīju par dažādām idejām, dažas ar TimerAlarm un citu pieeju.
Bet kādā vietā arduino forumā es atradu vienkāršu risinājumu:
ja (now.hour () == 8 && now.minute () == 00 && now.second () == 59)
{
SIM.smsSend (addr, char_array); // termistors
kavēšanās (500); SIM.smsSend (addr, char_array1); // DS18B20}
Bet kāpēc tagad.second = 59, jo tas nosūta veselu minūšu SMS. Tas der man, bet pamēģini pats.
Pēc dažām pārbaudēm es augšupielādēju programmu Geekcreit® Nano.
Šī nav labākā programmu rakstīšana:), bet tā dara vēlamo.
Tā kā Geekcreit® ATmega328P Nano ir dažas Arduino IDE problēmas, es augšupielādēju, izmantojot termināli (Linux Mint), izmetu USBtinyisp ar šo: avrdude -c usbtiny -p atmega328p -U flash: w: SomeHexFile.hex
5. solis: tas strādāja
Jā, tas izdevās, un tas ir ievietots mājā.
Katru dienu 6:00 es saņemu SMS ar temperatūru.
Ieteicams:
Īsziņu sūtīšana, ja tiek konstatēts dūms (Arduino+GSM SIM900A: 5 soļi
Īsziņu sūtīšana, ja tiek konstatēts dūms (Arduino+GSM SIM900A: Sveiki visi! Pirmajā pamācībā es izveidošu gāzes trauksmi, kas nosūta ziņojumu lietotājam, ja tiek konstatēts piesārņojums. Tas būs vienkāršs prototips, izmantojot Arduino, GSM moduli un elektroķīmiju dūmu sensors. Nākotnē to var paplašināt līdz
Izveidojiet DIY pašlaistīšanas podu ar WiFi - Ūdeņi augi automātiski un nosūta brīdinājumus, kad ūdens ir zems: 19 soļi
Izveidojiet DIY pašlaistīšanas podu ar WiFi - Ūdeņi augi automātiski un nosūta brīdinājumus, kad ūdens ir zems: šī apmācība parāda, kā izveidot pielāgotu ar WiFi savienotu pašlaistīšanas stādītāju, izmantojot veco dārza stādītāju, miskasti, kādu līmi un pašpietiekamu Laistīšanas katla montāžas komplekts no Adosia
Nodemcu nosūta temperatūras un mitruma datus uz lietas runu: 7 soļi
Nodemcu sūta temperatūras un mitruma datus uz lietas runu: Šeit šajā apmācībā mēs esam sasaistījuši nodemcu ar dht11 sensoru un nosūta temperatūras un mitruma datus uz lietas runas serveri. Šeit mēs esam arī attēlojuši temperatūras un mitruma grafiku uz lietu runas servera
Laika lampa - maina krāsu ar temperatūru: 6 soļi
Laika lampa - maina krāsu ar temperatūru: Sveiki! Cik reizes tas notika, ka jūs atdzesējāties zem gaisa kondicioniera savā istabā, nezinot, cik karsts ir ārā. Iedomājieties sava mājdzīvnieka stāvokli. Tam nav ne maiņstrāvas, ne ventilatora. Iespējams, tas nav tik bieži, bet tas notiek reti
Laika stacija ar Arduino, BME280 un displeju, lai redzētu tendenci pēdējo 1-2 dienu laikā: 3 soļi (ar attēliem)
Laika stacijas ar Arduino, BME280 un displeju, lai redzētu tendenci pēdējo 1-2 dienu laikā: Sveiki! Šeit ir norādījumi par laika apstākļiem, kas jau ir ieviesti. Tie parāda pašreizējo gaisa spiedienu, temperatūru un mitrumu. Līdz šim viņiem trūka kursa prezentācijas pēdējo 1-2 dienu laikā. Šim procesam būtu