Mundarija:
- 1 -qadam: ATTINY 85 dasturlash
- 2 -qadam: Dasturni ATTINY85 -ga yuklash
- 3 -qadam: Dasturingizni ishga tushiring
- 4 -qadam: Xulosa
Video: ATTINY85 va A1 GSM -dan SMS matnli templi ogohlantirishlar: 5 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Bu ko'rsatma sizga oddiy harorat sensori yordamida haroratni qanday tutish va uni mobil telefoningizga sms orqali yuborish yo'llarini ko'rsatadi. Ishlarni soddalashtirish uchun men haroratni belgilangan vaqt oralig'ida jo'nataman, lekin men buni faqat istisno / ogohlantirish orqali qanday qilish mumkinligini ko'rsataman. Uskunaning narxi juda past, 10 dollardan kam, garchi smsning takroriy xarajatlari hisobga olinsa.
Og'ir yuk ko'tarish oddiy, ammo kuchli ATTINY 85 tomonidan amalga oshiriladi, u harorat ma'lumotlarini yozib oladi, so'ngra AI-Thinker A6 GSM moduli orqali SMS yuboriladi.
Qisqasi, siz ATTINY85 kodini Arduino IDE muhitida yozasiz va USBASP ketma -ket/USB konvertori yordamida ATTINY85 da yoqasiz. Men avvalgi ikkita darslikda AI-Thinker A6 GSM moduli va Arduino IDE-ni sozlashni ko'rib chiqdim. Bu erda ATTINY va A6 GSM modullarini ketma -ket aloqa yordamida bog'lash farq qiladi.
www.instructables.com/id/How-to-Send-an-SM…https://www.instructables.com/id/15-Dollar-Attiny8…
Dasturlashdan so'ng, ATTINY termometr sensori - Dallas 18B20- dan harorat ma'lumotlarini o'qiydi va keyin ma'lumotlarni va buyruqlarni A6 GSM moduliga ketma -ket ulanish orqali yuboradi, so'ngra uni mobil telefoningizga / matnli telefoningizga SMS sifatida yuboradi.
Mana sizga nima kerak:
1. USBASP ketma -ket/USB konvertori.
2. ATTINY 85.
3. AI-Thinker A6 GSM modulining 6-versiyasi (SMS-kreditlari bo'lgan sim bilan).
4. ATTINY85 uchun 3.3v non paneli quvvat manbai.
5. AI-Thinker A6 GSM moduli uchun 3.3.v USB quvvat manbai.
6. Dallas 18B20 harorat sensori.
7. 18B20 sensori uchun 4,7k qarshilik.
8. Non paneli va kabellar.
9. Arduino IDE (men buning uchun 1.8.5 versiyasini ishlatardim).
10. Bepul usb portli Windows X noutbuk (men 10 -versiyadan foydalanardim).
1 -qadam: ATTINY 85 dasturlash
Bu erda Arduino IDE kodi (SMS yubormoqchi bo'lgan telefon raqamini o'zgartirish kerak bo'ladi.)
#qo'shish #qo'shish #qo'shish
// *** // *** RX va TX pinlarini aniqlang. Foydalanilmaydigan har qanday ikkita // *** pinni tanlang. Agar I2C dan foydalanmoqchi bo'lsangiz, D0 (pin 5) // *** va D2 (pin 7) dan qochishga harakat qiling. // *** #dex RX 3 // *** D3, 2 -pin #dexine TX 4 // *** D4, 3 -pin
// *** // *** Dasturiy ta'minotga asoslangan ketma -ket portni aniqlang. // *** Serial nomini ishlatib, kodni apparatga asoslangan ketma -ketlikni qo'llab -quvvatlaydigan boshqa // *** platformalarida ishlatish mumkin. Uskuna ketma -ketligini qo'llab -quvvatlaydigan // *** chiplarida, faqat bu satrga *** *** izoh bering. // ***
SoftwareSerial mySerial = SoftwareSerial (RX, TX);
// *** // *** ATtiny25/45/85 ni belgilash: // *** PDIP/SOIC/TSSOP // *** ================= ================================================= ========================== // *** // *** (PCINT5/RESET/ADC0/dW) PB5 [1]*[8] VCC // *** (PCINT3/XTAL1/CLKI/OC1B/ADC3) PB3 [2] [7] PB2 (SCK/USCK/SCL/ADC1/T0/INT0/PCINT2) // *** (PCINT4/ XTAL2/CLKO/OC1B/ADC2) PB4 [3] [6] PB1 (MISO/DO/AIN1/OC0B/OC1A/PCINT1) // *** GND [4] [5] PB0 (MOSI/DI/SDA/AIN0) /OC0A/OC1A/AREF/PCINT0) // *** // ATTINY 85 chastotasi ichki 8 MGts da o'rnatilgan
// *** // *** OneWire ma'lumotlari // *** simlari ulangan pin. // *** #ONE_WIRE_BUSni aniqlang 1
// *** // *** OneWire // *** har qanday qurilmalari bilan muloqot qilish uchun oneWire misolini o'rnating (faqat Maksim/Dallas haroratli IC) emas. // *** OneWire _oneWire = OneWire (ONE_WIRE_BUS);
// *** // *** Dallasdagi harorat haqida OneWire ma'lumotnomamizdan o'ting. // *** Dallas harorati _sensorlari = Dallas harorati (& _ oneWire);
void setup () {// *** // *** Serial portini ishga tushirish // *** mySerial.begin (115200); kechikish (60000);
// *** Kutubxonani ishga tushiring. _sensors.begin (); }
void loop () {
// *** // *** Hozirgi haroratni oling va uni ko'rsating. // *** _sensors.requestTemperatures (); kechikish (2000); er -xotin tempC = _sensors.getTempCByIndex (0); er -xotin tempF = _sensors.getTempFByIndex (0); // xatolarni tekshiring - ba'zida boshida harorat 85C sifatida ko'rsatiladi
if (tempC 14 && tempC 18 && tempC = 23 && error_temperature) {SMS_temp (tempC, "Juda issiq");}}
bekor SMS_temp (double mytemp, String myalert) {mySerial.println ("AT+CMGF = 1"); // SMS rejimining kechiktirilishi (1000) ga sozlangan; mySerial.println ("AT+CMGF = 1"); // SMS rejimining kechiktirilishi (1000) ga sozlangan; //mySerial.println("AT+CMGS=\"+SIZNING NUMBER / ""); // telefon raqamini o'rnating (ikki tirnoq bilan o'ralgan) kechiktirish (1000); mySerial.print (mytemp, 1); mySerial.print (myalert); kechikish (1000); mySerial.write (0x1A); // xabar kechikishining oxiriga ctrl+z yuboradi (1000); mySerial.write (0x0D); // Hex kechikishida aravaning qaytishi (1000); mySerial.write (0x0A); kechikish (1000000); // 17 daqiqa - o'z ilovangizga moslashtiring}
Arduino IDE muhitini oching - men buni qanday hal qilishni batafsil aytib berdim.
Sizga quyidagi kutubxonalar kerak bo'ladi
SoftwareSerial.h
OneWire.h
Dallas harorati.h
Keyin, A1 Thinker -ga ulanishingiz kerak bo'lgan ATTINY85 -dagi RX va TX pinlarini sozlang. ATTINY 85 -da 8 ta pin bor, ularning har birida to'rttasi va mos yozuvlar yuzasidagi nuqta yordamida tekislanadi. Pin 1 yoki RESET PIN -kodi nuqta yonida.
(bu holda men Pin2 va 3 ni tanladim - bu ATTINY 85 yuzasidagi nuqta yonidagi RESET pinining bir tomonida. 2 -pin - RESET pinidan keyingi pin, 3 -pin esa Pin o'rtasida. 2 va GROUND)
Keyin harorat sensori sozlanishi kerak.
#ONE_WIRE_BUSni aniqlang 1
OneWire _oneWire = OneWire (ONE_WIRE_BUS);
DallasTemperatur _sensors = DallasTemperaturasi (& _ oneWire);
Keyin dasturiy ta'minotning ketma -ket portini o'rnating
mySerial.begin (115200);
kechikish (60000);
va keyin sensorlarni _sensors.begin () bilan chaqiring;
Keyinchalik, oldindan belgilangan vaqtda so'rov o'tkazadigan, haroratni yozib oladigan va qiymatga qarab xabar / ogohlantirish yuboradigan pastadir mavjud. Bu SMS_temp funktsiyasidan foydalanadi, u erda siz ham tsiklning vaqtini belgilaysiz
void loop () {sensors.requestTemperatures (); kechikish (2000);
er -xotin tempC = _sensors.getTempCByIndex (0);
er -xotin tempF = _sensors.getTempFByIndex (0);
agar (tempC <= 14) {SMS_temp (tempC, "Xavfli sovuq");}
agar (tempC> 14 && tempC <= 18) {SMS_temp (tempC, "Juda sovuq");}
if (tempC> 18 && tempC <23) {SMS_temp (tempC, "Harorat to'g'ri");}
agar (tempC> = 23 && error_temperature) {SMS_temp (tempC, "Juda issiq");}
}
==============
Keyin ATTINY85 -ga yuklashga tayyorgarlik ko'rish uchun Arduino IDE -ni o'rnating.
E'tibor qilish kerak bo'lgan bir qator narsalar
1- Agar sizda ATTINY taxtalar oilasi bo'lmasa, Fayl/Tartiblar/Qo'shimcha taxtalar menejeri URL manziliga https://raw.githubusercontent.com/damellis/attiny/… manzilini kiriting, Keyin, Arduio IDE -da Tools/Board/Board Manager -ni bosing va ATTINY -ni qidiring va yangi taxtani o'rnating. Protsessorni Attiny85 ga o'zgartiring.
2 -qadam: Dasturni ATTINY85 -ga yuklash
Bundan tashqari, bu boradagi oldingi ko'rsatmalarni ko'rib chiqing-https://www.instructables.com/id/15-Dollar-Attiny8…
ATTINY85 mos ravishda dasturlash va operatsion rejimining ikkita rejimiga ega.1. Dasturlash tartibi Birinchidan, ATTINY85 pinlarini aniqlang. Buni amalga oshirish uchun chip yuzasida RST/RESET pinining yonidagi kichik chuqurchani toping. Buni mos yozuvlar nuqtasi sifatida ishlatib, qolgan pinlarni aniqlashingiz mumkin. Bu ma'lumotlarning barchasi A85 ma'lumot varaqasida keltirilgan -https://www.microchip.com/downloads/en/DeviceDoc/At…
USBasp va ATTINY85 yuqoridagi rasmda ko'rsatilgandek ulangan bo'lishi kerak.
Keyin, Arduino IDE -da, dasturchini USBasp -ga va chastotani ichki 8 MGts -ga o'rnating.
USBasp -ni noutbukning USB portiga ulang (Windows 10 -da, agar USBasp drayveri bo'lmasa, https://www.fischl.de/usbasp/ saytida Zadig -dan foydalaning)
Keyin USBasp ulangan bo'lsa, Arduino IDE Sketch/upload -dan tanlang va umid qilamanki, siz yuklash jarayonini Arduino IDE -ning qizil harflari bilan ko'rsatilgan va avrdude bilan tugaganini ko'rasiz. Rahmat.
Ushbu bosqichdagi har qanday xatolar odatda bo'sh kabellar yoki noto'g'ri haydovchi bilan bog'liq.
3 -qadam: Dasturingizni ishga tushiring
Birinchidan, Dallas 18b20 termometr sensori haqida. Yuqoridagi rasmda ko'rsatilgandek, 3 ta pin, Ground (G), ma'lumotlar (D) va VCC mavjud. Ishlash uchun u D va VCC ni 4,7k rezistor bilan ulashni talab qiladi. G va VCC tegishli qutblarga ulangan, D esa ATTINY 85, pin - [6] PB1 ga ulangan, kodda ko'rsatilgan.
Keyin ATTINY -ni A6 GSM -ga quyidagicha ulang (va yuqorida ko'rsatilgan)
ATTINY TX A6 UART_RXdATTINY RX A6 UART_TXd
ATTINY GND A6 GND
va A6 -ning o'zida, A6 PWR A6 VCC 5.0A6 RST A6 GND (Erga hali ulanmang !!!!!)
Endi ikkala qurilmani ham quvvatlantiring va bir necha soniyadan so'ng A6 RST piniga ulangan simi bilan vaqtincha A6 topraklama piniga teging. A6 o'chadi va yonadi va umid qilamanki, siz tez orada telefoningizga harorat haqidagi ma'lumotlarni olasiz.
4 -qadam: Xulosa
Bu ko'rsatma juda oddiy ko'rinishi mumkin, lekin g'oya arzon komponentlar yordamida nimaga erishish mumkinligini tasvirlashdan iborat. Shubhasiz, agar sizda Wi-Fi yoki BLE uyasiga kirish imkoni bo'lsa, unda yanada to'g'ri echimlar mavjud.
Men boshqa funktsiyalarni qamrab olmadim, masalan, telefonga SMS yuborish, haroratni yozish / uzatish.
Tavsiya:
Matnli xabarnoma bilan oqish detektori: 7 qadam
Matnli xabarlar bilan oqish detektori: Ushbu qo'llanmada matnli xabarlar haqida bildirishnoma yuboradigan oqish detektori qanday qurilishi ko'rsatilgan. Agar trubadan yoki zaxiralangan drenajdan suv sezilsa, u signal yuboradi. Qo'llanma Python 3, Raspberry Pi, Secure Shell bilan qiziquvchilar uchun mo'ljallangan
Ayollar uchun xavfsizlik qurilmasi, GPSni kuzatish va Arduino yordamida ogohlantirishlar: 6 qadam
Ayollar uchun xavfsizlik moslamasi Arduino yordamida GPS kuzatuvi va ogohlantirishlari bilan: So'nggi paytlarda bizda mavjud bo'lgan barcha texnologiyalar yordamida ayollar uchun xavfsizlik moslamasini yaratish qiyin emas, bu nafaqat favqulodda signalni, balki do'stlaringizga, oilangizga ham xabar yuboradi. yoki tegishli shaxs. Bu erda biz guruh tuzamiz
Arduino ESP loyihasidan SMS matnli xabarlarni qanday yuborish mumkin: 6 qadam
Arduino ESP loyihasidan SMS matnli xabarlarni qanday yuborish mumkin: Bu ko'rsatma sizning arduino loyihangizdan ESP8266 qurilmasi va Wi -Fi ulanishi yordamida SMS matnli xabarlarni qanday yuborish kerakligini ko'rsatadi. Nima uchun SMSdan foydalanish kerak? xabarlar. * SMS -xabarlar ham
Matnli ogohlantirishlar bilan DIY eshik signalizatsiyasi: 5 qadam
Matnli ogohlantirishlar bilan DIY eshik signalizatsiyasi: oddiy elektronika, magnitlar va Raspberry Pi yordamida eshik/deraza signalizatsiyasini yarating. Raspberry Pi eshik ochilganda sizga xat yozish yoki elektron pochta orqali yuborish uchun ishlatiladi! Kerakli materiallar (havolalar bilan birga): Raspberry Pi (mana biz ishlatgan to'plam) Reed SwitchNeodymiu
To'lqinli chiroq - ob -havo va ogohlantirishlar: 7 qadam (rasmlar bilan)
To'lqinli chiroq - ob -havo va ogohlantirishlar: Men har xil narsalarni ko'rib chiqayotganimda, bu ajoyib to'lqinli chiroqni ko'rdim va uni qurishim kerak edi. https://www.thingiverse.com/thing:774456 chiroq juda yaxshi ishlab chiqilgan va hech qanday tayanchsiz bosib chiqariladi (yon tomonda chop etish kerak) Shuningdek,