Innehållsförteckning:
- Steg 1: Få SIM800l att fungera
- Steg 2: Få RTC DS1307 med DS18B20 -sensor att fungera
- Steg 3: Få Thermistor NTC MF52AT att fungera
- Steg 4: Få alla att arbeta tillsammans
- Steg 5: Det fungerade
Video: Skickar ett SMS med temperatur i tid: 5 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:47
Tanken är att få ett temperatur -sms från mina fars hus.
Inget konstigt bara att snabbt sätta ihop delar.
Delarna är:
- Geekcreit® ATmega328P Nano V3 Controller Board Compatible Arduino
- DIY NANO IO Shield V1. O Expansionskort för Arduino
- DS1307 Baserad RTC IIC / I2C Real Time Clock Module och DS18b20
- SIM800L Quad-band GSM / GPRS
- LM2596 Mini DC-DC-omvandlare Justerbar steglös strömförsörjningsmodul
- Termistor NTC MF52AT temperatur
Först alls mycket av att läsa och söka.
Innan jag äntligen använder Geekcreit® Nano testar jag alla delar med en Arduino Uno.
Steg 1: Få SIM800l att fungera
En huvudpunkt är kraften för Sim800L.
Jag använder en LM2596 Mini DC-DC-omvandlare, justerad till 3,7 volt och en separat strömförsörjning.
För att testa anslutningen med AT+ -kommandon är denna sida mycket användbar:
Snabbstart SIM800 (SIM800L) med Arduino
Med Inaktivera pinkod med gsm -modem vid kommandon fick jag sim -kod.
Nästa övervägande vilket bibliotek. Internet erbjuder olika lösningar.
Min lösning är biblioteket från Mattias Aabmets: AspenSIM800
Hans exampel: Send_SMS.ino använde I som grundprogram och en efter en kopplar alla andra delar ihop.
Tx -stiftet och Rx -stiftet är kod till:
RX_PIN 10 från Arduino. Måste vara ansluten till TX -stiftet på SIM800 -modulen. TX_PIN 11 av Arduino. Måste vara ansluten till RX -stiftet på SIM800 -modulen
Det är alltid bra att läsa filerna *.ccp och *.h i biblioteken.
De innehåller många intressanta tips och kunskaper.
Steg 2: Få RTC DS1307 med DS18B20 -sensor att fungera
Jag använde denna sida: simtronyx - bloggen för DS1307 och DS18B20.
Klockan har en I2C -bussanslutning och den är för Arduino Uno: A4 (SDA) - A5 (SCL)
DS18B20 I ansluten till D3.
Jag läste att i ett SMS kan du inte skicka Floats only String, så jag var tvungen att översätta floats till string.
Det jag gör med det här kodavsnittet hittade jag:
n
MyString1 = String (currentTemp, 2); // Konvertera float till String
MyString1 = (MyString1 + "C - RoomTemperatur:)");
// konvertera sträng till char börjar här
// Längd (med ett extra tecken för nollterminatorn)
int str_len1 = MyString1.length () + 1; // Förbered teckenmatrisen (bufferten)
char char_array1 [str_len1]; // Kopiera den
MyString1.toCharArray (char_array1, str_len1); // konvertera sträng till char slutar henne
Jag ska vara ärlig, jag vet inte hur det fungerar, men det fungerar.
Steg 3: Få Thermistor NTC MF52AT att fungera
Jag arbetade med en termistor så det var den enkla delen.
Men också här kan du hitta olika lösningar.
I den sista koden kan du hitta min.
Hennes kan du också hitta översättningen Floats to String.
Lödde lite tråd och 10 k ohm motståndet till termistorn.
Steg 4: Få alla att arbeta tillsammans
Så jag skrev alla programdelar tillsammans.
Nu var jag tvungen att ta reda på hur man skickar ett SMS varje dag, samtidigt.
Jag läste om olika idéer, några med en TimerAlarm och ett annat tillvägagångssätt.
Men jag hittade en enkel lösning någonstans i arduino -forumet:
om (nu. timme () == 8 && nu. minut () == 00 && nu. sekund () == 59)
{
SIM.smsSend (addr, char_array); // termistor
fördröjning (500); SIM.smsSend (addr, char_array1); // DS18B20}
Men varför nu. Sekund = 59 eftersom det skickar ett helt minut -SMS. Det gör för mig men prova själv.
Efter lite test laddade jag upp programmet till Geekcreit® Nano.
Detta är kanske inte det bästa programskrivandet:) men det gör önskat.
Eftersom Geekcreit® ATmega328P Nano har några Arduino IDE -problem, laddar jag upp via terminal (Linux Mint) kasta USBtinyisp med detta: avrdude -c usbtiny -p atmega328p -U flash: w: SomeHexFile.hex
Steg 5: Det fungerade
Ja det löste sig och det är placerat i huset.
Varje dag klockan 6:00 får jag ett SMS med temperaturen.
Rekommenderad:
Skickar SMS med Arduino -- TC35 GSM -modul: 5 steg
Skickar SMS med Arduino || TC35 GSM -modul: I det här lilla projektet kommer jag att visa dig hur du använder en TC35 GSM -modul korrekt och hur du använder den med en Arduino Uno för att skicka ett SMS med den
Nodemcu skickar data om temperatur och luftfuktighet till Thingspeak: 7 steg
Nodemcu skickar temperatur- och luftfuktighetsdata till Thingspeak: Här i den här självstudien har vi anslutit nodemcu till dht11 -sensorn och skickat temperatur- och luftfuktighetsdata till thingspeak -servern. Här har vi också ritat diagrammet över temperatur och luftfuktighet till thingspeak -servern
Veckodag, kalender, tid, luftfuktighet/temperatur med batterisparläge: 10 steg (med bilder)
Veckodag, kalender, tid, luftfuktighet/temperatur med batterisparläge: Energisparläget här är det som skiljer denna instruktör från andra exempel som visar veckodag, månad, dag i månaden, tid, luftfuktighet och temperatur. Det är denna förmåga som gör att detta projekt kan köras från ett batteri, utan
Arduino skickar data om temperatur och luftfuktighet till MySQL Server (PHPMYADMIN): 5 steg
Arduino skickar data om temperatur och luftfuktighet till MySQL Server (PHPMYADMIN): I detta projekt har jag kopplat DHT11 till arduino och sedan skickar jag data från dht11 som är fuktighet och temperatur till phpmyadmin -databasen. Här använder vi ett PHP -skript för att överföra data till phpmyadmin -databasen
Hur man skickar MIDI -musik till Spielatron: 10 steg (med bilder)
Hur man skickar MIDI -musik till Spielatron: Denna instruktionsbok täcker de programverktyg vi använder för att enkelt ta standardmusiknotering, konvertera den till en MIDI -fil och spela den på Spielatron