Sistema de modulo para bico injetor

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);
}

Ola @docteary76 ,

Recomendações.
Leia: How to get the best out of this forum
Use tags </> para postar esboços ou impressões;
Publique o seu esquema. Pode ser feito à mão livre;
Quais produtos você está usando em seu projeto?
Qual microcontrolador você está usando no seu projeto?
Arduino Uno / Mega / ESP ....?

Este projeto é um TCC ou trabalho escolar?

RV mineirin

Olá,

A variável pinPot não é inicializada com o pino do potenciómetro:

//Declarando as variáveis
int pinSensorPIR = 8;
int pinLed = 11;
int valorSensorPIR = 0;
int pinPot;   // <- Falta inicializar com o pino do potenciometro.
int tempo = 0;

Ligas o potenciometro a que pino do Arduino?

No loop(), estás a ler o valor analogico do pino A0 para o pinPot. O que está ligado ao pino A0?

pinPot = analogRead(A0);

Talvez seja boa ideia usar outra variável em vez do pinPot.

Na instrução seguinte estás a ler o valor analogico do pinPot que não foi inicializado com um pino:

tempo = analogRead(pinPot);

Inicializa o pinPot com o respectivo pino e adiciona uma variável para ler o pino A0. Por exemplo:

//Declarando as variáveis
int pinSensorPIR = 8;
int pinLed = 11;
int valorSensorPIR = 0;
int pinPot = A1;   // <- Falta inicializar com o pino do potenciometro.
int tempo = 0;
int valorA0 = 0;   // <- Adiciona uma variável para ler o pino A0.

Depois no loop:

  valorA0 = analogRead(A0);

Para facilitar a ajuda é como o RuiViana mencionou, coloca o esquema de ligação dos sensores, etc. ao Arduino.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.