Diversos montajes para medir las revoluciones por minuto de un motor o un eje. Para ello se utiliza uno de los sensores de un módulo siguelineas. Dejo el códido IDE de alguno de ellos, si alguien quiere probarlo es muy fácil adaptarlo a cualquier montaje.

Video en acción

#include <MeOrion.h>
#include <SoftwareSerial.h>
#include <Wire.h>
MeDCMotor motor(M1);//
MeLineFollower lineFinder(PORT_4);
int pasos=0;
bool estado_sensor; //
bool estado_anterior;
int vel=255;
long tpo_inicial = 0;
long tpo_final = 0;
long tpo;
//=================================
void setup(){
Serial.begin(115200);
Serial.read();
}
//=================================
void loop(){
Serial.println ("EMPEZAMOS");
motor.run(vel);
delay(1000);
Serial.println ("Medimos");
while (pasos<502){// helice de 2 aspas, 2 pasos/giro
estado_sensor = lineFinder.readSensor2();
if (estado_sensor != estado_anterior) {
if (estado_sensor == true) {
pasos++;
if (pasos==1){tpo_inicial =millis();}
Serial.print("Pasos ");
Serial.println(pasos);
}
}
estado_anterior = estado_sensor;
}
tpo_final =millis();
tpo = tpo_final-tpo_inicial;
Serial.print("Duración 250 vueltas = ");
Serial.print(tpo/100);
Serial.println(" décimas) ");
Serial.print("RPM = ");
double rpm = 60000*250/tpo;
Serial.println(rpm);
motor.stop();
Serial.println();Serial.println();
while(1){};
}



Diversos montajes para medir las revoluciones por minuto de un motor o un eje. Para ello se utiliza uno de los sensores de un módulo siguelineas. Dejo el códido IDE de alguno de ellos, si alguien quiere probarlo es muy fácil adaptarlo a cualquier montaje.

[Video en acción](https://vimeo.com/220288706 "Vimeo")
---

````
#include <MeOrion.h>
#include <SoftwareSerial.h>
#include <Wire.h>
MeDCMotor motor(M1);//
MeLineFollower lineFinder(PORT_4);
int pasos=0;
bool estado_sensor; //
bool estado_anterior;
int vel=255;
long tpo_inicial = 0;
long tpo_final = 0;
long tpo;
//=================================
void setup(){
Serial.begin(115200);
Serial.read();
}
//=================================
void loop(){
Serial.println ("EMPEZAMOS");
motor.run(vel);
delay(1000);
Serial.println ("Medimos");
while (pasos<502){// helice de 2 aspas, 2 pasos/giro
estado_sensor = lineFinder.readSensor2();
if (estado_sensor != estado_anterior) {
if (estado_sensor == true) {
pasos++;
if (pasos==1){tpo_inicial =millis();}
Serial.print("Pasos ");
Serial.println(pasos);
}
}
estado_anterior = estado_sensor;
}
tpo_final =millis();
tpo = tpo_final-tpo_inicial;
Serial.print("Duración 250 vueltas = ");
Serial.print(tpo/100);
Serial.println(" décimas) ");
Serial.print("RPM = ");
double rpm = 60000*250/tpo;
Serial.println(rpm);
motor.stop();
Serial.println();Serial.println();
while(1){};
}
````


