Sisukord:
- Samm: pange SIM800l tööle
- 2. samm: pange RTC DS1307 koos DS18B20 anduriga tööle
- Samm: laske termistor NTC MF52AT tööle
- Samm: pange kõik koos tööle
- Samm 5: see töötas
Video: Temperaturiga sõnumi saatmine õigel ajal: 5 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:50
Idee on saada minu isade majast temperatuurilmsms.
Pole midagi väljamõeldud, vaid osade kiire kokkupanek.
Osad on:
- Geekcreit® ATmega328P Nano V3 kontrolleri ühilduv Arduino
- DIY NANO IO Shield V1. O laiendusplaat Arduino jaoks
- DS1307 põhinev RTC IIC / I2C reaalajas kella moodul ja DS18b20
- SIM800L neljaribaline GSM / GPRS
- LM2596 Mini DC-DC muundur Reguleeritav astmelise toiteallika moodul
- Termistori NTC MF52AT temperatuur
Kõigepealt palju lugemisest ja otsimisest.
Kuna ma lõpuks kasutan Geekcreit® Nano, katsetan kõiki osi Arduino Unoga.
Samm: pange SIM800l tööle
Üks peamine asi on Sim800L võimsus.
Kasutan LM2596 Mini DC-DC muundurit, reguleeritud 3,7 voldile ja eraldi toiteallikat.
Ühenduse testimiseks AT+ käskudega on see külg väga kasutatav:
SIM -800 (SIM800L) kiire käivitamine Arduino abil
Kui keelate PIN -koodi, kasutades gsm -modemit käskluste ajal, sain sim -pin -koodi kasutada.
Järgmine kaalutlus, milline raamatukogu. Internet pakub erinevaid lahendusi.
Minu lahendus on Mattias Aabmetsa raamatukogu: AspenSIM800
Tema näide: Send_SMS.ino kasutas I põhiprogrammina ja ühendas ükshaaval kõik ülejäänud osad kokku.
Tx pin ja Rx pin on kood:
RX_PIN 10 Arduino'st. Peab olema ühendatud SIM800 mooduli TX -tihvtiga. Arduino TX_PIN 11. Peab olema ühendatud SIM800 mooduli RX kontaktiga
Alati on hea mõte lugeda raamatukogudes *.ccp ja *.h faile.
Need sisaldavad palju huvitavaid näpunäiteid ja teadmisi.
2. samm: pange RTC DS1307 koos DS18B20 anduriga tööle
Ma kasutasin seda külge: simtronyx - ajaveeb DS1307 ja DS18B20 jaoks.
Kellal on I2C siiniühendus ja see on mõeldud Arduino Uno jaoks: A4 (SDA) - A5 (SCL)
DS18B20 I ühendati D3 -ga.
Lugesin, et SMS -iga ei saa Floats ainult Stringi saata, seega pidin ujukid stringiks tõlkima.
Mida ma teen selle leitud koodilõigu abil:
n
MinuString1 = String (praeguneTemp, 2); // Teisenda ujuk stringiks
MinuString1 = (MinuString1 + "C - RoomTemperatur:)");
// stringide teisendamine chariks algab siit
// Pikkus (koos ühe lisamärgiga null -terminaatori jaoks)
int str_len1 = MinuString1.pikkus () + 1; // Märgimassiivi (puhver) ettevalmistamine
char char_array1 [str_len1]; // Kopeerige see üle
MyString1.toCharArray (char_array1, str_len1); // teisenda string tähemärgiks
Ütlen ausalt, et ma ei tea, kuidas see töötab, aga see töötab.
Samm: laske termistor NTC MF52AT tööle
Töötasin termistoriga, nii et see oli lihtne osa.
Kuid ka siit leiate teistsuguse lahenduse.
Lõplikust koodist leiate minu oma.
Temalt leiate ka tõlke Floats to String.
Termistori külge joodeti mõni traat ja 10 k oomi takisti.
Samm: pange kõik koos tööle
Nii et ma kirjutasin kõik programmi osad kokku.
Nüüd pidin välja mõtlema, kuidas saata üks SMS iga päev samal ajal.
Lugesin erinevatest ideedest, mõnedel oli TimerAlarm ja muu lähenemisviis.
Kuid leidsin arduino foorumist kuskil lihtsa lahenduse:
if (now.hour () == 8 && now.minute () == 00 && now.second () == 59)
{
SIM.smsSend (addr, char_array); // termistor
viivitus (500); SIM.smsSend (addr, char_array1); // DS18B20}
Aga miks nüüd.second = 59, sest see saadab terve minuti SMS -i. See sobib mulle, aga proovige ise.
Pärast mõningast katset laadisin programmi üles Geekcreit® Nano seadmesse.
See pole võib -olla parim programmikirjutamine:) aga soovitud.
Kuna Geekcreit® ATmega328P Nano -l on mõningaid Arduino IDE probleeme, laadin terminali (Linux Mint) kaudu üles USBtinyispi selle abil: avrdude -c usbtiny -p atmega328p -U flash: w: SomeHexFile.hex
Samm 5: see töötas
Jah, see õnnestus ja see on majja paigutatud.
Iga päev kell 6:00 saan SMS -i temperatuuriga.
Soovitan:
LED -i kasutamine sõnumi valgustamiseks: 7 sammu
LED -i kasutamine sõnumi valgustamiseks: asjade süttimine tundub maagiana ja maagia jaoks pole paremat kohta kui minu klassiruumis. Vooluahelate esmakordne ehitamine nõuab probleemide lahendamist ja püsivust. Alustasin seda õppetundi, laenates Makilt ringraja ehitamise juhendit
Peatage oma lapsed mängimise ajal õppimise ajal: 4 sammu
Peata oma lapsed mängimast õppimise ajal: Videomängude mängimine on suur probleem, mis õpilastel õppimise ajal tekib. Paljud õpilased kannatavad õppimise asemel mänge mängides, mis annab neile halvad hinded. Vanemad on oma lapse pärast vihased ja mures, mistõttu otsustasid nad
Punktmaatriks; 8x8 sõnumi või piltidega: 4 sammu
Punktmaatriks; 8x8 sõnumi või piltidega: see juhendab teile punktmaatriksi pilte, mille tegin punktmaatriksiga 8x8 … Palun vaadake lisatud videoid ja programme. Punktmaatriks on kahemõõtmeline ekraan. See koosneb 8 veerust ja 8 reast. Kui vaatate tähelepanelikult
Crimson Fox: teadlikkuse tõstmine, et töö ajal pausi teha: 8 sammu (piltidega)
Crimson Fox: Teadlikkuse tõstmine, et teha töö ajal pausi: Rootsis KTH -s läbitud kursuse jaoks määrati meile luua artefakt, mis võib kuju muuta. Tegime rebase kujuga eseme, mis peaks teile meelde tuletama, et peaksite tööl või õppimises pausi tegema. Üldine kontseptsioon on see, et rebane kuvab
SenseHatis sõnumi kuvamine: 5 sammu
SenseHatis sõnumi kuvamine: Tere, täna näitan teile, kuidas kuvada sõnum Raspberry Pi SenseHat'is