Olá, estou com um problema no código que estou desenvolvendo, estou criando um sistema simples para ativação de bico injetor, com sensor Hall para controle de pulso, e Sensor de TPS para controle de frequência do bico. Estou tendo problema na parte de controlar a frequência do bico (led).
O sensor PIR (Sensor Hall), Potenciômetro de 500 Ohms (Sensor TPS), o Led (seria o Bico). Queria mudar a frequência da onda no Osciloscópio, fazendo ela aumentar a diminuir de acordo com o potenciômetro. Tentei fazer com a saida PWM mas sem sucesso.
Segue o Código do que eu consegui até agora:
//Sensor PIR será o sensor Hall o pulso do pistão.
//O potenciômetro será o TPS sensor de borboleta.
//O Led será o bico injetor.
//Declarando as variáveis
int pinSensorPIR = 8;
int pinLed = 11;
int valorSensorPIR = 0;
int pinPot;
int tempo = 0;
void setup(){
//Definido pinos como de entrada ou de saída
Serial.begin(9600);
pinMode(pinSensorPIR,INPUT);
pinMode(pinLed,OUTPUT);
pinMode(pinPot, INPUT);
}
void loop() {
//Lendo o valor do sensor PIR. Este sensor pode assumir 2 valores
//1 quando detecta algum movimento e 0 quando não detecta.
pinPot=analogRead(A0);
valorSensorPIR = digitalRead(pinSensorPIR);
tempo = analogRead(pinPot);
Serial.println(tempo);
//Verificando se ocorreu detecção de movimentos
if (valorSensorPIR == 1){
ligarLed();
} else {
desligarLed();
}
if (valorSensorPIR == 1){
controlarFrequencia();
}
}
void ligarLed(){
digitalWrite(pinLed,HIGH);//Ligando o led
desligarLed();
}
void desligarLed() {
digitalWrite(pinLed, LOW);//Desligando o led
}
void controlarFrequencia(){
unsigned int count = 0;
int average = 0;
unsigned char i = 0;
for (i = 0; i < 10 ; i++)
count += analogRead(pinPot);
average = count/10;
digitalWrite(pinLed, tempo);
}