Kazalo:
- 1. korak: Vklopite SIM800l
- 2. korak: Začnite delovati RTC DS1307 s senzorjem DS18B20
- 3. korak: Zaženite delovanje termistorja NTC MF52AT
- 4. korak: Naj vsi sodelujejo
- 5. korak: Uspelo je
Video: Pošlje SMS s časovno temperaturo: 5 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:08
Ideja je, da dobim temperaturni sms iz hiše mojih očetov.
Nič lepega, samo hitro sestavljanje delov.
Deli so:
- Arduino, združljiv s krmilno ploščo Geekcreit® ATmega328P Nano V3
- DIY NANO IO Shield V1. O razširitvena plošča za Arduino
- DS1307 RTC IIC / I2C Cloud Modul za realni čas in DS18b20
- SIM800L Štiripasovni GSM / GPRS
- LM2596 Mini DC-DC pretvornik, nastavljiv napajalni modul za navzdol
- Termistor NTC MF52AT temperatura
Sprva veliko o branju in iskanju.
Preden končno uporabim Geekcreit® Nano, vse dele preizkusim z Arduino Uno.
1. korak: Vklopite SIM800l
Ena glavna točka je moč za Sim800L.
Uporabljam LM2596 Mini DC-DC pretvornik, nastavljen na 3,7 voltov in ločen napajalnik.
Za testiranje povezave z ukazi AT+ je ta stran zelo uporabna:
Hitri zagon SIM800 (SIM800L) z Arduinom
Z možnostjo Onemogoči pin kodo z uporabo modema gsm pri ukazih sem dobil kodo pin pin.
Naslednji premislek, katera knjižnica. Internet ponuja različne rešitve.
Moja rešitev je knjižnica Mattiasa Aabmetsa: AspenSIM800
Njegov izpit: Send_SMS.ino je uporabil I kot osnovni program in enega za drugim poveže vse ostale dele skupaj.
Pin Tx in Rx sta koda za:
RX_PIN 10 iz Arduina. Mora biti priključen na TX pin modula SIM800. TX_PIN 11 Arduina. Mora biti priključen na RX pin modula SIM800
Vedno je dobro prebrati datoteke *.ccp in *.h v knjižnicah.
Vsebujejo veliko zanimivih namigov in znanja.
2. korak: Začnite delovati RTC DS1307 s senzorjem DS18B20
Uporabil sem to stransko stran: simtronyx - blog za DS1307 in DS18B20.
Ura ima povezavo z vodilom I2C in to je za Arduino Uno: A4 (SDA) - A5 (SCL)
DS18B20 I sem priključil na D3.
Prebral sem, da v SMS -u ne morete poslati samo nizov, zato sem moral prevesti plavajoče v niz.
To, kar naredim s tem delčkom kode, sem našel:
n
MyString1 = Niz (currentTemp, 2); // Pretvori float v niz
MyString1 = (MyString1 + "C - RoomTemperatur:)");
// tukaj se pretvori niz v char
// Dolžina (z enim dodatnim znakom za ničelni terminator)
int str_len1 = MyString1.length () + 1; // Pripravimo niz znakov (medpomnilnik)
char char_array1 [str_len1]; // Kopirajte
MyString1.toCharArray (char_array1, str_len1); // pretvori niz v char
Iskreno povedano, ne vem, kako deluje, ampak deluje.
3. korak: Zaženite delovanje termistorja NTC MF52AT
Pred tem sem delal s termistorjem, zato je bil to lažji del.
Toda tudi tukaj lahko najdete drugačno rešitev.
V končni kodi lahko najdete mojo.
Lahko tudi najdete prevod Floats to String.
Spajamo nekaj žice in 10 k ohmski upor na termistor.
4. korak: Naj vsi sodelujejo
Zato sem skupaj napisal vse dele programa.
Zdaj sem moral ugotoviti, kako poslati vsak dan po en SMS, hkrati.
Prebral sem različne ideje, nekatere s TimerAlarm in drugim pristopom.
Toda na forumu arduino sem našel preprosto rešitev:
if (now.hour () == 8 && now.minute () == 00 && now.second () == 59)
{
SIM.smsSend (addr, char_array); // termistor
zamuda (500); SIM.smsSend (addr, char_array1); // DS18B20}
Zakaj pa zdaj.second = 59, ker pošlje celo minuto SMS -a. Meni gre, ampak preizkusi sam.
Po nekaj preizkusih sem program naložil v Geekcreit® Nano.
Morda to ni najboljše pisanje programov:), vendar naredi želeno.
Ker ima Geekcreit® ATmega328P Nano nekaj težav z Arduino IDE, naložim prek terminala (Linux Mint) in vržem USBtinyisp s tem: avrdude -c usbtiny -p atmega328p -U flash: w: SomeHexFile.hex
5. korak: Uspelo je
Da, uspelo je in je postavljeno v hišo.
Vsak dan ob 6:00 dobim SMS s temperaturo.
Priporočena:
Termokromni zaslon za temperaturo in vlažnost - PCB različica: 6 korakov (s slikami)
Prikaz termokromske temperature in vlažnosti - različica PCB: Pred časom je bil izveden projekt, imenovan Thermochromic Temperature & Zaslon vlažnosti, kjer sem sestavil 7-segmentni zaslon iz bakrenih plošč, ki so jih segrevali/hladili peleti. Bakrene plošče so bile prekrite s termokromno folijo, ki
Naredite časovno kosilo s konstantno temperaturo: 16 korakov
Naredite časovno kosilo s konstantno temperaturo: Čeprav je navadna škatla za kosilo enostavna za uporabo in upravljanje, vendar ima eno samo funkcijo, ni mogoče nastaviti časa ali nastaviti temperature za ogrevanje. Da bi odpravili to pomanjkljivost, je tokrat DIY narejen na podlagi kuhanja
Uporaba senzorja prstnih odtisov za časovno udeležbo v kombinaciji z rešitvijo XAMP: 6 korakov (s slikami)
Uporaba senzorja prstnih odtisov za časovno udeležbo v kombinaciji z rešitvijo XAMP: Za šolski projekt smo iskali rešitev, kako slediti udeležbi učencev. Veliko naših študentov pride pozno. Preverjanje njihove prisotnosti je dolgočasno delo. Po drugi strani pa je veliko razprav, ker bodo študentje pogosto rekli
Radio s časovno premico NFC: 8 korakov (s slikami)
Radio s časovno premico NFC: V laboratorijskem projektu na oddelku za vseprisotne medije, osredotočene na človeka, smo imeli izziv ustvariti sodoben predvajalnik glasbe, ki se sklicuje na tradicionalno radijsko oblikovanje. Časovni okvir je bil en semester
Kako narediti časovno stikalo z nizko tehnologijo. 5 korakov (s slikami)
Kako narediti stikalo časovnika z nizko tehnologijo. To je navodilo za izdelavo stikala časovnika z zelo nizko tehnologijo. moja ugasne enkrat na 12 ur za približno 3 minute. To sem naredil, ker nisem ravno dober z elektroniko, a sem vseeno želel poceni časomer. To je le prototip in upam, da bom