1. Introdução
Este dispositivo foi projetado para determinar a temperatura à distância. Como não encontrei as instruções prontas para montar este dispositivo de que precisava e realmente não queria comprar por mais de dois mil, foi decidido fazer tudo no arduino (não é caro e não é muito difícil).
Instruções de montagem
Para construir o projeto, precisamos:
- Sensor de temperatura DS18B20 1 metro. (Selado)
- Tela 0,96 128x64 OLED
- Breadboard
- Daddy Daddy Wire Set
- Microcontrolador Arduino Uno
- Resistor
Para implementar o projeto, precisamos instalar o IDE do arduino e várias bibliotecas ao mesmo tempo:
- Biblioteca OneWire Arduino
- OLED I2C_OLED_I2C com suporte para idiomas russo e ucraniano.
- Temperatura de Dallas
Vamos falar um pouco sobre a tábua de pão. Esta tábua de pão é usada para montagem rápida de circuitos sem solda e radioelementos e um fio para conexão. As placas de desenvolvimento vêm em vários tamanhos, mas na maioria dos casos consistem nesses blocos idênticos:

O diagrama de conexão elétrica dos soquetes é mostrado na figura à direita: cinco orifícios de cada lado, em cada uma das linhas (neste caso, 30) são eletricamente conectados entre si. À esquerda e à direita, existem duas linhas de energia: aqui todos os orifícios da coluna estão interligados. O slot no meio foi projetado para instalação e extração conveniente de microcircuitos nos gabinetes. Para montar o circuito, componentes de rádio e jumpers são inseridos nos orifícios.
Depois de descobrirmos a tábua de pão, podemos agora conectar os módulos. Primeiro, conecte a tela da seguinte maneira:


Nesse caso, conectamos 5V a “+” na placa de ensaio (fio amarelo) e GND a “-” (fio branco), para que mais tarde toda a energia dos módulos seja conectada a “+” e “-” na placa de ensaio.
Em seguida, conecte o sensor de temperatura DS18B20 usando um resistor, como mostrado na foto abaixo:


No nosso caso, por conveniência, conectamos todos os fios do sensor à placa de ensaio e o cabo laranja "Dad to Dad" ao pino 10.
Metade do trabalho está concluído, resta apenas conectar os dispositivos de sinalização, a saber: x2 LED (vermelho para alta temperatura, azul para baixa) e um emissor piezo convencional (em pessoas comuns "tweeter"). O LED está conectado de maneira muito simples, “+” é uma haste longa e menos é uma haste curta. Nós o inserimos na placa, certifique-se de conectar um resistor a ele e use os fios "papai-papai" para conectar a haste curta do LED azul a 5 pinos e a haste curta do LED vermelho a 12 pinos.
O squeaker apenas conecta o fio preto a “-”, o fio vermelho a 13 pinos.
É assim que deve funcionar:

A coisa mais importante (esboço)
#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); }
Neste esboço, defino a temperatura acima de 70 e abaixo de 45 graus, mas você pode definir qualquer outra (de -55 a +125 ° C).
Fotos do produto final:
