Isi kandungan:
- Langkah 1: Memprogram ATTINY 85
- Langkah 2: Memuat naik Program ke ATTINY85
- Langkah 3: Menjalankan Program Anda
- Langkah 4: Kesimpulannya
Video: Makluman Temp Teks SMS Dari ATTINY85 dan A1 GSM: 5 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:10
Instruksional ini menunjukkan kepada anda cara menangkap suhu dari sensor suhu sederhana dan mengirimkannya melalui teks sms ke telefon bimbit anda. Untuk memudahkan perkara, saya menghantar suhu pada selang waktu yang ditetapkan tetapi saya juga menunjukkan bagaimana ini dapat dilakukan hanya dengan pengecualian / amaran. Perkakasan adalah kos yang sangat rendah, kurang dari 10 dolar, walaupun ada kos sms berulang yang perlu dipertimbangkan.
Pengangkatan berat dilakukan oleh ATTINY 85 yang ringkas tetapi kuat yang menangkap data suhu dan kemudian mencetuskan SMS untuk dihantar melalui modul GSM AI-Thinker A6.
Ringkasnya, anda menulis kod ATTINY85 di persekitaran Arduino IDE dan membakarnya di ATTINY85 menggunakan penukar siri / USBASP. Saya telah membahas penyediaan modul AI-Thinker A6 GSM dan Arduino IDE dalam dua tutorial sebelumnya. Apa yang berbeza di sini ialah menghubungkan modul ATTINY dan A6 GSM menggunakan komunikasi bersiri.
www.instructables.com/id/How-to-Send-an-SM…https://www.instructables.com/id/15-Dollar-Attiny8…
Selepas pengaturcaraan, ATTINY membaca data suhu dari sensor termometer - Dallas 18B20- dan kemudian mengirimkan data dan perintah melalui sambungan bersiri ke modul GSM A6 yang kemudian mengirimkannya sebagai teks SMS ke telefon bimbit / telefon pintar anda.
Inilah yang anda perlukan:
1. Penukar siri USBASP / USB.
2. PERHATIAN 85.
3. AI-Thinker A6 GSM modul versi 6 (dengan sim yang mempunyai kredit SMS).
4. Bekalan kuasa papan roti 3.3v untuk ATTINY85.
5. 3.3.v Bekalan kuasa USB untuk modul GSM AI-Thinker A6.
6. Sensor suhu Dallas 18B20..
7. Perintang 4.7k untuk sensor 18B20.
8. Papan roti dan kabel.
9. Arduino IDE (saya menggunakan versi 1.8.5. Untuk ini).
10. Komputer riba Windows X (saya menggunakan versi 10) dengan port usb percuma.
Langkah 1: Memprogram ATTINY 85
Berikut adalah kod Arduino IDE (Anda perlu menukar nombor telefon yang ingin anda hantar SMS.)
#sertakan #sertakan #sertakan
// *** // *** Tentukan pin RX dan TX. Pilih mana-mana dua pin // *** yang tidak digunakan. Cuba elakkan D0 (pin 5) // *** dan D2 (pin 7) jika anda merancang untuk menggunakan I2C. // *** #define RX 3 // *** D3, Pin 2 #define TX 4 // *** D4, Pin 3
// *** // *** Tentukan port bersiri berasaskan perisian. Menggunakan nama // *** Serial supaya kod dapat digunakan pada platform // *** lain yang menyokong siri berasaskan perkakasan. Pada cip // *** yang menyokong siri perkakasan, hanya // *** komen di baris ini. // ***
SoftwareSerial mySerial = SoftwareSerial (RX, TX);
// *** // *** Pinout ATtiny25 / 45/85: // *** 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 frekuensi ditetapkan pada 8 MHz dalaman
// *** // *** Pin di mana wayar data OneWire // *** disambungkan. // *** #tentukan ONE_WIRE_BUS 1
// *** // *** Siapkan instance oneWire untuk berkomunikasi dengan mana-mana peranti OneWire // *** (bukan hanya IC suhu Maxim / Dallas). // *** OneWire _oneWire = OneWire (ONE_WIRE_BUS);
// *** // *** Lulus rujukan oneWire kami ke Dallas Temperature. // *** DallasTemperature _sensors = DallasTemperature (& _ oneWire);
batal persediaan () {// *** // *** Memulakan port Serial // *** mySerial.begin (115200); kelewatan (60000);
// *** Memulakan perpustakaan. _sensors.begin (); }
gelung kosong () {
// *** // *** Dapatkan suhu semasa dan paparkan. // *** _sensors.requestTemperatures (); kelewatan (2000); double tempC = _sensors.getTempCByIndex (0); double tempF = _sensors.getTempFByIndex (0); // periksa kesilapan - kadang-kadang pada permulaan, suhu ditunjukkan sebagai 85C
jika (tempC 14 && tempC 18 && tempC = 23 && error_temperature) {SMS_temp (tempC, "Terlalu hangat");}}
batal SMS_temp (double mytemp, String myalert) {mySerial.println ("AT + CMGF = 1"); // tetapkan ke kelewatan mod SMS (1000); mySerial.println ("AT + CMGF = 1"); // tetapkan ke kelewatan mod SMS (1000); //mySerial.println("AT+CMGS=\"+ NOMBOR ANDA / ""); // tetapkan nombor telefon (dibungkus dengan petikan ganda) kelewatan (1000); mySerial.print (mytemp, 1); mySerial.print (myalert); kelewatan (1000); mySerial.write (0x1A); // menghantar ctrl + z penundaan akhir pesanan (1000); mySerial.write (0x0D); // Carriage Return in Hex delay (1000); mySerial.write (0x0A); kelewatan (1000000); // 17 minit - sesuaikan agar sesuai dengan aplikasi anda sendiri}
Buka persekitaran Arduino IDE - Saya telah menerangkan cara mencari anda secara terperinci dalam arahan saya sebelumnya yang saya nyatakan sebelumnya.
Anda memerlukan perpustakaan berikut
PerisianSerial.h
OneWire.h
DallasTemperature.h
Seterusnya, konfigurasikan pin RX dan TX pada ATTINY85 yang anda perlukan untuk berhubung dengan Pemikir A1. ATTINY 85 mempunyai 8 pin, empat di setiap sisi dan diselaraskan menggunakan titik di permukaan sebagai rujukan. Pin 1 atau pin RESET berada di sebelah titik.
(dalam kes ini saya memilih Pin2 dan 3 - Ini berada di sisi yang sama dengan pin RESET yang berada di sebelah titik di permukaan ATTINY 85. Pin 2 adalah pin seterusnya sepanjang pin RESET sementara Pin 3 berada di antara Pin 2 dan GROUND)
Seterusnya, anda perlu mengkonfigurasi sensor suhu -
#tentukan ONE_WIRE_BUS 1
OneWire _oneWire = OneWire (ONE_WIRE_BUS);
DallasTemperature _sensors = DallasTemperature (& _ oneWire);
Seterusnya sediakan port siri perisian
mySerial.begin (115200);
kelewatan (60000);
dan kemudian panggil sensor dengan _sensors.begin ();
Seterusnya, ada gelung, yang melakukan tinjauan pada waktu yang telah ditentukan, mencatat suhu dan mengirim mesej / amaran bergantung pada nilainya. Ia menggunakan fungsi SMS_temp yang juga merupakan tempat anda mengatur masa gelung
gelung kosong () {sensors.requestTemperatures (); kelewatan (2000);
double tempC = _sensors.getTempCByIndex (0);
double tempF = _sensors.getTempFByIndex (0);
jika (tempC <= 14) {SMS_temp (tempC, "DANGEROUSLY Cold");}
jika (tempC> 14 && tempC <= 18) {SMS_temp (tempC, "Cukup Dingin");}
jika (tempC> 18 && tempC <23) {SMS_temp (tempC, "Temp Right right");}
if (tempC> = 23 && error_temperature) {SMS_temp (tempC, "Terlalu hangat");}
}
==============
Seterusnya, sediakan Arduino IDE untuk bersiap sedia untuk memuat naik ke ATTINY85.
Beberapa perkara yang perlu diberi perhatian
1- Sekiranya anda tidak mempunyai keluarga papan PERHATIAN, tambahkan url berikut https://raw.githubusercontent.com/damellis/attiny/… dalam URL Fail / Keutamaan / Pengurus Papan Tambahan, Seterusnya, dalam Arduio IDE klik pada Tools / Board / Board Manager dan cari ATTINY dan pasang papan baru. Tukar pemproses ke Attiny85.
Langkah 2: Memuat naik Program ke ATTINY85
Juga, rujuk arahan saya sebelumnya mengenai perkara ini -
ATTINY85 masing-masing mempunyai dua mod, pengaturcaraan dan mod operasi.1. MOD PEMPROGRAMAN Pertama, kenal pasti pin pada ATTINY85. Untuk melakukan ini, cari takik kecil di permukaan cip yang berada di sebelah pin RST / RESET. Dengan menggunakan ini sebagai titik rujukan, anda boleh mengenal pasti pin yang selebihnya. Semua maklumat ini terdapat dalam lembaran data A85 -https://ww1.microchip.com/downloads/en/DeviceDoc/At…
USBasp dan ATTINY85 harus disambungkan seperti yang ditunjukkan dalam gambar di atas.
Seterusnya, pada Arduino IDE, tetapkan programmer ke USBasp dan frekuensi ke 8Mhz dalaman.
Sambungkan USBasp ke port USB pada komputer riba anda (Pada Windows 10, jika anda tidak mempunyai pemacu USBasp gunakan Zadig seperti di laman web
Seterusnya, dengan USBasp yang tersambung, pilih dari Arduino IDE Sketch / upload dan semoga anda dapat melihat kemajuan muat naik yang ditunjukkan dengan huruf merah dari Arduino IDE dan diakhiri dengan avrdude selesai. Terima kasih.
Kesalahan pada peringkat ini biasanya berkaitan dengan kabel longgar atau pemacu yang salah.
Langkah 3: Menjalankan Program Anda
Pertama, sesuatu mengenai sensor termometer Dallas 18b20. Ia memiliki 3 pin, Ground (G), data (D) dan VCC seperti yang ditunjukkan pada gambar di atas. Untuk operasi, ia memerlukan merapatkan D dan VCC dengan perintang 4.7k. G dan VCC disambungkan ke kutub masing-masing sementara D dihubungkan ke ATTINY 85, pin - [6] PB1, seperti yang dikonfigurasi dalam kod.
Seterusnya, sambungkan ATTINY ke A6 GSM seperti berikut (dan ditunjukkan di atas)
ATTINY TX A6 UART_RXdATTINY RX A6 UART_TXd
ATTINY GND A6 GND
dan pada A6 itu sendiri, A6 PWR A6 VCC 5.0A6 RST A6 GND (Jangan sambungkan ke tanah !!!!!)
Sekarang aktifkan kedua-dua peranti, dan setelah beberapa saat, sentuh sementara pin ground A6 dengan kabel yang disambungkan ke pin A6 RST. A6 akan dimatikan dan dihidupkan dan diharapkan, anda akan segera menerima data suhu di telefon anda.
Langkah 4: Kesimpulannya
Pengajaran ini mungkin kelihatan agak sederhana tetapi idenya adalah untuk menggambarkan apa yang dapat dicapai dengan komponen kos rendah. Jelas sekali, jika anda mempunyai akses ke wi-fi atau hub BLE maka ada penyelesaian yang lebih sesuai.
Saya tidak merangkumi fungsi lain seperti menghantar SMS KE telefon untuk memulakan rakaman / penghantaran suhu dll.
Disyorkan:
Sistem Makluman Kemalangan Menggunakan GSM, GPS dan Accelerometer: 5 Langkah (dengan Gambar)
Sistem Makluman Kemalangan Menggunakan GSM, GPS dan Accelerometer: Tolong Pilih Saya untuk PeraduanSilakan memilih saya untuk bertandingSekarang ini, banyak orang mati di jalan raya kerana kemalangan, penyebab utamanya ialah " kelewatan menyelamatkan ". Masalah ini sangat besar di negara-negara yang merosot, jadi saya merancang projek ini untuk menyelamatkan
Membuat-Makluman-Menggunakan-Ubidots-ESP32 + Temp dan Kelembapan Sensor: 9 Langkah
Membuat-Makluman-Menggunakan-Ubidots-ESP32 + Sensor Temp dan Kelembapan: Dalam tutorial ini, kita akan mengukur data suhu dan kelembapan yang berbeza menggunakan sensor Temp dan kelembapan. Anda juga akan belajar bagaimana menghantar data ini ke Ubidots. Supaya anda dapat menganalisisnya dari mana sahaja untuk aplikasi yang berbeza. Juga dengan membuat emai
Pantau Galon Tangki Minyak Pemanasan Dengan Makluman E-mel, SMS, dan Pushbullet: 9 Langkah (dengan Gambar)
Pantau Galon Tangki Minyak Pemanas Dengan E-mel, SMS, dan Makluman Pushbullet: MAKLUMAT KESELAMATAN: Sekiranya ada yang ingin mengetahui sama ada " ini selamat dibina / dipasang " - Saya telah membawanya ke 2 syarikat Minyak yang berbeza untuk maklum balas / keselamatan, dan saya telah menjalankannya oleh Wakil Pencegahan Kebakaran jabatan pemadam kebakaran
Penggera Pintu DIY Dengan Makluman Teks: 5 Langkah
Penggera Pintu DIY Dengan Makluman Teks: Buat penggera pintu / tingkap anda sendiri dengan beberapa elektronik, magnet dan Raspberry Pi sederhana. Raspberry Pi digunakan untuk menghantar teks atau menghantar e-mel kepada anda semasa pintu dibuka! Bahan yang Diperlukan (termasuk pautan): Raspberry Pi (inilah kit yang kami gunakan) Reed SwitchNeodymiu
Penggera Pintu Arduino Dengan Makluman Teks: 14 Langkah (dengan Gambar)
Penggera Pintu Arduino Dengan Makluman Teks: Ini adalah penggera pintu berasaskan Arduino yang menggunakan suis reed magnetik untuk menentukan keadaan pintu dan mempunyai penggera yang didengar dan penggera berdasarkan pesanan teks