Manual
do
Maker
.
com
Nesse post será exibida a montagem de um circuito protótipo fora da protoboard para acionamento de relé com tensão de até 125v para acender lâmpada pelo notebook. O acabamento não tem 1% de beleza, mas o propósito é por pra funcionar. Em outro post ainda veremos como corroer um circuito e então sim o acabamento será melhor.
Deixei de jeito um sensor de temperatura LM35 para acionamento automático de um ventilador. Como não tenho ventilador, o exemplo aqui ligará a lâmpada. A leitura analógica será feita pelo Arduino, que receberá em seu código uma variável de limite de temperatura para acionar e desligar o relé dentro dos limítrofes. Eu sei; deveria ter utilizado o sensor de luminosidade já que vou utilizar uma lâmpada. Prometo que o utilizarei um dia pra ligar o ventilador, pronto.
Como se pode ver no video, adicionei um led - fundamental para saber que o circuito está energizado. Também adicionei um buzzer para gerar alarme quando a temperatura estiver acima do limite. Como também se pode ver no video, soldei o sensor ao contrário e ele fica gerando valores estupidos, então tive que colocar um outro LM35 na protoboard e aquecê-lo com o dedo.
Nesse outro post fiz apenas a prova de conceito na protoboard, alimentando um LED através do relé com uma fonte de 5V externa, assim nenhum erro causaria danos físicos (ao MEU físico). O propósito desse post é mostrar o mesmo circuito, agora montado sobre uma PCB ligando uma lâmpada em 125v.
O desenho para esse circuito é o mesmo do post desse link, adicionando apenas uma leitura analógica no pino 0. A leitura do LM35 você vê nesse outro link, basta adicioná-lo ao circuito. Se quiser utilizar lâmpadas com sensor de luminosidade, então leia esse outro post. Da mesma forma, basta adicioná-lo ao projeto.
O LED desse circuito está sendo ligado assim que o circuito é alimentado. Para a temperatura e o buzzer, a lógica aplicada é a seguinte:
O código para esse funcionamento é o seguinte:
int freq = 0;
float temp = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
freq = analogRead(0);
temp = (5.0 * freq *100.0) / 1024.0;
Serial.print(temp);
Serial.print("n");
if (temp > 27.5){
analogWrite(6,255);
delay(2000);
}
else{
analogWrite(6,0);
}
delay(1000);
}
Ok, não tem código pro buzzer. Parece rápido, mas há dias estou detalhando, experimentando, reescrevendo. Então, vou deixar o buzzer por sua conta. Se quiser um apoio, você pode partir desse outro post.
Por fim, o video comprovando que sobrevivi ao experimento. Mas por favor, não faça em casa tal gambiarra como fiz aqui. Coloque fita isolante na extensão que você for cortar para evitar choques e curto-circuitos.
Até a próxima!
Autor do blog "Do bit Ao Byte / Manual do Maker".
Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.