Construindo um Focus Booster com o Arduino

Vou mostrar neste post como construir um Focus Booster com o Arduino R3 2013. O Focus Booster para quem não sabe é um programinha para auxiliar o usuário a melhorar o foco e a concentração. O Focus Booster foi projetado seguindo as ideias da Técnica Pomodoro de auxílio a concentração. Esta técnica é muito boa e funciona!

Em resumo a técnica é o seguinte, você trabalha em uma atividade focado 100% sem nada incomodar por 25 minutos, após este tempo você pode parar por 5 minutos para descansar, fazer um desenho, ler, tomar ar fresco, fazer um alongamento, o que quiser desde que seja algo que descanse seu cérebro do PC. Depois de 5 minutos um alarme soa para mais uma sessão de 25 minutos e após mais uma pausa de 5 minutos e assim sucessivamente. Caso você utiliza muito o PC ao final do dia você não vai estar se sentindo esgotado.

O que fiz foi criar uma versão do Focus Booster com o Arduino. O material necessário foi o seguinte:
  • Uma placa Arduino.
  • Uma protoboard.
  • Fios jumper.
  • Um LED.
  • Um resistor (para diminuir o brilho intenso do LED).
  • Um buzzer / altifalante.

O esquema do circuito dá para ver no vídeo ficou bem fácil de ver como foi feito. Procurei manter a simplicidade no código e no circuito, pois comecei a aprender o Arduino há poucos dias. Mas dá para melhorar o projeto com um display de 7 segmentos, um cronômetro etc. Caso você fizer um Focus Booster melhorado e postar no seu Blog é só dar um pingback para este artigo que o seu link deve aparecer aqui no meu Blog. Abaixo segue o código que fiz para o Arduino:

[c] /** * Projeto básico para simular o programa focus booster que ajuda na concentração * do trabalho geralmente executado na frente do PC. O focus booster é utilizado * para facilitar na aplicação da Técnica Pomodoro. * * @author Carlos Eduardo da Silva. * @link: https://blog.tetranet.com.br * * @todo Pode ser acrescentado neste código um tratamento para display de 7 segmentos * para exibir um cronômetro. */ int led_1 = 13; // O pino do arduino em que o led será conectado. int altiFalante = 8; // O pino do arduino em que o buzzer será conectado. /* O tempo de cada pomodoro é de 25 minutos. Abaixo é informado o valor total dos 25 minutos mas convertidos para milisegundos. */ // O tipo da variavel pomodoros tem que ser do tipo long pois int não suporta // números grandes. unsigned long pomodoros = 1500000; // 25 minutos -> 1500000 milisegundos // /* O tempo de descanso entre cada pomodoro. O valor é de 5 minutos. Abaixo é informado o valor total dos 5 minutos mas convertidos para milisegundos. */ // O tipo da variavel descanso tem que ser do tipo long pois int não suporta // números grandes. unsigned long descanso = 300000; // 5 minutos -> 300000 milisegundos // void setup() { pinMode(led_1, OUTPUT); pinMode(altiFalante,OUTPUT); } void loop() { digitalWrite(led_1,HIGH); // led ligado delay(pomodoros); dar_alerta(1); digitalWrite(led_1,HIGH); // led desligado delay(descanso); dar_alerta(2); } /** * Este método é responsável por avisar o final de cada * pomodoro ou tempo de descanso. * * @param int tipo_som O tipo de som a ser tocado. */ void dar_alerta(int tipo_som) { digitalWrite(led_1,LOW); // led desligado if(tipo_som == 1) { for(int i = 0; i < 10; i++) { tone(altiFalante,i*100,800); // Pino, Frequência, Duração delay(200); } } else if(tipo_som == 2) { for(int i = 10; i <= 10 && i >= 0; i--) { tone(altiFalante,i*100,800); delay(200); } } } // EOF [/c] Clique aqui para baixar o código.

Veja abaixo o vídeo do Focus Booster no Arduino. Coloquei um intervaldo de 10 segundos para o pomodoro e de 5 segundos para a pausa para efeitos de demonstração.

Links para saber mais: