Სარჩევი:

აგზავნის სმს ტემპერატურასთან ერთად დროულად: 5 ნაბიჯი (სურათებით)
აგზავნის სმს ტემპერატურასთან ერთად დროულად: 5 ნაბიჯი (სურათებით)

ვიდეო: აგზავნის სმს ტემპერატურასთან ერთად დროულად: 5 ნაბიჯი (სურათებით)

ვიდეო: აგზავნის სმს ტემპერატურასთან ერთად დროულად: 5 ნაბიჯი (სურათებით)
ვიდეო: 10 არგენტინული კულტურის შოკი 🧉😲 | ამ კულტურულმა განსხვავებებმა გაგვაკვირვა არგენტინაში მცხოვრები! 🇦🇷 2024, ნოემბერი
Anonim
აგზავნის სმს ტემპერატურასთან ერთად დროულად
აგზავნის სმს ტემპერატურასთან ერთად დროულად

იდეა არის მივიღო ტემპერატურის sms ჩემი მამის სახლიდან.

არაფერია გასაოცარი, უბრალოდ ნაწილების ერთმანეთთან შეთავსება.

ნაწილებია:

  • Geekcreit® ATmega328P Nano V3 კონტროლერის დაფა თავსებადია Arduino
  • DIY NANO IO Shield V1. O გაფართოების დაფა Arduino– სთვის
  • DS1307 დაფუძნებული RTC IIC / I2C რეალურ დროში საათის მოდული და DS18b20
  • SIM800L ოთხბაზიანი GSM / GPRS
  • LM2596 მინი DC-DC კონვერტორი რეგულირებადი Step Down კვების ბლოკის მოდული
  • თერმისტორი NTC MF52AT ტემპერატურა

უპირველეს ყოვლისა, ბევრი კითხვა და ძიება.

სანამ საბოლოოდ ვიყენებ Geekcreit® Nano– ს, ვამოწმებ ყველა ნაწილს Arduino Uno– ით.

ნაბიჯი 1: მიიღეთ SIM800l სამუშაოდ

მიიღეთ SIM800l სამუშაოდ
მიიღეთ SIM800l სამუშაოდ

ერთი მთავარი წერტილი არის სიმძლავრე Sim800L– ისთვის.

მე ვიყენებ LM2596 მინი DC-DC კონვერტორს, მორგებული 3.7 ვოლტზე და ცალკე კვების ბლოკზე.

AT+ ბრძანებებთან კავშირის შესამოწმებლად ეს მხარე ძალიან გამოსაყენებელია:

სწრაფი დაწყება SIM800 (SIM800L) არდუინოსთან ერთად

პინ კოდის გამორთვით gsm მოდემის გამოყენებით ბრძანებებში მივიღე სიმ პინის კოდი.

შემდეგი განსახილველი რომელი ბიბლიოთეკა. ინტერნეტი გთავაზობთ განსხვავებულ გადაწყვეტას.

ჩემი გამოსავალი არის ბიბლიოთეკა Mattias Aabmets– დან: AspenSIM800

მისი გამოცდა: Send_SMS.ino ვიყენებდი მე როგორც ძირითად პროგრამას და სათითაოდ ვაკავშირებ ყველა დანარჩენ ნაწილს ერთმანეთთან.

Tx pin და Rx pin არის კოდი:

არდუინოს RX_PIN 10. უნდა იყოს დაკავშირებული SIM800 მოდულის TX პინთან. Arduino– ს TX_PIN 11. უნდა იყოს დაკავშირებული SIM800 მოდულის RX პინთან

ყოველთვის კარგი იდეაა ბიბლიოთეკაში წაიკითხოთ *.ccp და *.h ფაილები.

ისინი შეიცავს ბევრ საინტერესო მინიშნებას და ცოდნას.

ნაბიჯი 2: მიიღეთ RTC DS1307 DS18B20 სენსორით სამუშაოდ

მიიღეთ RTC DS1307 DS18B20 სენსორით სამუშაოდ
მიიღეთ RTC DS1307 DS18B20 სენსორით სამუშაოდ

