cupón válido para halloween 2021 con 25% descuento CUPÓN: "halloween25" Usa este cupón en la cesta de compra para una rebaja de 25% tanto para el Nivel 1 como el Nivel 2
Compi un consejo, millis() es unsigned long, no tiene sentido ponerla en un unsigned int por que es mas pequeño int que long (65,535 vs 4,294,967,295 en *unsigned* ) y te acabará desbordando la variable, dejará de funcionar y no entenderás por qué, a mi me paso hace años y me volví loco hasta que lo entendí. Igualmente cuando millis() llega a 4,294,967,295 (el valor máximo de unsigned long) arduino se reinicia como si pulsaras el botón de reset y empieza de 0. Un saludo y buen vídeo.
Saludos, ¿como se podría hacer un intervalo en la programación de Arduino? Por ejemplo que un led prenda cada 2 horas cuando el sensor sea menor a la variable establecida pero que después de que el led encienda no vuelva a encender después de 2 horas.
Está muy bien! Un problema que surge es que estar calculando variables de 32bits en cada ciclo relentiza el loop y si buscas mucha precisión puede llegar a ser un problema
Muchas gracias por la explicacion ! fue muy apropiado para un proyecto en el cual necesito activar un bucle a partir de la lectura de un sensor. adaptado al proyecto funciono a la perfeccion! GRACIAS nuevamente.
Gracias por esta gran explicación y ejemplo. Justo estoy desarrollando una práctica del control de un motor a pasos "sin usar delay" en la materia "Dispositivos digitales programables" y este video me ayudó a entender cómo funciona el TIMER Saludos!!!
Ante todo gracias por compartir tus conocimientos. He observado que los retardos son un gran problema en estos microcontroladores. Podrías explicar cómo hacer una función con 'millis()' donde poder llamarla cuando nos haga falta y pasarle como parámetro el tiempo que nos haga falta? Si nos hace falta más funciones, se podría crear una 'clase temporizador' e instanciar objetos para cada temporizador que utilicemos. Gracias por tu atención. Saludos
Super bien explicado, eres un genio, muchas gracias, ahora si quedo claro
3 роки тому+4
14:15 Fijaros que hay una pausa de casi 2 segundos desde que se pulsa el botón de encendido (14:16) hasta que enciende (14:18). Eso es debido a que la lógica de cambio de estado está funcionando en todo momento, por lo que ha coincidido que restaban esos 2 segundos del periodo de 5 que acabábamos de poner. Es mucho mejor meter la lógica de cambio de estado dentro de la condición de bucle_activado, y así el LED lucirá inmediatamente al principio de cada pulsación del botón de encendido.
@@brayhantrejo7115 En el momento 13:55 el autor cambia la activación del if(), desde 1000 ms a 5000 ms. Es decir: lo que se ejecuta DENTRO del if() sólo se ejecutará cada 5 segundos. Entonces, en el momento 14:15 se pulsa el botón que activa el bucle (asignamos true a bucle_activado), PERO no sabemos en qué momento del intervalo de los 5 segundos están los valores de actual y anterior. En el vídeo pasan 2 segundos hasta que el LED enciende. Eso quiere decir que cuando se pulsó el botón la diferencia actual-anterior era de 3000 ms (faltaban otros 2000 para entrar en el cuerpo del if(). Lo que yo propongo como solución es evitar tener un bloque if() que se ejecute cada 5 segundos. Lo que queremos es que luzca inmediatamente. Los cambios propuestos son: if (bucle_activado) { actual = millis(); if (actual-anterior > 5000) { anterior = actual; estado_led = !estado_led; digitalWrite(...); } }
Hola! Una duda, esto que explicas sería valido (y aconsejable) para regular la velocidad de un servo? Actualmente para mover un servo a la velocidad q quiero hago un bucle entre 0 y 90 (por ejemplo) pongo un delay enmedio, así se mueve de grado en grado y no a su maxima velocidad. Pero tengo un minirobot con 12 servos, usar el delay significa que me mueve un servo, luego otro, luego otro… etc. esto serviria para moverlos mas “lentamente” pero todos a la vez?? Saludos y gracias!
buen video bro, desde Cd de Mexico, y disculpando la ignorancia; en 12:25 en la condicional if se entiende que debe tener dos argumentos de comparacion, y solo escribes la variable bucle activado como unico argumento, saludos
De momento solo use un multimetro para comprobar los 5v de salida de los pines, y sus tiempos pero aun no le conecto los leds a dichos pines para tener una vision mas panoramica del asunto.saludos
@@PapasFritasConMerluzo Ok sigue el video y la explicacion para que entiendas como usar la libreria, yo lo hice y lo he montado en algunas aplicaciones y funciona muy bien.
Hola. Saludos desde Colombia. Excelente video, me gustaría saber donde le puedo escribir para que me ayude con un código para un robot. De ante mano muchas gracias
Tengo una duda: cómo usaria la función Millis si quiero hacer que un led encienda 500ms y esté apagado 1000ms. En los ejemplos del vídeo siempre tienen el mismo tiempo de apagado y encendido. Geniales los videos...!!!
3 роки тому+2
En el video hay un ejemplo de dos contadores, uno de 500 y otro de 2000 si recuerdo bien. Simplemente pones en HIGH el led en un contador y en LOW en el otro y así tienes tiempos diferentes.
Hola tengo una duda si no quiero que me parpadeen los leds un ejemplo tengo 3 leds(Rojo, Verde y Azul ) en un estado tengo tengo solo el rojo activado y cuando presiono el botón1 apaga el rojo y prende los otros 2 y que los mantenga por un tiempo prendido pero si presiono el boton 2 se apaguen y vuelva a prender el rojo, que clase de modificación tendría que hacer
Hola bien dia espero me leas meti un goto dentro y me marca un erro de corchetse el codigo son como 18 lineas y no ay error de corcheter pero no se por que me manda ese erro saludos
Cómo estás amigo me gustaría que enseñarás como conectar RS485 pero no con un Arduino si no con otro componente ya sea un variador un wattimetro o un plc y dar instrucciones gracias
Hola, una pregunta, yo quisiera mostrar unos datos en una lcd 20x4 que me devuelve un modulo, ejemplo que en la lcd me muestre el estado del modulo y el nivel de la batería, si hago la petición con el monitor serie funciona pero no sé como hacer que esos datos se vean en la lcd, como podria hacer? agradezco tu ayuda
3 роки тому
Este tutorial te debería ayudar: electronoobs.com/eng_arduino_tut51.php
Pero usted le había dado a la variable "anterior" un valor igual a millis también, no entiendo eso millis-millis es 0 porque actual igual a millis y anterior igual a millis no entiendo eso
¿Por qué usas una variable para invertir el estado del led antes de setearla en el pin?
3 роки тому+1
es más fácil invertir una variable que hacer dos lineas diferentes de digital HIGH y luego un digital LOW. Además esa variable uan vez la tengfas, la puedes usar en varios sitios dentro del código...
cupón válido para halloween 2021 con 25% descuento
CUPÓN: "halloween25"
Usa este cupón en la cesta de compra para una rebaja de 25% tanto para el Nivel 1 como el Nivel 2
Crear tu arduino
Compi un consejo, millis() es unsigned long, no tiene sentido ponerla en un unsigned int por que es mas pequeño int que long (65,535 vs 4,294,967,295 en *unsigned* ) y te acabará desbordando la variable, dejará de funcionar y no entenderás por qué, a mi me paso hace años y me volví loco hasta que lo entendí. Igualmente cuando millis() llega a 4,294,967,295 (el valor máximo de unsigned long) arduino se reinicia como si pulsaras el botón de reset y empieza de 0. Un saludo y buen vídeo.
Muchas gracias por la ayuda :))) Tiene sentido!
Saludos, ¿como se podría hacer un intervalo en la programación de Arduino?
Por ejemplo que un led prenda cada 2 horas cuando el sensor sea menor a la variable establecida pero que después de que el led encienda no vuelva a encender después de 2 horas.
Interesante 😮
Está muy bien! Un problema que surge es que estar calculando variables de 32bits en cada ciclo relentiza el loop y si buscas mucha precisión puede llegar a ser un problema
Muchas gracias por la explicacion ! fue muy apropiado para un proyecto en el cual necesito activar un bucle a partir de la lectura de un sensor. adaptado al proyecto funciono a la perfeccion! GRACIAS nuevamente.
Me parece que es el mejor video explicando esta función. Muchas gracias
Gracias por esta gran explicación y ejemplo.
Justo estoy desarrollando una práctica del control de un motor a pasos "sin usar delay" en la materia "Dispositivos digitales programables" y este video me ayudó a entender cómo funciona el TIMER
Saludos!!!
Muchas gracias de verdad ahora tengo más motivos para usar el arduino 👍👍
Ante todo gracias por compartir tus conocimientos.
He observado que los retardos son un gran problema en estos microcontroladores.
Podrías explicar cómo hacer una función con 'millis()' donde poder llamarla cuando nos haga falta y pasarle como parámetro el tiempo que nos haga falta?
Si nos hace falta más funciones, se podría crear una 'clase temporizador' e instanciar objetos para cada temporizador que utilicemos.
Gracias por tu atención.
Saludos
Super bien explicado, eres un genio, muchas gracias, ahora si quedo claro
14:15 Fijaros que hay una pausa de casi 2 segundos desde que se pulsa el botón de encendido (14:16) hasta que enciende (14:18). Eso es debido a que la lógica de cambio de estado está funcionando en todo momento, por lo que ha coincidido que restaban esos 2 segundos del periodo de 5 que acabábamos de poner. Es mucho mejor meter la lógica de cambio de estado dentro de la condición de bucle_activado, y así el LED lucirá inmediatamente al principio de cada pulsación del botón de encendido.
hola, podrias explicarlo mas detalladamente?
@@brayhantrejo7115 En el momento 13:55 el autor cambia la activación del if(), desde 1000 ms a 5000 ms. Es decir: lo que se ejecuta DENTRO del if() sólo se ejecutará cada 5 segundos. Entonces, en el momento 14:15 se pulsa el botón que activa el bucle (asignamos true a bucle_activado), PERO no sabemos en qué momento del intervalo de los 5 segundos están los valores de actual y anterior. En el vídeo pasan 2 segundos hasta que el LED enciende. Eso quiere decir que cuando se pulsó el botón la diferencia actual-anterior era de 3000 ms (faltaban otros 2000 para entrar en el cuerpo del if(). Lo que yo propongo como solución es evitar tener un bloque if() que se ejecute cada 5 segundos. Lo que queremos es que luzca inmediatamente. Los cambios propuestos son:
if (bucle_activado) { actual = millis(); if (actual-anterior > 5000) { anterior = actual; estado_led = !estado_led; digitalWrite(...); } }
Que magnífico y súper pero super interesante clase o vídeo. Gracias 🥇💯
Saludes desde Colombia, que gran ayuda es tu canal bro
Saludos desde México
estupendo video, me pregunto si no sería más idóneo el designar los botones con bool en vez de int, un saludo.
Hola! Una duda, esto que explicas sería valido (y aconsejable) para regular la velocidad de un servo? Actualmente para mover un servo a la velocidad q quiero hago un bucle entre 0 y 90 (por ejemplo) pongo un delay enmedio, así se mueve de grado en grado y no a su maxima velocidad. Pero tengo un minirobot con 12 servos, usar el delay significa que me mueve un servo, luego otro, luego otro… etc. esto serviria para moverlos mas “lentamente” pero todos a la vez??
Saludos y gracias!
Genial el vídeo 👍 sigue con más tutoriales compañero
buen video bro, desde Cd de Mexico, y disculpando la ignorancia; en 12:25 en la condicional if
se entiende que debe tener dos argumentos de comparacion, y solo escribes la variable bucle activado como unico argumento, saludos
Hay tambien una libreria que se anexa llamada protothread y funciona perfecto para funciones en paralelo
amigo tienes un link o como coloco esa libreria
@@PapasFritasConMerluzo ahi puedes ver el tutorial y la libreria, funciona muy bien ua-cam.com/video/c3Kl4pCJzeQ/v-deo.html
De momento solo use un multimetro para comprobar los 5v de salida de los pines, y sus tiempos pero aun no le conecto los leds a dichos pines para tener una vision mas panoramica del asunto.saludos
@@PapasFritasConMerluzo Ok sigue el video y la explicacion para que entiendas como usar la libreria, yo lo hice y lo he montado en algunas aplicaciones y funciona muy bien.
Perfeito, você é muito bom 👏🏾👏🏾👏🏾
Goood job 👉❤️
🙇♂ Maestro !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Hola. Saludos desde Colombia. Excelente video, me gustaría saber donde le puedo escribir para que me ayude con un código para un robot. De ante mano muchas gracias
Al pasar por el área de comentarios, hacer un gran favor y escribirle algo, ya que esto ayuda mucho al canal....
Tengo una duda: cómo usaria la función Millis si quiero hacer que un led encienda 500ms y esté apagado 1000ms. En los ejemplos del vídeo siempre tienen el mismo tiempo de apagado y encendido. Geniales los videos...!!!
En el video hay un ejemplo de dos contadores, uno de 500 y otro de 2000 si recuerdo bien. Simplemente pones en HIGH el led en un contador y en LOW en el otro y así tienes tiempos diferentes.
@ eso es lo que necesito hacer pero no lo comprendo aun xd :(, necesito que el LED1 este encendido 1 segundo y ese mismo LED1 apagado otros 2 segundos
Hola tengo una duda si no quiero que me parpadeen los leds un ejemplo tengo 3 leds(Rojo, Verde y Azul ) en un estado tengo tengo solo el rojo activado y cuando presiono el botón1 apaga el rojo y prende los otros 2 y que los mantenga por un tiempo prendido pero si presiono el boton 2 se apaguen y vuelva a prender el rojo, que clase de modificación tendría que hacer
Hola!, sabes cómo se puede enviar datos a una base de datos en servidor externo fuera del loop, utilizando arduino MKR 1010 o ESP8236?
Ese problema de delays, se resolvería fácil mente utilizando interrupciones en los dos pines de entrada
Hola bien dia espero me leas meti un goto dentro y me marca un erro de corchetse el codigo son como 18 lineas y no ay error de corcheter pero no se por que me manda ese erro saludos
Cómo estás amigo me gustaría que enseñarás como conectar RS485 pero no con un Arduino si no con otro componente ya sea un variador un wattimetro o un plc y dar instrucciones gracias
Jajaja me encanta el nombre del canal jaja
Saludos
Ejemplo de millis en digispark
Una pregunta no se saltu del 2 al 13
Hola, una pregunta, yo quisiera mostrar unos datos en una lcd 20x4 que me devuelve un modulo, ejemplo que en la lcd me muestre el estado del modulo y el nivel de la batería, si hago la petición con el monitor serie funciona pero no sé como hacer que esos datos se vean en la lcd, como podria hacer? agradezco tu ayuda
Este tutorial te debería ayudar: electronoobs.com/eng_arduino_tut51.php
TA bueno
muchas gracias me fui
interesante
buen dia amigo esta es la clase 13 no existe la clase 4,5,6,7,8,9,..... o va de la 3 a la 13 es que no encuentro las demas
Hola. Las clases están en el curso. Esta es una clase gratis que compartí en UA-cam tanbien. Saludos :)
Hola saludos, el curso 2 lo pondrá en udemy
Si, está en proceso pero no se cuadno lo tendreé acabado!
vay vya xD genial
😮❤
Pero usted le había dado a la variable "anterior" un valor igual a millis también, no entiendo eso millis-millis es 0 porque actual igual a millis y anterior igual a millis no entiendo eso
A pero a qui no existe el halloween
Y las demas clases
Me quede esperando 😢
De la clase 1 a la 13😂
¿Por qué usas una variable para invertir el estado del led antes de setearla en el pin?
es más fácil invertir una variable que hacer dos lineas diferentes de digital HIGH y luego un digital LOW. Además esa variable uan vez la tengfas, la puedes usar en varios sitios dentro del código...
😢 tengo miedo