Después de un montaje para bailar peonzas ForeverSpin y otro para medir las revoluciones de un eje, el siguiente reto era medir el el giro de las peonzas. Tras pruebas de ensayo y error se logra con un sencillo montaje en el que se utiliza uno de de los sensores del módulo siguelíneas y otro módulo display de 7 segmentos. El motor arrancador se alimenta con 10 V.
Como se ve una vez estabilizado el giro se miden velocidades superiores a las 2700 RPM comprobando que por debajo de 800 RPM la peonza pierde estabilidad.

Video en acción
#include <MeOrion.h>
#include <SoftwareSerial.h>
#include <Wire.h>
MeLineFollower lineFinder(PORT_4);
Me7SegmentDisplay marcador(PORT_6); //
int pasos=0;
bool estado_sensor; //
bool estado_anterior;
long tpo_inicial = 0;
long tpo_final = 0;
long tpo;
//=================================
void setup(){
Serial.begin(115200);
Serial.read();
marcador.display(0);
}
//=================================
void loop(){
Serial.println ("EMPEZAMOS");
while (pasos<31){
estado_sensor = lineFinder.readSensor2();
if (estado_sensor != estado_anterior) {
if (estado_sensor == true) {
pasos++;
if (pasos==1){tpo_inicial =millis();}
}
}
estado_anterior = estado_sensor;
}
tpo_final =millis();
tpo = tpo_final-tpo_inicial;
int rpm = 60000*30/tpo;
Serial.print("RPM = ");Serial.println(rpm);
marcador.display(rpm);
pasos=0;
}

Después de un montaje para bailar peonzas ForeverSpin y otro para medir las revoluciones de un eje, el siguiente reto era medir el el giro de las peonzas. Tras pruebas de ensayo y error se logra con un sencillo montaje en el que se utiliza uno de de los sensores del módulo siguelíneas y otro módulo display de 7 segmentos. El motor arrancador se alimenta con 10 V.
Como se ve una vez estabilizado el giro se miden velocidades superiores a las 2700 RPM comprobando que por debajo de 800 RPM la peonza pierde estabilidad.

[Video en acción](https://youtu.be/1N2hoNpIE3Y "Youtube")
--
````
#include <MeOrion.h>
#include <SoftwareSerial.h>
#include <Wire.h>
MeLineFollower lineFinder(PORT_4);
Me7SegmentDisplay marcador(PORT_6); //
int pasos=0;
bool estado_sensor; //
bool estado_anterior;
long tpo_inicial = 0;
long tpo_final = 0;
long tpo;
//=================================
void setup(){
Serial.begin(115200);
Serial.read();
marcador.display(0);
}
//=================================
void loop(){
Serial.println ("EMPEZAMOS");
while (pasos<31){
estado_sensor = lineFinder.readSensor2();
if (estado_sensor != estado_anterior) {
if (estado_sensor == true) {
pasos++;
if (pasos==1){tpo_inicial =millis();}
}
}
estado_anterior = estado_sensor;
}
tpo_final =millis();
tpo = tpo_final-tpo_inicial;
int rpm = 60000*30/tpo;
Serial.print("RPM = ");Serial.println(rpm);
marcador.display(rpm);
pasos=0;
}
````

editado 29 Jul '17 a las 7:09 pm