buen día/tarde todos, antes que nada me presento, soy matias de argentina, estudiante de mecatronica. poseo un arduino mega y algunos componentes como pantalla shield, sensor ultrasonico, y demas..
estoy en la etapa final de la universidad y me piden que haga un proyecto, el cual accedí mejorar una maquina de ensayos dieléctricos de la misma facultad.
tengo un pequeño pero gran problema, y es que necesito detectar una gota de agua (con una solución al 0,1% que lo hace indiferente) y poder parar un motor paso paso. ahora bien, hago girar el motor para que caiga una gota y la detecte el sensor pero no pasa nada. sin embargo, eh echo un pequeño programa que girando el engranaje del motor mano la gota es detectada.
en que estoy fallando? no entiendo el porque cuando el motor empieza girar el sensor deja de funcionar..
dejo el codigo que echo y unas fotos por si alguien me puede dar una mano con esto, muchisimas gracias por su atención.
atte, matias
estoy en la etapa final de la universidad y me piden que haga un proyecto, el cual accedí mejorar una maquina de ensayos dieléctricos de la misma facultad.
tengo un pequeño pero gran problema, y es que necesito detectar una gota de agua (con una solución al 0,1% que lo hace indiferente) y poder parar un motor paso paso. ahora bien, hago girar el motor para que caiga una gota y la detecte el sensor pero no pasa nada. sin embargo, eh echo un pequeño programa que girando el engranaje del motor mano la gota es detectada.
en que estoy fallando? no entiendo el porque cuando el motor empieza girar el sensor deja de funcionar..
dejo el codigo que echo y unas fotos por si alguien me puede dar una mano con esto, muchisimas gracias por su atención.
atte, matias
code: [select]
#include <stepper.h>
const int stepsperrevolution = 200;
stepper mystepper(stepsperrevolution, 22,24,26,28);
int sensor=53;
long gotas=0;
int pulsador2=52;
int actualp2;
int anteriorp2=low;
long tiempop2 = 0;
long debounce2 = 200;
int cont=0;
int estadop2=low;
int led=51;
void setup () {
serial.begin (9600);
pinmode(sensor,input);
pinmode(pulsador2,input);
pinmode(led,output);
mystepper.setspeed(15);
}
void loop () {
actualp2=digitalread(pulsador2);
if (actualp2 == high && anteriorp2 == low && millis() - tiempop2 > debounce2) //enclavamiento de pulsador
{
if (estadop2 == high)
estadop2= low;
else
estadop2 = high;
tiempop2 = millis();
}
if(estadop2==high) {
digitalwrite(led,high); //si lo pulso una vez el motor gira y se prende el led
mystepper.step(-1);
}
else{
digitalwrite(led,low); //pulso el boton nuevamente el motor se detiene y led se apaga
mystepper.step(0);
}
if(digitalread(sensor)==low) { //cuenta el sensor
serial.println(cont);
delay(10);
estadop2=low;
cont++;
}
anteriorp2 = actualp2;
}
hola matías.
encontré un pequeñísimo error en una llave, te pongo todo
encontré un pequeñísimo error en una llave, te pongo todo
code: [select]
#include <stepper.h>
const int stepsperrevolution = 200;
stepper mystepper(stepsperrevolution, 22,24,26,28);
const byte led = 51;
const byte pulsador2 = 52;
const byte sensor = 53;
int actualp2;
long tiempop2 = 0;
long gotas = 0;
long debounce2 = 200;
int cont = 0;
int estadop2 = low;
int anteriorp2 = low;
void setup () {
serial.begin (9600);
pinmode(sensor,input);
pinmode(pulsador2,input);
pinmode(led,output);
mystepper.setspeed(15);
}
void loop () {
actualp2 = digitalread(pulsador2);
if (actualp2 == high && anteriorp2 == low && (millis() - tiempop2 > debounce2) { //enclavamiento de pulsador
if (estadop2 == high)
estadop2= low;
else { // aca faltaba llave para que tomara ambas sentencias.
estadop2 = high;
tiempop2 = millis();
}
}
if (estadop2 == high) {
digitalwrite(led,high); //si lo pulso una vez el motor gira y se prende el led
mystepper.step(-1);
}
else {
digitalwrite(led,low); //pulso el boton nuevamente el motor se detiene y led se apaga
mystepper.step(0);
}
if (digitalread(sensor) == low) { //cuenta el sensor
serial.println(cont);
delay(10);
estadop2=low;
cont++;
}
anteriorp2 = actualp2;
}
Arduino Forum > International > Español > Software (Moderators: surbyte, Hector_A) > Un sensor puede parar un motor?
arduino
Comments
Post a Comment