Pendahuluan
Perangkat ini dirancang untuk menentukan suhu di kejauhan. Karena saya tidak menemukan petunjuk siap pakai untuk merakit perangkat ini yang saya butuhkan, dan saya tidak benar-benar ingin membeli seharga 2+ ribu, diputuskan untuk melakukan semuanya dengan arduino (tidak mahal dan tidak terlalu sulit).
Instruksi perakitan
Untuk membangun proyek kita perlu:
- Sensor suhu DS18B20 1 meter. (Disegel)
- Layar 0,96 128x64 OLED
- Papan tempat memotong roti
- Ayah Ayah Ayah Set
- Mikrokontroler Arduino Uno
- Resistor
Untuk mengimplementasikan proyek, kita perlu menginstal arduino IDE dan beberapa perpustakaan sekaligus:
- Perpustakaan OneWire Arduino
- OLED I2C_OLED_I2C dengan dukungan untuk bahasa Rusia dan Ukraina.
- Suhu Dallas
Mari kita bicara sedikit tentang papan tempat memotong roti. Papan tempat memotong roti ini digunakan untuk perakitan cepat sirkuit tanpa menyolder dan elemen radio dan kabel untuk koneksi. Papan pengembangan tersedia dalam berbagai ukuran, tetapi dalam banyak kasus mereka terdiri dari blok-blok identik ini:

Diagram sambungan listrik dari soket ditunjukkan pada gambar kanan: lima lubang di setiap sisi, di setiap baris (dalam hal ini 30) dihubungkan secara elektrik satu sama lain. Di kiri dan di kanan ada dua saluran listrik: di sini semua lubang di kolom saling berhubungan. Slot di tengah dirancang untuk pemasangan dan ekstraksi nyaman sirkuit mikro dalam kasing. Untuk memasang sirkuit, komponen radio dan jumper dimasukkan ke dalam lubang.
Setelah kami menemukan papan tempat memotong roti, sekarang kita dapat beralih ke menghubungkan modul. Pertama, sambungkan tampilan sebagai berikut:


Dalam hal ini, kami menghubungkan 5V ke "+" di papan tempat memotong roti (kabel kuning), dan GND ke "-" (kabel putih), sehingga nanti semua daya pada modul harus terhubung ke "+" dan "-" di papan tempat memotong roti.
Selanjutnya, hubungkan sensor suhu DS18B20 menggunakan resistor seperti yang ditunjukkan pada foto di bawah ini:


Dalam kasus kami, untuk kenyamanan, kami menghubungkan semua kabel sensor ke papan tempat memotong roti dan menghubungkan kabel oranye "Dad to Dad" ke Pin 10.
Setengah dari pekerjaan selesai, tetap hanya untuk menghubungkan perangkat pensinyalan, yaitu: x2 LED (merah untuk suhu tinggi, biru untuk rendah) dan emitor piezo konvensional (pada umumnya orang "tweeter"). LED terhubung dengan sangat sederhana, "+" adalah batang panjang, dan minus adalah batang pendek. Kami memasukkannya ke papan, pastikan untuk menghubungkan resistor ke sana dan menggunakan kabel "Ayah-ayah" untuk menghubungkan batang pendek LED biru ke 5 pin, dan batang pendek LED merah ke 12 pin.
Squeaker hanya menghubungkan kabel hitam ke "-", kabel merah ke 13pin.
Beginilah cara kerjanya:

Yang paling penting (sketsa)
#include <Wire.h> #include <Wire.h> #include <OneWire.h> #include <DallasTemperature.h> // DS18B20 #define ONE_WIRE_BUS 10 // pin DS18B20 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); #include <OLED_I2C.h> OLED myOLED(8, 9, 8); // , 8 pin-SDA, 9pin-SCL extern uint8_t RusFont[]; // extern uint8_t BigNumbers[]; // extern uint8_t SmallFont[]; // void setup() { pinMode(13, OUTPUT); // pin 13 pinMode(12, OUTPUT);// pin 12 pinMode(5, OUTPUT); // pin 5 sensors.begin();// myOLED.begin();// myOLED.setFont(RusFont); } void loop() { if (sensors.getTempCByIndex(0)>70){ // ( >70 ) digitalWrite(5,255);// tone(13, 2500); // 2500 delay(400);// 0.4 digitalWrite(5,LOW);// } else{ digitalWrite(5,LOW); } if (sensors.getTempCByIndex(0)<25){ // ( <45 ) digitalWrite(12,255); // tone(13, 2500); // 2500 delay(400); // 0.4 digitalWrite(12,LOW); // } else{ digitalWrite(12,LOW); } if ((sensors.getTempCByIndex(0)<70) and (sensors.getTempCByIndex(0)>45)){ noTone(13); // } sensors.requestTemperatures(); myOLED.clrScr(); // myOLED.setFont(RusFont); myOLED.print("Ntvgthfnehf", CENTER, 0); // myOLED.setFont(SmallFont); myOLED.print("vk.com/tupo_izi123", CENTER, 55); // myOLED.setFont(BigNumbers); myOLED.print(String(sensors.getTempCByIndex(0) , 1), CENTER, 10); // , myOLED.update(); delay(100); }
Dalam sketsa ini, saya mengatur suhu di atas 70 dan di bawah 45 derajat, tetapi Anda dapat mengatur yang lain (dari -55 hingga +125 ° C).
Foto-foto produk akhir:
