Em inglês existe o termo “over-engineering”, que é usado quando se usa muita complicação para fazer algo simples. O pessoal que trabalha comigo sempre usa esse quadrinho como exemplo:
Pra quem não fala inglês, a situação é a seguinte, o rapaz esqueceu a chave e está tentando chamar a colega de quarto, para isso ele explica em 5 quadrinhos as tentativas que ele fez, inclusive invadir o computador para usar conversão de texto em fala! Então a moça pergunta “então a campainha não funciona?”
Esta semana eu estava procurando um diagrama para acionar um alto-falante pelo Arduino. Como o alto-falante “puxa” muita corrente, precisamos colocar um transistor pra proteger as saídas do microcontrolador.
Fiz a busca direto por imagens, pra poder ir olhando os diagramas e escolher um simples e eficiente. De repente, vejo a seguinte imagem:
Fiquei curioso e resolvi clicar para ver a página!
Está tudo em inglês, mas por coincidência o autor é brasileiro, chama-se Ricardo.
O gráfico é uma análise das frequências de um som em função do tempo. Tem até músico que esconde fotos na música tocando os sons certos por tempos certos:
Este aí em cima é o cara do Aphex Twin. A explicação está neste link e tem um video já no ponto aqui.
Mas eu estou fugindo do assunto. O que o Ricardo fez foi copiar o som de um alarme.
E foi “muito simples”!
O que ele fez foi gravar o alarme, passar por uma ferramenta que gera o gráfico do espectro de frequências, pegar as informações da análise, passar pelo Wolfram para deduzir uma equação e implementar em código no Arduino!
Não me aguentei e acabei montando um sketch com a equação que ele achou, e o resultado lembra mesmo um alarme!
void setup(){} // conecte o buzzer ou amplificador no pino 3 void loop() { for(double x = 0; x < 0.92; x += 0.01){ tone(3, sinh(x+8.294), 10); delay(1); } for(double x = 0; x < 0.183258; x += 0.002){ tone(3, sinh(-5* (x-1.8420681)), 10); delay(2); } }
A título de fechamento, o amplificador que montei é bem parecido com o que ele usou.