Inhoudsopgave:
- Stap 1: Breng de SIM800l aan het werk
- Stap 2: Laat de RTC DS1307 met DS18B20-sensor werken
- Stap 3: De thermistor NTC MF52AT aan het werk krijgen
- Stap 4: Laat iedereen samenwerken
- Stap 5: Het werkte
Video: Stuurt een sms met temperatuur op tijd - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:19
Het idee is om een temperatuur sms te krijgen van mijn vaders huis.
Niets bijzonders, gewoon snel onderdelen in elkaar zetten.
De onderdelen zijn:
- Geekcreit® ATmega328P Nano V3-controllerkaart Compatibel met Arduino
- DIY NANO IO Shield V1. O uitbreidingskaart voor Arduino
- Op DS1307 gebaseerde RTC IIC / I2C real-time klokmodule en DS18b20
- SIM800L Quad-band GSM / GPRS
- LM2596 Mini DC-DC-converter Instelbare step-down voedingsmodule
- Thermistor NTC MF52AT temperatuur
Allereerst veel lezen en zoeken.
Voordat ik eindelijk de Geekcreit® Nano gebruik, test ik alle onderdelen met een Arduino Uno.
Stap 1: Breng de SIM800l aan het werk
Een belangrijk punt is de kracht van de Sim800L.
Ik gebruik een LM2596 Mini DC-DC converter, afgesteld op 3,7 volt en een aparte voeding.
Om de verbinding met AT+-commando's te testen, is deze kant zeer bruikbaar:
Snelstart SIM800 (SIM800L) met Arduino
Met Pincode uitschakelen met gsm-modem bij commando's kreeg ik rit van de sim-pincode.
De volgende overweging welke bibliotheek. Het internet biedt verschillende oplossingen.
Mijn oplossing is de bibliotheek van Mattias Aabmets: AspenSIM800
Zijn voorbeeld: Send_SMS.ino gebruikte I als basisprogramma en verbond één voor één alle andere delen met elkaar.
De Tx-pin en Rx-pin zijn code voor:
RX_PIN 10 van Arduino. Moet worden aangesloten op de TX-pin van de SIM800-module. TX_PIN 11 van Arduino. Moet worden aangesloten op de RX-pin van de SIM800-module
Het is altijd een goed idee om de *.ccp- en *.h-bestanden in de bibliotheken te lezen.
Ze bevatten veel interessante hints en kennis.
Stap 2: Laat de RTC DS1307 met DS18B20-sensor werken
Ik gebruikte deze kant: simtronyx - de blog voor de DS1307 en DS18B20.
De klok heeft een I2C bus aansluiting en dat is voor de Arduino Uno: A4 (SDA) - A5 (SCL)
De DS18B20 heb ik aangesloten op D3.
Ik las dat je in een sms geen Floats alleen String kunt sturen, dus moest ik floats vertalen naar string.
Dat doe ik met dit codefragment dat ik heb gevonden:
N
MijnString1 = String (huidigeTemp, 2); // Converteer float naar String
MyString1 = (MyString1 + " C - Kamertemperatuur:) ");
// convert string naar char begint hier
// Lengte (met één extra teken voor de nulterminator)
int str_len1 = MijnString1.lengte() + 1; // Bereid de tekenreeks (de buffer) voor
char char_array1[str_len1]; // Kopieer het over
MyString1.toCharArray(char_array1, str_len1); // convert string naar char beëindigt haar
Ik zal eerlijk zijn, ik weet niet hoe het werkt, maar het werkt.
Stap 3: De thermistor NTC MF52AT aan het werk krijgen
Ik werkte eerder met een thermistor, dus het was het makkelijke gedeelte.
Maar ook hier vindt u verschillende oplossingen.
In de uiteindelijke code kun je de mijne vinden.
Hier vind je ook de vertaling Floats to String.
Wat draad en de weerstand van 10 k ohm aan de thermistor gesoldeerd.
Stap 4: Laat iedereen samenwerken
Dus heb ik alle programmaonderdelen bij elkaar geschreven.
Nu moest ik uitzoeken hoe ik elke dag één sms op hetzelfde tijdstip kon verzenden.
Ik las over verschillende ideeën, sommige met een TimerAlarm en andere benadering.
Maar ik heb ergens op het Arduino-forum een eenvoudige oplossing gevonden:
if (nu.uur() == 8 && nu.minuut() == 00 && nu.seconde () == 59)
{
SIM.smsSend(addr, char_array); // thermistor
vertraging (500); SIM.smsSend(addr, char_array1); // DS18B20 }
Maar waarom now.second = 59 omdat het een sms van een hele minuut verstuurt. Voor mij wel, maar probeer het zelf uit.
Na wat testen heb ik het programma geüpload naar de Geekcreit® Nano.
Dit is misschien niet het beste programma om te schrijven:) maar het doet het gewenste.
Omdat de Geekcreit® ATmega328P Nano wat Arduino IDE-problemen heeft, upload ik per terminal (Linux Mint) de USBtinyisp hiermee: avrdude -c usbtiny -p atmega328p -U flash:w:SomeHexFile.hex
Stap 5: Het werkte
Ja het is gelukt en het is in huis geplaatst.
Elke dag om 6.00 uur krijg ik een sms met de temperatuur.
Aanbevolen:
Een sms verzenden met een ESP8266: 5 stappen
Een sms verzenden met een ESP8266: deze instructie leidt u door de stappen om sms-berichten via internet te verzenden vanaf een ESP8266 NodeMCU-modulekaart naar een mobiele telefoon. Om het bericht te kunnen verzenden, moet u de stappen doorlopen om een virtueel telefoonnummer te krijgen van
Temperatuur meten met een PT100 en een Arduino: 16 stappen
Temperatuur meten met behulp van een PT100 en een Arduino: Het doel van dit project is het ontwerpen, bouwen en testen van een temperatuurmeetsysteem. Het systeem is ontworpen om een temperatuurbereik van 0 tot 100 °C te meten. Een PT100 werd gebruikt om de temperatuur te meten, en het is een weerstandstemperatuurdetector (RTD)
Tijd en temperatuur met LCD en Arduino (VAST): 4 stappen
Tijd en temperatuur met LCD en Arduino (VAST): Hallo allemaal! Mijn naam is Samuele, ik ben 14 en ik kom uit Sicilië… Ik ben een nieuwkomer in de wereld van Arduino! Ik heb wat ervaringen met elektronica en doe-het-zelf projecten , maar ik begon een aantal programma's op Arduino te schrijven om mijn werk te vereenvoudigen. Dit is mijn eerste Ins
Bedien tot 4 servo's met een smartphone of een ander apparaat met een audio-uitgang: 3 stappen
Bedien tot 4 servo's met behulp van een smartphone of elk apparaat met een audio-uitgang: hier presenteer ik een eenvoudige elektronische montage om maximaal vier servo's te besturen met elk apparaat dat een audiobestand kan lezen
Rechte kopteksten omzetten in haakse kopteksten (in een mum van tijd): 4 stappen
Converteer rechte headers naar rechthoekige headers (in een mum van tijd): na het zien van de aankondiging voor de arduino-wedstrijd, zei ik, hey waarom niet proberen. uit en kreeg de barebones arduino-kit, met de bedoeling "het op mijn manier te maken". Een van die veranderingen was een van de eerste dingen die je