Controlar limpador de parabrisa com Arduino

Controlar limpador de parabrisa com Arduino

Espalhe o amor!
  • 1
    Share

Vamos ao nosso primeiro projeto com Arduino.

arduino
Controle de servo-,otor com arduino.

Já antes dessa pandemia que nos fez parar, eu fui contratado para fazer um chicote elétrico para um veiculo adaptado.

Uma carroceria feita de fibra de vidro montada sobre o chassis de uma Brasília. O serviço já estava praticamente pronto, quando chegou a pandemia e ninguém mais pode sair de casa.

Eu já me preparava para levar o chicote tudo mais que era necessário, mas fui obrigado adiar e ate hoje o serviço não foi entregue.

Dia desses o dono e projetista do veiculo, me perguntou se seria possível, já que ainda vamos demorar para terminar o serviço, fazer um dispositivo automático do limpador de para brisas com tempo regulável, já não e de hoje que todos veículos saem de fabrica com um temporizador no limpador de para brisas, mas com o tempo fixo.

Vamos ao projeto

Eu que sou amante da tecnologia e dos automóveis, me prontifiquei a projetar tal dispositivo. E como fazer isso? Ora o jeito mais fácil, e usando o versátil Arduino, e aqui esta o projeto.

Fiz os primeiros testes usando um LED para representar o motor do limpador de parabrisa, pois para fazer funcionar “pra valer”, preciso usar um rele comandado por um transistor, ou podemos também, usar um transistor de potencia, já que o Arduíno não tem saída de corrente suficiente para alimentar um motor elétrico, além de fornecer apenas 5V, e não os 12V necessários.

Temporizador de limpador com Arduino

E aqui temos o programa a ser gravado no Arduíno.

Tudo que esta escrito depois da // são apenas comentários para sabermos o que esta sendo feito, não precisa colocar no programa, e só para não nos perdermos.

A declaração potPinA 5, indica que será usada a entrada analogica 5 para o potenciometro e ledPin 10 e o pinoa digital 10, que foi declarado como saída (OUTPUT) no setup.

int potPin = A5; // selecione o pino de entrada do potenciômetro

int ledPin = 10; // selecione o pino ao LED

int val = 0; // variável a guardar o valor proveniente do sensor

void setup() {

pinMode(ledPin, OUTPUT);

// declarar o pino ledPin como saída}

void loop() {

val = analogRead(potPin); // ler o valor do potenciômetro

digitalWrite(ledPin, HIGH); // ligar o ledPin

delay(1000); // pausar o programa por algum tempo

digitalWrite(ledPin, LOW); // desligar o ledPin

delay(val*15); // pausar o programa por algum tempo

}

Os nomes, declarados como potPin e ledPin, podem ser qualquer nome, desde que você use os mesmos nomes no loop. A escolha dos nomes e por sua conta.

Aqui noLoop, o delay (val*15) indica que o valor de zaida na saída ledPin e multiplicado por 15, para ficar um tempo maior desligado, já que o valor da saída e sempre milésimos de segundo, já o tempo ligado, HIGH de 1000 milissegundos, e só para o motor ligar, dar uma passada do limpador e desligar, voltando a posição de repouso, podendo também ser aumentado.


Espalhe o amor!
  • 1
    Share

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *