# Projeto de cafeteira

**URL:** <https://forum.fazedores.com/t/projeto-de-cafeteira/6911>\
**Category:** Arduino\
**Created:** [Novembro 22, 2019, 1:04pm UTC](https://forum.fazedores.com/t/projeto-de-cafeteira/6911 "2019-11-22T13:04:29Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![leonhardttiago](https://avatars.discourse-cdn.com/v4/letter/l/8c91f0/32.png) [@leonhardttiago](https://forum.fazedores.com/u/leonhardttiago)\
**Post date:** [Novembro 22, 2019, 1:04pm UTC](https://forum.fazedores.com/t/projeto-de-cafeteira/6911/1 "2019-11-22T13:04:30Z")

</div>

Estou começando nessa parte de programação e tenho um projeto para ser feito já, é um projeto smples, apenas ligar uma cafeteira simples, através de programação de um arduino.  
A minha ideia é de ao clicar em um botão, bata um rele e o mesmo fique alterando conforme a temperatura (de 95 a 100 °), pois essa cafeteira joga a água conforme a mesma entra em ebulição. Quando o café estiver pronto, quero que, ao apertar outro botão, a parte de comando do primeiro botão desligue e vá para o segundo, que seria a cafeteira apenas manter uma temperatura (de 70 até 80°C mais ou menos) e ao clicar novamente no botão, desligue a cafeteira. Preciso que também seja mostrado a temperatura em um display e queria alguma mensagem a mais, tipo ao clicar no primeiro botão “Esquentando a água”, e ao apertar o outro botão “Café pronto, sirva-se”.  
O sensor de temperatura que estou usando é o DS18B20.  
O código abaixo é o que eu desenvolvi pesquisando algumas coisas e com outras que aprendi, mas o mesmo não está acionando quando eu aperto os botões, talvez seja algo simples, mas eu não estou conseguindo resolver. Se alguém conseguir me dar uma ajudinha, agradeço!

const int botao = 10;  
const int botao2 = 8;  
const int rele = 13;  
const int rele2 = 9;

int buttonstate = 1;

#include \<OneWire.h\>  
#include \<DallasTemperature.h\>  
#include \<LiquidCrystal.h\>

// Porta do pino de sinal do DS18B20  
#define ONE\_WIRE\_BUS 3

// Define uma instancia do oneWire para comunicacao com o sensor  
OneWire oneWire(ONE\_WIRE\_BUS);

// Armazena temperaturas minima e maxima  
float tempMin = 999;  
float tempMax = 0;

DallasTemperature sensors(&oneWire);  
DeviceAddress sensor1;

// Inicializa o LCD  
LiquidCrystal lcd(12, 11, 7, 6, 5, 4);

void setup()  
{  
pinMode(rele, OUTPUT);  
pinMode(botao, INPUT);  
pinMode(rele2, OUTPUT);  
pinMode(botao2, INPUT);

Serial.begin(9600);  
sensors.begin();  
// Localiza e mostra enderecos dos sensores  
Serial.println(“Localizando sensores DS18B20…”);  
Serial.print(“Foram encontrados “);  
Serial.print(sensors.getDeviceCount(), DEC);  
Serial.println(” sensores.”);  
if (!sensors.getAddress(sensor1, 0))  
Serial.println(“Sensores nao encontrados !”);  
// Mostra o endereco do sensor encontrado no barramento  
Serial.print("Endereco sensor: ");  
mostra\_endereco\_sensor(sensor1);  
Serial.println();  
Serial.println();  
lcd.begin(16, 2);  
}

void mostra\_endereco\_sensor(DeviceAddress deviceAddress)  
{  
for (uint8\_t i = 0; i \< 8; i++)  
{  
// Adiciona zeros se necessário  
if (deviceAddress[i] \< 16) Serial.print(“0”);  
Serial.print(deviceAddress[i], HEX);  
}  
}

void loop()  
{  
// Le a informacao do sensor  
sensors.requestTemperatures();  
float tempC = sensors.getTempC(sensor1);

//ligou rele1  
if (digitalRead (botao) == HIGH)  
{  
digitalWrite (rele2, LOW);  
delay(1);  
if (digitalRead(botao) == LOW)  
{  
if (tempC \< 95)  
{  
digitalWrite (9, HIGH);  
}  
else if (tempC \> 100)  
{  
digitalWrite (9, LOW);  
}  
}  
}

//ligou rele2  
else if (digitalRead (botao2) == HIGH)  
{  
digitalWrite (rele, LOW);  
delay(1);  
if (digitalRead(botao2) == LOW)  
{  
if (tempC \< 70)  
{  
digitalWrite (13, HIGH);  
}  
else if (tempC \> 80)  
{  
digitalWrite (13, LOW);  
}  
}  
}

```
// Mostra dados no serial monitor

```

Serial.print("Temp C: ");  
Serial.println(tempC);

// Mostra dados no LCD  
lcd.clear();  
lcd.setCursor(0,0);  
lcd.print("Temp.: ");  
//Simbolo grau  
lcd.write(223);  
lcd.print(“C”);  
lcd.setCursor(7,0);  
lcd.print(tempC);  
delay(3000);  
}

---

<div class="post-metadata">

**Author:** ![maxdesa](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.fazedores.com/maxdesa/32/2110_2.png) [@maxdesa](https://forum.fazedores.com/u/maxdesa)\
**Post date:** [Dezembro 9, 2019, 10:06pm UTC](https://forum.fazedores.com/t/projeto-de-cafeteira/6911/2 "2019-12-09T22:06:52Z")

</div>

Fala @leonhardttiago teria como postar foto do projeto para melhor solução do seu problema?

Att  
Max
