-
deivme
-
Autor del tema
-
Fuera de línea
-
Navegador Iniciado
-
-
Mensajes: 9
-
Gracias recibidas: 0
-
-
|
Muchas gracias. Ahora como tengo que hacer la conexión, me falta algún componente? He adjuntado la foto de los componente en la primera foto.
Un saludo.
|
Por favor, Identificarse o Crear cuenta para unirse a la conversación.
|
-
Jose Luis
-
-
Fuera de línea
-
Navegador Platino
-
-
Mensajes: 1148
-
Gracias recibidas: 230
-
-
|
Ahora me voy a trabajar, pero no deberia estar mal el codigo que subi, por que hay mucha gente que lo uso y no comento nada.
Mañana intentare descargar el codigo y compilarlo, para verificar si funciona.
|
Por favor, Identificarse o Crear cuenta para unirse a la conversación.
|
-
DEA
-
-
Fuera de línea
-
Navegador Dorado
-
-
Mensajes: 294
-
Gracias recibidas: 84
-
-
|
Donde lo tenias subido Jose Luis que no lo he encontrado en el foro antiguo
|
Por favor, Identificarse o Crear cuenta para unirse a la conversación.
|
-
Jose Luis
-
-
Fuera de línea
-
Navegador Platino
-
-
Mensajes: 1148
-
Gracias recibidas: 230
-
-
|
Acabo de copiar y compilar el codigo que estaba en foro, en el hilo dedicado a este tema.
El codigo era : word salidaPwm = 3;
int potenciometro=A0;
int valor = 0;
int valorPwm = 0;
double pulso=0;
double frecuencia = 0;
void setup() {
pinMode(salidaPwm, OUTPUT);
pinMode(potenciometro, INPUT);
configura25KhzPwm();
Serial.begin(115200);
}
void loop() {
valor=analogRead(potenciometro);
valorPwm=map(valor,0,1023,0,79);
cicloPwm(valorPwm);
// Serial.println(valorPwm);
medirRPM();
// cicloPwm(19); // 25% (range = 0-79 = 1.25-100%)
// delay(5000);
// cicloPwm(39); // 50% (range = 0-79 = 1.25-100%)
// delay (5000);
// cicloPwm(59); // 75% (range = 0-79 = 1.25-100%)
//delay (5000);
}
void configura25KhzPwm() {
TCCR2A = 0; // TC2 Control Register A
TCCR2B = 0; // TC2 Control Register B
TIMSK2 = 0; // TC2 Interrupt Mask Register
TIFR2 = 0; // TC2 Interrupt Flag Register
TCCR2A |= (1 << COM2B1) | (1 << WGM21) | (1 << WGM20); // OC2B cleared/set on match when up/down counting, fast PWM
TCCR2B |= (1 << WGM22) | (1 << CS21); // prescaler 8
OCR2A = 79; // TOP overflow value (Hz)
OCR2B = 0;
}
void cicloPwm(byte ocrb) {
OCR2B = ocrb; // PWM Width (duty)
}
void medirRPM(){
pulso=pulseIn(11,HIGH);
// if(pulso>0.1)
// {
frecuencia=1000000/(2*pulso);
Serial.print("Frecuencia :");
Serial.println((frecuencia*60)/2);
// }
}
Lo compile y funciona perfectamente. No se si es el mismo que tenias tu, pero te aconsejo usar este.
|
Por favor, Identificarse o Crear cuenta para unirse a la conversación.
|
-
DEA
-
-
Fuera de línea
-
Navegador Dorado
-
-
Mensajes: 294
-
Gracias recibidas: 84
-
-
|
deivme utiliza el código que ha puesto Jose Luis que seguro que funciona.
Te dejo una foto de como va las conexiones que hizo Jose Luis en su dia.
Saludos
|
Por favor, Identificarse o Crear cuenta para unirse a la conversación.
|
Tiempo de carga de la página: 0.146 segundos