Menú
Foros
Nuevos mensajes
Buscar en foros
Novedades
Nuevos mensajes
Nuevos recursos
Última actividad
Recursos
Últimas revisiones
Buscar recursos
Acceder
Registrarse
Novedades
Buscar
Buscar
Buscar sólo en títulos
De:
Nuevos mensajes
Buscar en foros
Menú
Acceder
Registrarse
Install the app
Instalar
Foros
Temas de Interés
Software de Simulación y Diseño Electrónico
Declarar una función en arduino uno
JavaScript está desactivado. Para una mejor experiencia, por favor, activa JavaScript en el navegador antes de continuar.
Estás usando un navegador obsoleto. No se pueden mostrar este u otros sitios web correctamente.
Se debe actualizar o usar un
navegador alternativo
.
Responder al tema
Mensaje
[QUOTE="Irfane, post: 1017392, member: 397144"] Tengo 16 años,soy algo novato en esto. Tengo un "programa".Un motor a pasos que gira al recibir la señal del sensor ultrasonico,programado a 15 cm. El problema esta que no se como acomodar la función para que se detenga el motor. Si lo pongo El motor hace las pulsaciones previamente cargadas (osea gira las dos vueltas puestas),cuando detecta la señal del ultrasonico.Pero solamente funciona con la primera señal,si le acerco presencia al ultrasonico,el motor no volera a girar.Solamente cargando el programa de nuevo. Y si omito la función de parar,obviamente el motor solamente cuando tenga presencia,sin respetar las vueltas programadas (pulsos),y su giro sera infinito (hasta que le aleje el objeto del ultrasonico). Quiero que el motor gire "n" vueltas y se detenga,y que este proceso se pueda repetir las que desee.¿Como declaro la función y la mando a llamar,adecuadamente Por sus atenciones,gracias. Programa en IDE de arduino: goo.gl/33ordw [Alojado en Dropbox] [code] #include<Ultrasonic.h> #define MA_1 8 #define MA_2 9 #define MB_1 10 #define MB_2 11 int contador; int estado; //declaramos un objeto ultrasonic de la la librería Ultrasonic para referirnos a ella. Ultrasonic ultrasonic1(7,A0); int Distancia1; void setup(){ pinMode(MA_1,OUTPUT); pinMode(MA_2,OUTPUT); pinMode(MB_1,OUTPUT); pinMode(MB_2,OUTPUT); contador = 1; estado = 1; } void loop(){ //leemos el sensor de ultrasonidos y guardamos el valor en una variable Distancia1 = ultrasonic1.Ranging(CM); if (Distancia1 <=15){ //movemos el servo en una dirección izquierda(96); delay(5); } } void izquierda(int pulso) { static byte estado=1; do { delay(30); //30 switch(estado) { case 1: digitalWrite(MA_1,HIGH); digitalWrite(MA_2,LOW); digitalWrite(MB_1,LOW); digitalWrite(MB_2,LOW); estado = 4; break; case 2: digitalWrite(MA_1,LOW); digitalWrite(MA_2,HIGH); digitalWrite(MB_1,LOW); digitalWrite(MB_2,LOW); estado = 1; break; case 3: digitalWrite(MA_1,LOW); digitalWrite(MA_2,LOW); digitalWrite(MB_1,HIGH); digitalWrite(MB_2,LOW); estado = 2; break; case 4: digitalWrite(MA_1,LOW); digitalWrite(MA_2,LOW); digitalWrite(MB_1,LOW); digitalWrite(MB_2,HIGH); estado = 3; break; } } while(++contador<=pulso); // "FUNCIÓN PARA DETENER MOTOR /* digitalWrite(MA_1,LOW); digitalWrite(MA_2,LOW); digitalWrite(MB_1,LOW); digitalWrite(MB_2,LOW);*/ }[/code] P.D Posteriormente sera con dos sensores,para asi hacer funcionar una puerta automatica (abrir y cerrar) [/QUOTE]
Verificación
Responder
Foros
Temas de Interés
Software de Simulación y Diseño Electrónico
Declarar una función en arduino uno
Arriba