Solicito ajuda para o desenvolvimento de um gerador de sinal de roda fônica, para quem não conhece a roda fônica esta presente nos veículos, aonde gera o sinal abaixo, que diz a central eletrônica a real posição dos cilindros para efetuar o controle de injeção e ignição.
int LED=13;
int Cont=0;
// the setup function runs once when you press reset or power the board
void setup() {
// Serial.begin(115200);
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
while (Cont < 58)
{
digitalWrite(LED, HIGH);
Cont++;
delay(1) ;
digitalWrite(LED, LOW);
delay(1) ;
Serial.println(Cont);
}
digitalWrite(LED, LOW);
Cont++;
delay(1) ;
digitalWrite(LED, LOW);
delay(1) ;
Serial.println(Cont);
if (Cont == 60){
Cont = 0;
}
}
o problema são esses delays... ja estão no mínimo(1)... gostaria de poder dar mais velocidade nessa geração de sinal que faria com que o carro acelerasse vamos dizer assim, ai eu colocaria um potenciômetro para poder ajustar a rotação.
tudo isso e para um testador de módulos automotivos mas fico limitado em dar rotação para efetuar testes.
também não sei se o arduino tem capacidade de hardware para isso.
Resolvido o problema... show de bola
Segue o código caso alguém queira fazer o projeto
/*
Blink
Turns an LED on for one second, then off for one second, repeatedly.
Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
the correct LED pin independent of which board is used.
If you want to know what pin the on-board LED is connected to on your Arduino
model, check the Technical Specs of your board at:
https://www.arduino.cc/en/Main/Products
modified 8 May 2014
by Scott Fitzgerald
modified 2 Sep 2016
by Arturo Guadalupi
modified 8 Sep 2016
by Colby Newman
This example code is in the public domain.
http://www.arduino.cc/en/Tutorial/Blink
*/
int LED=13;
int Cont=0;
int pinopot = 0; //Pino ligado ao pino central do potenciometro
int valorpot = 0; //Armazena valor lido do potenciometro, entre 0 e 1023
float velo = 0;
// the setup function runs once when you press reset or power the board
void setup() {
Serial.begin(115200);
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED, OUTPUT);
pinMode(pinopot, INPUT); //Define o pino do potenciometro como entrada
}
// the loop function runs over and over again forever
void loop() {
valorpot = analogRead(pinopot);
velo = map(valorpot, 0, 1023, 200, 6000);
while (Cont < 58)
{
digitalWrite(LED, HIGH);
Cont++;
delayMicroseconds(velo);
digitalWrite(LED, LOW);
delayMicroseconds(velo);
// Serial.println(Cont);
}
digitalWrite(LED, LOW);
Cont++;
delayMicroseconds(velo);
digitalWrite(LED, LOW);
delayMicroseconds(velo);
// Serial.println(Cont);
if (Cont == 60){
Cont = 0;
}
Serial.println(velo);
}