Mündəricat:
- Addım 1: SIM800l -i işə salın
- Addım 2: İşləmək üçün DS18B20 Sensorlu RTC DS1307 alın
- Addım 3: Thermistor NTC MF52AT -ı işə salın
- Addım 4: Hamısını Birlikdə Çalışdırın
- Addım 5: İşlədi
Video: Vaxtında Temperaturlu bir SMS göndərir: 5 addım (şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
Fikir atalar evindən bir temperatur sms almaqdır.
Parçaları bir araya gətirməklə heç bir şey maraqlı deyil.
Parçalar bunlardır:
- Geekcreit® ATmega328P Nano V3 İdarəetmə Paneli Uyğun Arduino
- DIY NANO IO Shield V1. O Arduino üçün genişləndirmə lövhəsi
- DS1307 Əsaslı RTC IIC / I2C Real Time Clock Module və DS18b20
- SIM800L Dörd bantlı GSM / GPRS
- LM2596 Mini DC-DC Dönüştürücü Ayarlanabilir Aşağı Güc Təchizatı Modulu
- Termistor NTC MF52AT temperaturu
Hər şeydən əvvəl oxumaq və axtarmaq çox şeydir.
Nəhayət Geekcreit® Nano'dan istifadə edirəm, bütün hissələri Arduino Uno ilə sınaqdan keçirirəm.
Addım 1: SIM800l -i işə salın
Bir əsas məqam Sim800L üçün gücdür.
LM2596 Mini DC-DC çeviricisi, 3,7 volta uyğunlaşdırılmış və ayrı bir enerji təchizatı istifadə edirəm.
AT+ əmrləri ilə əlaqəni yoxlamaq üçün bu tərəf çox istifadə edilə bilər:
Arduino ilə Quick Start SIM800 (SIM800L)
Komutlarda gsm modemdən istifadə edərək pin kodunu deaktiv etməklə sim pin kodundan istifadə etdim.
Növbəti fikir hansı kitabxanadır. İnternet fərqli bir həll təklif edir.
Mənim həllim Mattias Aabmets kitabxanasıdır: AspenSIM800
Onun nümunəsi: Send_SMS.ino I -ni əsas proqram olaraq istifadə etdi və bütün digər hissələri bir -bir birləşdirdi.
Tx pin və Rx pin kodu:
Arduino üçün RX_PIN 10. SIM800 modulunun TX pininə qoşulmalıdır. Arduinonun TX_PIN 11. SIM800 modulunun RX pininə qoşulmalıdır
Kitabxanalarda *.ccp və *.h fayllarını oxumaq həmişə yaxşı fikirdir.
Onlar bir çox maraqlı göstərişlər və biliklərə malikdir.
Addım 2: İşləmək üçün DS18B20 Sensorlu RTC DS1307 alın
Bu tərəfi istifadə etdim: simtronyx - DS1307 və DS18B20 üçün blog.
Saatin I2C avtobus bağlantısı var və bu Arduino Uno üçündür: A4 (SDA) - A5 (SCL)
DS18B20 I D3 -ə qoşuldu.
Oxudum ki, SMS -də Floats -a yalnız String göndərə bilməzsiniz, buna görə də üzən sətirləri simə çevirmək məcburiyyətində qaldım.
Tapdığım bu kod parçası ilə etdiyim işlər:
n
MyString1 = String (currentTemp, 2); // floatı Stringə çevirin
MyString1 = (MyString1 + "C - RoomTemperatur:)");
// simli char -ə çevirmək burada başlayır
// Uzunluq (sıfır terminatoru üçün bir əlavə simvolla)
int str_len1 = MyString1.length () + 1; // Xarakter silsiləsini hazırlayın (tampon)
char char_array1 [str_len1]; // Yenidən kopyalayın
MyString1.toCharArray (char_array1, str_len1); // simli char -ə çevirmək onu bitirir
Düzünü desəm, necə işlədiyini bilmirəm, amma işləyir.
Addım 3: Thermistor NTC MF52AT -ı işə salın
Bir termistorla işləmişəm, buna görə də asan hissə idi.
Ancaq burada fərqli bir həll tapa bilərsiniz.
Son kodda mənimki tapa bilərsiniz.
Floats to String tərcüməsini də tapa bilərsiniz.
Termistora bir az tel və 10 k ohm müqavimət lehimlədi.
Addım 4: Hamısını Birlikdə Çalışdırın
Beləliklə, proqramın bütün hissələrini birlikdə yazdım.
İndi hər gün eyni anda necə bir SMS göndərəcəyimi anlamalı idim.
Fərqli fikirlər haqqında oxudum, bəziləri TimerAlarm və digər yanaşma ilə.
Ancaq arduino forumunda bir yerdə sadə bir həll tapdım:
if (now.hour () == 8 && now.minute () == 00 && now.second () == 59)
{
SIM.smsSend (addr, char_array); // termistor
gecikmə (500); SIM.smsSend (addr, char_array1); // DS18B20}
Amma niyə indi.second = 59, çünki bütün dəqiqə SMS göndərir. Bu mənim üçün faydalıdır, amma özünüzü sınayın.
Bir az sınaqdan sonra proqramı Geekcreit® Nano'ya yüklədim.
Bu bəlkə də ən yaxşı proqram yazısı deyil:) amma istədiyini edir.
Geekcreit® ATmega328P Nano'da bəzi Arduino IDE problemləri olduğu üçün terminalla yükləyirəm (Linux Mint) USB tinyispini bununla atıram: avrdude -c usbtiny -p atmega328p -U flash: w: SomeHexFile.hex
Addım 5: İşlədi
Bəli, işləndi və evə yerləşdirildi.
Hər gün səhər saat 6: 00 -da temperaturu ilə bağlı bir SMS alıram.
Tövsiyə:
IR TV Uzaqdan İdarə Edilən İki Siqnallı və Temperaturlu Böyük Arduino LCD Saat: 5 addım
IR TV Uzaqdan İdarə Edilən İki Siqnallı və Temperaturlu Böyük Arduino LCD Saat: IR TV pultu tərəfindən idarə olunan iki həyəcan və temperatur monitoru olan Arduino əsaslı LCD Saat necə qurulacaq
WiFi ilə DIY Özünü sulayan bir qazan qurun - Avtomatik olaraq bitkiləri sulayır və Su az olduqda xəbərdarlıq göndərir: 19 addım
WiFi ilə DIY Özünü Suvarma Tenceresi qurun - Avtomatik olaraq bitkiləri suya çəkir və Su az olduqda xəbərdarlıq göndərir: Bu təlimat köhnə bir bağ əkinçisindən, zibil qutusundan, bir az yapışqan və özünü istifadə edərək, WiFi ilə əlaqəli öz -özünə suvarma qurğusunun necə qurulacağını göstərir. Adosia -dan Sulama qabı alt montaj dəsti
Zamanlı Sabit Temperaturlu Nahar Qutusu hazırlayın: 16 addım
Zamanlı Sabit Temperaturlu Nahar Qutusu hazırlayın: Adi yemək yemək qutusunun istifadəsi və işləməsi sadə olsa da, tək bir funksiyası olsa da, vaxtı təyin etmək və ya istiliyi istiləşdirmək mümkün deyil. Bu çatışmazlığı yaxşılaşdırmaq üçün bu dəfə DIY aşpaz əsasında hazırlanır
ESP8266 Temperaturlu Röle: 9 Addım (Şəkillərlə birlikdə)
ESP8266 Temperaturlu Röle: Bir dostum hava istiliyinə və rütubətə çox həssas olan təcrübələr aparan bir elm adamıdır. İnkubator otağında kiçik bir keramika qızdırıcısı var, ancaq qızdırıcının termostatı kifayət qədər dəqiq deyildi, yalnız temperaturu saxlaya bilirdi
Rəqəmsal Saat və Temperaturlu Musiqi Spektri: 9 Addım (Şəkillərlə)
Rəqəmsal Saat və Temperaturlu Musiqi Spektri: Bəyənəcəyiniz bir layihə ilə yenidən buradayıq. Musiqi dinləməyi və vizuallıqdan zövq alırsınızsa, bu layihə sizin üçündür. DİJİTAL SAATLI MUSİQİ SPEKTRUM ELEKTRONİK İSTİFATİ EKRANLI KİT. Bu elektron dəstdir. Proqramı tamamladığınız zaman