Hola! Muchas gracias por tu video, me sirvio de mucho. El caso es que necesito hacer un código que nada mas iniciarse me encienda y apague un led intermitente y que continue así mientras corre el resto del programa. Quisiera que el led esté encendido 0,5 segundos y el mismo tiempo apagado y que repita esto indefinidamente y poder introducir retardos entre los movimientos del servo sin que ello afecte a los tiempos de encendido y apagado del led. Así es como llevo el código ahora, pero los retardos entre servos me afectan a los tiempos de intermitencia del led: #include //INCLUYE LIBRERIA CTRL SERVOS Servo servo1; unsigned long tx=0; unsigned long tiempo1; int estadoL1=LOW; //ESTADO INICIAL EN LOW PARA LED1 void setup() { pinMode (5, OUTPUT); //DEFINE PIN 5 SALIDA LED1 servo1.attach(8); //DEFINE PIN 8 SERVO } void loop(){ digitalWrite (5, estadoL1); tiempo1=millis(); if (tiempo1-tx >=500UL) { //COMPROBACION TIEMPO tx=tiempo1; estadoL1=!estadoL1; //CABIA ESTADO LED1 AL OPUESTO } delay (1000); //DELAY 1S servo1.write(0); //POSICIONA SERVO A 0 GRADOS delay (1500); //DELAY 1,5S servo1.write(90); //POSICIONA SERVO A 90 GRADOS delay (2000); //DELAY 2S servo1.write(135); //POSICIONA SERVO A 135 GRADOS } Muchas gracias por la ayuda. Un saludo.
Consulta es posible manejar 4 salidas de PWM (usando la funcion analogwrite),y en el mismo codigo de arduino usar la libreria LiquidCrystal o transmitir o recibir datos por el puerto serie usando como habilitador una funcion millis() de cada tarea mencionada aparte de la de PWM multiple sobre un unico arduino NANO o UNO??
Excelentes su presentacion, tengo 2 preguntas, disculpe: se podria hacer con arduNANO, se podrian hacer encender y apagar hasta por 5 minutos, cada uno..........muchas gracias por su fina atencion......hasta otro momentito
Yo quise aplicar eso en una matrix de32 columnas de ancho y 8 filas de alto donde en a fila 8 los LED parpdearan y en las demás pasara un mensage de derecha a isquierda todo esto que se viera al mismo tiempo en la pantalla pero es difícil en una matrix neopixel lograrlo
Está bien aunque veo un pequeño fallo: si los milisegundos saltan de 499 a 501, creo que el programa fallaría, porque seguiría sumando (502, 503, 504...) y ya no se podría dar esa condición de igualdad a 500. Curiosamente en el algoritmo anterior ponías la condición "menor o igual", y ahí eso no se daría, si pasa a 501 se da la condición y vuelve a empezar. A veces la ejecución del código puede retrasarse por el motivo que sea y ocurrir eso, es raro, pero bueno. Yo por ejemplo con un código que hacía medidas y las guardaba en una tabla, todas las medidas tenían un retraso (12 microsegundos), pero había dos juntas que tenían menos retraso. De todas formas, como decía, está muy bien y creo que este tutorial me puede resultar de utilidad. A ver si me animo a subir tutoriales.
Muchas gracias por la ayuda, una pregunta: ya tengo funcionando 4 leds a la vez y todo va bien. Sólo que quisiera que sólo den un parpadeo, El led 1 cada medio segundo ese está bien pero para el led 2 lo quiero cada 5 segundos pero al ponerle 5000 me enciende por 5 y me apaga por 5. Sólo quiero que cada 5 segundos me encienda y apague al momento hasta que transcurran otros 5 seg. Espero haberme explicado y gracias
Imagino que ya lo resolviste porque es de hace una semana tu comentario, pero seria dentro del mismo if de ese led, que se prenda y ponerle cuantos milis segundos quieres que pase hasta que se apague y quitas lo del ultimo, EstadoL1=!EstadoL1
lcd.init(); lcd.backlight(); lcd.setCursor(3, 0); lcd.print("JAVATRONIC"); lcd.setCursor(3, 1); lcd.print("inversores"); como hago para que se encienda esto con millis() porque yo lo tengo con un delay (500) como se haria ?
Ayer saque un regulador de velocidad de un nebulizador, como puedo hacer para instalarlo en un toma corriente y regular la velocidad de mis herramientas. Ya se que Esto no tiene nada que ver con el video,