O objetivo de qualquer tecnologia é resolver problemas, dos mais simples aos mais complexos. Pessoas idosas principalmente as que moram só, ou passam a maior parte do tempo só, tem dificuldade em lembrar os horários de suas medicações, causando problemas de saúde.
Esse tutorial lhe ajudará a construir uma caixa time automatizada com arduino. A cultura do faça você mesmo (cultura maker), vem popularizando-se no Brasil, com conhecimento básico de arduino e eletrônica você poderá montar sua caixa para uso próprio ou de algum familiar ou amigo.
O que é a Caixa Time ?
A caixa time é uma caixa onde você pode guardar seus medicamentos e em um horário pré programado, a caixa avisa a hora de tomar seus remédios. É acionado uma sirene que só para quando a tampa é aberta.
- 01 x Arduino Uno R3 ou Arduino Nano;
- 01 x Módulo RTC DS3231;
- 01 x Buzzer;
- 01 x Chave fim de Curso;
- 01 x Fonte de 9v (no caso de UNO);
- 01 x Resistor de 22 ohms;
- 01 x Cabos tipo Jumper
Ligação Elétrica
Código
// by Gean Viana Rodrigues //email: geancomp@gmail.com #include <DS3231.h> //biblioteca do RTC #include <NewTone.h> //biblioteca do SOM do Buzzer DS3231 rtc(A4, A5); // RTC - Shield RTC nas porta A4 e A5 Time hora; int minuto; //variável para armazenar os minutos int segundo; //variável para armazenar os segundos int cont = 0; //conta a quantidade de vezes que a luz vai piscar int botao = 0; //chave na tampa da caixa de remédios //Dados do buzzer int frequencia = 2000; int Pinofalante = 10; //Buzzer na porta 10 int comando; void setup() { pinMode (botao, INPUT); pinMode(Pinofalante, OUTPUT); //Pino do buzzer delay (1000); Serial.begin(9600); rtc.begin(); } void loop() { comando = Serial.read(); hora = rtc.getTime(); //variável hora recebe a hora do RTC minuto = hora.min; segundo = hora.sec; botao = digitalRead (6); //faz a leitura para saber qual estado da chave (tampa aberta ou fechada Serial.println (rtc.getTimeStr()); //mostra a hora atual no monitor serial if ((hora.hour == 7) && (minuto == 00) && (segundo == 00)) { //primeiro horário while (botao == LOW) { NewTone(Pinofalante, frequencia); // inicia o som do buzzer. Só para quando a tampa é aberta botao = digitalRead (6); } if (botao == HIGH) { noNewTone(Pinofalante); // para o som do Buzzer } } //--------------------bloco para acetar o horário------------- if (comando == 'A') { rtc.setTime(22, 15, 0); rtc.setDate(10, 05, 2017); Serial.println (rtc.getTimeStr()); } }//final //Replicar o IF do primeiro horário para os demais horários
Vídeo Demonstração
E aí galera, curtiram esse post? Se sim, continue acompanhando nosso blog, teremos muitas postagens interessante toda semana! Se você ficou com alguma dúvida, nos envie sua pergunta, teremos enorme prazer em contribuir com seu aprendizado!
Trabalha há 15 anos com tecnologia da informação, é um amante de Arduino e robótica, encara o Arduino como a oportunidade perfeita de aflorar sua criatividade ao mesmo tempo que treina suas habilidades em eletrônica e programação.