მე გამოვიყენე ეს გვერდი: simtronyx - ბლოგი DS1307 და DS18B20.

საათს აქვს I2C ავტობუსის კავშირი და ეს არის Arduino Uno– სთვის: A4 (SDA) - A5 (SCL)

DS18B20 I დაუკავშირდა D3- ს.

წავიკითხე, რომ SMS– ში თქვენ არ შეგიძლიათ Floats only String– ის გაგზავნა, ამიტომ მომიწია floats– ის თარგმნა სტრიქონზე.

ამ კოდის ამონაწერით ვიპოვე:

n

MyString1 = სიმებიანი (currentTemp, 2); // გადაიყვანე float სიმებიანი

MyString1 = (MyString1 + "C - RoomTemperatur:)");

// სტრიქონის char- ზე გადაყვანა იწყება აქ

// სიგრძე (ნულოვანი ტერმინატორის ერთი დამატებითი სიმბოლოთი)

int str_len1 = MyString1.length () + 1; // სიმბოლოების მასივის მომზადება (ბუფერი)

char char_array1 [str_len1]; // დააკოპირეთ

MyString1.toCharArray (char_array1, str_len1); // კონვერტაციის სიმებიანი დამთავრდება მისი

სიმართლე გითხრათ, არ ვიცი როგორ მუშაობს, მაგრამ მუშაობს.

ნაბიჯი 3: გაუშვით თერმისტორი NTC MF52AT

მიიღეთ თერმისტორი NTC MF52AT სამუშაოდ
მიიღეთ თერმისტორი NTC MF52AT სამუშაოდ

მე ვმუშაობდი თერმისტორთან, ასე რომ ეს იყო მარტივი ნაწილი.

მაგრამ აქ ასევე შეგიძლიათ იპოვოთ განსხვავებული გამოსავალი.

საბოლოო კოდში შეგიძლიათ ნახოთ ჩემი.

თქვენ ასევე შეგიძლიათ იპოვოთ თარგმანი Floats to String.

თერმოსტორზე რამდენიმე მავთული და 10 k ohm რეზისტორი შედგით.

ნაბიჯი 4: დაიწყეთ მუშაობა ყველა ერთად

ასე რომ, მე დავწერე პროგრამის ყველა ნაწილი ერთად.

ახლა მომიწია გაერკვია, თუ როგორ უნდა გაეგზავნა ერთი SMS ყოველდღე, ამავე დროს.

მე წავიკითხე განსხვავებული იდეების შესახებ, ზოგი TimerAlarm და სხვა მიდგომით.

მაგრამ მე აღმოვაჩინე მარტივი გამოსავალი არდუინოს ფორუმზე:

if (now.hour () == 8 && now.minute () == 00 && now.second () == 59)

{

SIM.smsSend (addr, char_array); // თერმისტორი

დაგვიანება (500); SIM.smsSend (addr, char_array1); // DS18B20}

მაგრამ რატომ ახლა. მეორე = 59 რადგან ის აგზავნის მთელ წუთს SMS- ს. ეს ჩემთვის ხდება, მაგრამ თავად გამოსცადე.

გარკვეული გამოცდის შემდეგ, პროგრამა ავტვირთე Geekcreit® Nano– ში.

ეს შეიძლება არ იყოს პროგრამის საუკეთესო წერა:) მაგრამ ის სასურველს აკეთებს.

იმის გამო, რომ Geekcreit® ATmega328P Nano– ს აქვს Arduino IDE– ს პრობლემები, მე ავტვირთავ ტერმინალით (Linux Mint) ვუშვებ USB– ს ამით: avrdude –c usbtiny –p atmega328p –U flash: w: SomeHexFile.hex

ნაბიჯი 5: ის მუშაობდა

დიახ, ეს გამოვიდა და ის მოთავსებულია სახლში.

ყოველდღე დილის 6:00 საათზე ვიღებ SMS ტემპერატურას.

გირჩევთ: