PRÁTICA PROFISSIONAL: ALGORÍTMOS COMPUTACIONAIS
Por: Paulo Vannucchi • 28/5/2020 • Trabalho acadêmico • 973 Palavras (4 Páginas) • 183 Visualizações
[pic 1]
Tecnologia em Análise e Desenvolvimento de Sistemas
PRÁTICA PROFISSIONAL: ALGORÍTMOS COMPUTACIONAIS
Prof. FÁBIO ANDRIJAUSKAS
CAFETEIRA CONTROLADA POR ARDUINO
Ra. 002201904535 – Rickson Figueira
Ra. 002201904856 – Paulo Vannucchi
Ra. 002201904519 – Messias Machado
Itatiba
Novembro / 2019
- 1. OBJETIVO
Este projeto consiste na montagem e configuração de uma cafeteira com um timer programado por meio de um Arduino Uno™ para ser ativado em um horário pré-estabelecido. Tal projeto pode ter diversas aplicações em situações do cotidiano, devido à maneira que as configurações foram feitas, programando o timer para permitir a passagem de corrente em uma tomada.
- 2. METODOLOGIA
Para o projeto, foram usados os seguintes componentes:
- Microcontrolador do tipo Arduino Uno
- Módulo Relé de 1 canal
- Módulo RTC DS3231 (Real Time Clock)]
- Cafeteira elétrica simples
- Protoboard MB-102
O módulo RTC possui uma bateria e isso o torna capaz de armazenar os valores de um relógio em tempo real, mesmo quando desconectado do Arduino (desde que esteja com a bateria conectada). Com ele, foi possível importar o horário atual em tempo real dentro do Arduino.
Por meio de uma condição de caso, foi possível efetuar a ativação de um relé que permitia a passagem de corrente elétrica em uma tomada, e, assim, ligando a nossa cafeteira.
[pic 2]
Figura 1. Esquema das conexões do Arduíno.
[pic 3]
Figura 2. Foto das conexões utilizadas no projeto.
- 3. LÓGICA E ALGORITMO
O algoritmo desenvolvido para esse projeto faz uso de 2 bibliotecas externas: “RTCLib.h”, uma biblioteca com funções pré-estabelecidas do módulo RTC e “Wire.h”, que permite a comunicação com dispositivos do tipo I2C e TWI. Nesse caso, utilizado para a comunicação com o RTC.
Após a inclusão das bibliotecas, deve-se definir a porta do relé e entrar com os valores para o horário de ativação e desativação do mesmo, que serão armazenados em variáveis definidas.
É verificado se o módulo RTC está em funcionamento. Caso não esteja, a função de inicialização do RTC é executada.
Caso o RTC esteja sem o horário configurado ou tenha perdido esses valores por falta de energia da bateria, o horário da compilação é adicionado ao módulo, passando o horário atual para o RTC.
Posteriormente, inicia-se um loop que imprime na tela do serial o horário em tempo real, sendo atualizado a cada segundo e também é iniciada a verificação da condição de caso, que compara o valor do relógio com as variáveis do horário desejado. No caso da condição verdadeira, o relé recebe o valor de HIGH, permitindo a passagem de corrente.
O loop continua com a verificação até a segunda condição dar verdadeira, que condiz com o horário de desligamento do relé. A condição de caso funciona da mesma maneira que a executada anteriormente, porém, quando verdadeira, o valor enviado ao relé é LOW.
Abaixo segue o código escrito para configurar o projeto:
#include
#include "RTClib.h" //INCLUSÃO DA BIBLIOTECA
#define Relay 4
RTC_DS3231 rtc; //DECLARA O MÓDULO RTC_DS3231
const int OnHour = 18; //DEFINE O TEMPO PARA ATIVAR O RELÉ (FORMATO 24HRS)
const int OnMin = 24; //DEFINE MINUTOS PARA ATIVAR O RELÉ (FORMATO 60MIN)
const int OffHour = 18; //DEFINE TEMPO PARA DESATIVAR O RELÉ
const int OffMin = 30; //DEFINE TEMPO PARA DESATIVAR O RELÉ
char daysOfTheWeek[7][12] = {"Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"}; //DEFINE OS DIAS DA SEMANA
void setup(){
Serial.begin(9600); //FREQUÊNCIA DO SERIAL
pinMode(Relay, OUTPUT);//RELÉ COMO DISPOSITIVO DE SAÍDA
digitalWrite(Relay, HIGH);//
if(! rtc.begin()) { // SE O RTC NÃO FOR INICIALIZADO
...