Multitasking usando delay() - Arduino

  Рет қаралды 22,290

Cefuve

Cefuve

Күн бұрын

Llegó el momento que tanto esperaban ¿Cómo hacer múltiples tareas en arduino? pero en este primer video, les explicaré un método para hacerlo usando la función delay(), SI! esa función que nos bloquea la ejecución del código, la usaremos a nuestro favor.
El código final lo encuentras en el siguiente link:
github.com/cef...
#########
¿Dónde encontrarme en internet?
Webpage: www.cefuve.com
KZbin: / cefuve
Instagram: / cefuve_electronics
Facebook: / cefuve.electronics
Donaciones:
www.paypal.com...
#########
Thank for music to Joakim Karud, you can find him on:
- Spotify: open.spotify.c...
- iTunes: / joakim-karud
- Bandcamp: joakimkarud.ba...
- Soundcloud: / joakimkarud

Пікірлер: 164
@jpsupervideos
@jpsupervideos Жыл бұрын
(Jose Palacio)Por primera vez entro a tu pagina ...... me sorprendio y me gusto bastante. Eres un REAL profesor , que tiene en cuenta que la persona que quiere aprender requiere esplicacion clara. Y sabes colocarte en la posicion de el estudiante y anticiparse a sus dudas. Gracias "teacher"...no pares de enseñar.....felicidades
@cefuve
@cefuve Жыл бұрын
Muchas gracias Jose, saludos!
@gilbertovidal3647
@gilbertovidal3647 3 жыл бұрын
Hola Cefuve, intersante la tecnica, y recreativo, no obstante aclaro, comentas que ESTA ES LA BASE DE LA MULTITAREA, lo cual no es asi. Aclaro para que otros entiendan mejor, que la multitarea es la ejecucion de diversos procesos en PARALELO, donde pueden compartir registros de memoria. Para esto se usan las Hilaturas los Threads. Cada hilo es independiente y ejecu un proceso independiente SIMULTANEAMENTE a otro hilo. Saludos excelente dia.
@cefuve
@cefuve 3 жыл бұрын
Gracias por tu aclaración Gilberto. Como bien dices, en los procesadores modernos con múltiples núcleos, es posible tener un multitasking real (siempre y cuando los recursos externos a la CPU sean suficientes). Quizás debí haber especificado que hablaba pensando en los arduinos más básicos, con microcontroladores de 1 núcleo, creí que se entendería con el contexto del video. Que tengas un buen día, saludos!
@alfaalfa1530
@alfaalfa1530 2 жыл бұрын
excente amigo justo cuando lo necesitaba tengo una tarjeta de cotrol que hice, para abrir y cerrar un porton todo funciona bien pero tenia problemas si necesitaba poner un tiempo asi me quedo perfecto muchas gracias
@cefuve
@cefuve 2 жыл бұрын
Excelente! Saludos.
@jhonlucero3122
@jhonlucero3122 3 жыл бұрын
Eres dios!!!!!! Te quieroo
@carlosenergy
@carlosenergy 6 ай бұрын
Maravillosa explicacion, mil gracias por compartir el conocimiento.
@cefuve
@cefuve 6 ай бұрын
Con mucho gusto
@OlafAlbrecht
@OlafAlbrecht 2 жыл бұрын
Muy Bueno este tema me ha resultado muy util olaf de villa generla belgrano cordoba argentina
@kevinvq968
@kevinvq968 2 жыл бұрын
acabo de hacer el progra inicial de un proyecto de balanza dinamica con esto, genial me sirvio de maravilla, ni el millis hahaha
@cefuve
@cefuve 2 жыл бұрын
Buenísimo! a veces no hay que complicarse tanto, con cosas sencillas basta 👌
@raulangelmerigo3476
@raulangelmerigo3476 3 жыл бұрын
hHola maestro muy buenas noches, desde San Nicolás, Argentina te saludo!! es extremadamente didáctico tu sistema de enseñanza, MUY bueno!! llevo varios meses incursionando en esto y he visto de tooodooo jaja!! estoy haciendo un trabajo para introducir Arduino a la empresa para la cual trabajo, si bien mi hijo me pone en alerta debido a la fragilidad de los componentes y el ambiente agresivo donde lo pretendo instalar sigo adelante. Tengo una máquina a la que quiero controlar varios puntos de temperatura y presentarlos, mediante instrumentos, a cada uno de ellos , pero TAMBIÉN marcaré con led de 3 colores, distintos rangos, esto es, =21 y =25 pero < 28 ese mismo led amarillo debe comenzar a parpadear y a su vez sonar buzer ( contador1 para ambos), luego si excede >=28º debe encender led rojo y actuar otro tipo de alarma también intermitente. hasta aquí.. todo bien!! pregunta: debo generar para cada punto de medición otros dos contadores o hay alguna técnica .. truco que se pueda hacer?
@cefuve
@cefuve 3 жыл бұрын
Hola Raul, muchas gracias por tu comentario. Respecto a tu duda, podría decirte que hay un sin fin de formas de programarlo. Según lo que tu me dices, sería: - Un contador para cada led intermitente y un if común, para la luz verde. Por otro lado, si ambos led (amarillo y rojo) parpadean al mismo tiempo, podría usar un contador para los dos, y a parte una variable auxiliar para cada led, que habilite o deshabilite el parpadeo, algo como: bool en_Yellow = false; bool en_Red = false; if(count >= 100){ if(en_Yellow == true){ //parpadear led amarillo } if(en_Red == true){ //parpadear led rojo } } Espero se haya entendido y sea de utilidad para ti. Saludos!
@raulangelmerigo3476
@raulangelmerigo3476 3 жыл бұрын
@@cefuve hola muy buenas noches, q interesante se ha convertido al ver q me hayas respondido en forma inmediata!!! así da gusto estudiar!!! al ser varios puntos diferentes de toma de temperatura y a cada punto se lo condiciona en 3 niveles lo q creo es q debería tener tantos contadores como puntos de muestreo para poder considerarlos (y actúen) independientes. puedo apagar el amarillo al pasar al último nivel de riesgo (rojo) y asì utilizar 1 sólo contador para cada punto. ahora, mi duda està en la puesta a CERO del contador, si la falla se da en un determinado momento en varios puntos a la vez el contador global se mantiene separado de cada contador utilizado en cada tramo del programa dado como Temp1, Temp2, Temp3, Temp4 ? seguirè estudiando para ver alguna diferencia y mañana posteo nuevamente. y busco la forma de pegar una parte del programa para que sea corregido en linea si lo apruebas!!
@cefuve
@cefuve 3 жыл бұрын
Hola Raúl, siempre intento ir respondiendo de inmediato, para que no se me junten los comentarios :) Sería ideal ver el código que tienes para ver más o menos las intenciones, aunque con esta última explicación creo que ya entendí mejor de que se trata... Puedes publicar tu código en mi página paste.cefuve.com y compartir el link resultante para revisar tu código. Saludos!
@fmazariegosgt
@fmazariegosgt Жыл бұрын
Estoy muy agradecido por tan buenas clases, he resuelto un problema con mi programa, gracias a esta clase magistral. Soy novato en Arduino, pero he aprendido mucho con estos videos de usted, querido amigo.
@cefuve
@cefuve Жыл бұрын
Gracias por tu comentario Luis, saludos!
@cesarleon3856
@cesarleon3856 3 жыл бұрын
Genial!! Muy bien explicado. Pensé que iba a ser una chapa pero se me pasó volando. Muy ameno, gracias
@jorgeluiss4096
@jorgeluiss4096 2 жыл бұрын
Muuuuy Bueeeeno! Excelente idea lo del contador y achicar el tiempo del delay! Nunca lo había visto! Es una idea tan simple como genial! Me gusta mucho tu forma de explicar . Estoy viendo todos tus videos, y refrescando cosas de técnicas digitales que vi en el colegio (mapas de Karnaugh) en 1989. Te mando un abrazo gigante desde Buenos Aires. LIKE y SUSCRIPCIÓN! PD: me gustó el semáforo con compuertas....ya había olvidado el poder del álgebra de Boole. Es genial para comprender lo que vino después.
@cefuve
@cefuve 2 жыл бұрын
Muchas gracias Jorge, es un mundo increíble y apasionante, gracias por ver mis videos. Saludos!
@sirtordo
@sirtordo 10 ай бұрын
excelente, muy claro.
@tamayoguillermo
@tamayoguillermo 3 жыл бұрын
Empecé a ver un par de tus videos, son muy buenos, muy prácticos para los que estamos comenzando, gracias. Un abrazo, desde Cali, Colombia, eres excelente docente. Feliz día Guillermo Tamayo Vargas
@cefuve
@cefuve 3 жыл бұрын
Muchas gracias Guillermo, saludos!
@eduardosanchez4732
@eduardosanchez4732 3 жыл бұрын
Muchas gracias por dedicar tu tiempo para la educación y temas geniales como este.
@cefuve
@cefuve 3 жыл бұрын
Gracias por tu comentario Eduardo, Saludos!
@fabianrojas5061
@fabianrojas5061 2 жыл бұрын
Muchas gracias por tus videos me ayudan mucho
@robertodominguez9554
@robertodominguez9554 3 жыл бұрын
Eres lo máximo explicando profe, saludos
@cefuve
@cefuve 3 жыл бұрын
Gracias Roberto, saludos!
@ricardomonsalvegaitan4650
@ricardomonsalvegaitan4650 3 жыл бұрын
Excelente esplicacion, muy clara. Gracias máster. Saludos desde Colombia.
@mariobodanof6730
@mariobodanof6730 2 жыл бұрын
Excelente!💪...agradecido por los tutoriales que desarrollas...sirven bastante para los que estamos iniciando en Arduino.👌
@fernandorodelo8480
@fernandorodelo8480 7 ай бұрын
Muy bien amigo!👍
@Tooni98_
@Tooni98_ 3 жыл бұрын
No tenía ni idea. Espectacular 😍😍😍😍😍😍
@tarikazizi8597
@tarikazizi8597 2 жыл бұрын
Gracias...explication de profesionales....creo que eres muy qualificadio a hacer inventions.
@GiuseppeDeLilla
@GiuseppeDeLilla 11 ай бұрын
Interesante, genial y sin utilizar el millis Felicitaciones. No se me habia ocurrido
@chavarj8
@chavarj8 Жыл бұрын
Bien explicado. Buen truco. También se podría usar interrupciones por hardware, interrupciones por tiempo y millis. Gracias
@cefuve
@cefuve Жыл бұрын
Así es Julian, gracias por comentarlo. Tengo un video haciéndolo con millis() y me faltaría el video haciéndolo con interrupciones. Saludos!
@robertocasenaves
@robertocasenaves 8 ай бұрын
Muchas gracias por tu tiempo y forma de enseñar. Un abrazo
@Juan-ym6lu
@Juan-ym6lu 2 жыл бұрын
Me voy a volver majara,jajaja,saludos desde España
@cefuve
@cefuve 2 жыл бұрын
Esa es la idea jaja
@siku3350
@siku3350 3 жыл бұрын
Excelente tuto y explicación, claro y conciso. Sigo, poco a poco, ampliando conocimientos en este estupendo canal. Muchas gracias y un saludo!!
@cefuve
@cefuve 3 жыл бұрын
Genial, un gran saludo!
@jorgegomez6814
@jorgegomez6814 3 жыл бұрын
Hola Cesar tengo ya elaborados algunos proyectos en arduino y he usado millis para tareas simultaneas pero, esta idea es genial y mucho mas sencilla creo que voy a ponerla en uso muy pronto gracias por tu tiempo .
@cefuve
@cefuve 3 жыл бұрын
Genial Jorge, todo va a depender de la complejidad del proyecto, a veces no es necesario calentarse tanto la cabeza y con código super sencillo se pueden llevar a cabo los proyectos. Cuéntanos cómo te va con esta técnica, saludos!
@retrieval-oi6kj
@retrieval-oi6kj Жыл бұрын
eres un mago, genial 😄
@cefuve
@cefuve Жыл бұрын
Muchas gracias! saludos.
@luisfernandoalvarez5500
@luisfernandoalvarez5500 2 жыл бұрын
A mí me funciona excelente. Uso el MPC2515.
@cefuve
@cefuve 2 жыл бұрын
Gracias por la acotación, podrías decirnos para que lo usas? o si lo has usado en algún proyecto?
@AlexisGonzalez-rd3gu
@AlexisGonzalez-rd3gu 3 жыл бұрын
Muchas gracias por sus vídeos, son los mejores que he visto y muy bien explicados. Debería tomar en cuenta publicar más seguido y para hacer más grande su canal. Saludos.
@cefuve
@cefuve 3 жыл бұрын
Gracias Alex, el tiempo, el bendito tiempo... Saludos!
@luisfernandoalvarez5500
@luisfernandoalvarez5500 2 жыл бұрын
Te capté y aprendí el detalle. Mil gracias
@hermesgarcia789
@hermesgarcia789 2 жыл бұрын
Excelente!!!!
@edwardtro1
@edwardtro1 2 жыл бұрын
De vuelta por aquí y como siempre sus clases son magistrales gracias.
@cefuve
@cefuve 2 жыл бұрын
Gracias Ed, saludos.
@carlosliriano435
@carlosliriano435 3 жыл бұрын
Muy buen video, y la explicación a un nivel superior, mil gracias por compartir tantos conocimientos con los demás , saludos desde Republica. Dominicana.
@cefuve
@cefuve 3 жыл бұрын
Gracias por comentar Carlos, saludos!
@venturajaramillov.9183
@venturajaramillov.9183 3 жыл бұрын
copie el código y tenia varios errores. Y fue magnifico porque al resolverlos fue de beneficio la experiencia Gracias por tu dedicación
@cefuve
@cefuve 3 жыл бұрын
Enhorabuena! saludos.
@guillermoestebantorresrenn3173
@guillermoestebantorresrenn3173 3 жыл бұрын
Maravilloso!!!!!!!!!!!!!! muchas gracias por tu dedicación y este fabuloso truco!
@cefuve
@cefuve 3 жыл бұрын
No hay de que Guillermo, gracias por comentar. Saludos!
@carlosangellotti5710
@carlosangellotti5710 3 жыл бұрын
Excelente, muy muy bueno !!!
@hellsingalucard4637
@hellsingalucard4637 Жыл бұрын
gracias bro, muy bueno
@diegohuaman5579
@diegohuaman5579 3 жыл бұрын
Muy buena explicación asi cualquiera entiende !! Sigue subiendo vídeos de ese tipo!
@thepower5134
@thepower5134 2 жыл бұрын
la esta negando compa // !!
@pablomontanari5999
@pablomontanari5999 3 жыл бұрын
Felicitaciones. Muy ameno y facil de comprender. Gracias por compartir su conocimiento.
@gerleydavid8910
@gerleydavid8910 3 жыл бұрын
ufffff un nuevo seguidor , por que siempre tengo ese problema que el delay no me deja controlar el resto dle codigo, excelente logica , espero poder implementar ese multitask con delay en algo mas grande
@arduindustial2838
@arduindustial2838 3 жыл бұрын
Excelente video cesar!!!! aprendí más de la lógica de programación , realmente es muy gratificante tenerte como profesor !!!!, las alternativas a millis, están buenas , abrazo grande 😊 y esperamos el de millis !!
@Valhalla_Code
@Valhalla_Code 3 жыл бұрын
No era lo que me esperaba pero me ayudo a mejorar la lectura del bendito botón en mi código. Muchas gracias.
@cefuve
@cefuve 3 жыл бұрын
No hay de que ¿Qué esperabas? Saludos!
@Valhalla_Code
@Valhalla_Code 3 жыл бұрын
@@cefuve algo así como sustituir un delay de 5 min. y que me permita salir de ese delay en cualquier momento. Aunque yo aplique un contador y un delay de 1 seg por vuelta pero su idea es mejor.
@cefuve
@cefuve 3 жыл бұрын
Algo así como un delay que no bloquee pero cumpla su función... No suena tan descabellado (como yo), le voy a dar unas vueltas. Gracias por responder, saludos!
@rafaelpereyra2110
@rafaelpereyra2110 2 жыл бұрын
muy lindas tus explicaciones, aprendo mucho
@fgelectrico
@fgelectrico 3 жыл бұрын
Perfecto me abrió un panorama interesante Gracias
@javiguitarracerezo3566
@javiguitarracerezo3566 3 жыл бұрын
Una explicación magistral !!! Muchas gracias.
@batpin7641
@batpin7641 3 жыл бұрын
Muchas gracias César, como siempre muy bien explicado.
@javiergguinarte
@javiergguinarte 3 жыл бұрын
Gracias por enseñar tan clarito.
@aaronzarate8108
@aaronzarate8108 3 жыл бұрын
En serio deberias crear cursos para vender, tus enseñanzas son super faciles de entender, primer tutorial de muktitasking que logro entender jajajaja
@cefuve
@cefuve 3 жыл бұрын
Genial!! gracias por comentarlo, saludos.
@albertogallego1711
@albertogallego1711 3 жыл бұрын
Cesar muchas gracias por tus tutoriales amigo nesecito crear el codigo para multi relé e buscado por varias paginas y no me da siempre me sale en error me podrias ayudar con eso estoy apenas aprendiendo con tus tutoriales pero apenas voy con la lecion 7.2 Muchas gracias
@cefuve
@cefuve 3 жыл бұрын
Hola @@albertogallego1711, como te puedo ayudar?
@renejorgealonso4681
@renejorgealonso4681 3 жыл бұрын
Excelente explicación como siempre, podrias realizar un ejemplo de como usar una pantalla TFT ST7789 PARA ESCRIBIR UN MENSAJE Y DARLE OTRA APLICACION Muchas gracias.
@cefuve
@cefuve 3 жыл бұрын
Hola Rene, lo agregaré a la "lista de deseos". Saludos!
@DavidFlores-uu6dy
@DavidFlores-uu6dy 3 жыл бұрын
Excente
@prudenciopinzonl8042
@prudenciopinzonl8042 3 жыл бұрын
Gracias por compartir su conocimiento.
@salvadorhanccorivera6254
@salvadorhanccorivera6254 3 жыл бұрын
GRACIAS!!!!!!!!
@aramirezmx
@aramirezmx 3 жыл бұрын
Fabulosa idea! Muchas gracias.
@rojoseluis3100
@rojoseluis3100 2 жыл бұрын
Excelente trabajo...se agradece...!!!!
@joseccorihuamantica5930
@joseccorihuamantica5930 3 жыл бұрын
Bien ms eres un capo gracias por las enseñanzas
@ayurrln
@ayurrln 3 жыл бұрын
gracias por la explicacion, abrazo
@jmch1369
@jmch1369 2 жыл бұрын
Gracias ,,,
@alvaroggarcia
@alvaroggarcia 3 жыл бұрын
saludos profe!! GRACIAS!
@cefuve
@cefuve 3 жыл бұрын
Saludos Alvaro!
@ruizvial
@ruizvial 2 ай бұрын
buena, estimado profesor no se dice reciclar codigo, sino reutilizar codigo.
@leoharvey4112
@leoharvey4112 3 жыл бұрын
Muy bien explicado, pero tengo una pregunta...Cual es el maxmo valor con la que puedo usar delay(?)....?
@cefuve
@cefuve 3 жыл бұрын
Hola Leo, va a depender mucho de la aplicación, pero si tuviera que dar un número, diría que 100 ms podría ser un máximo, para aplicaciones muy simples... Saludos!
@GeraMF
@GeraMF 3 жыл бұрын
por máquinas de estados, y transición de estados parecido al diagrama Grafcet
2 жыл бұрын
👋👋
@reimundolopez1198
@reimundolopez1198 2 жыл бұрын
La variable, "estado led" que está leyendo con "digital read", está leyendo el estado del pin 2? o el estado del pin A5? Por qué los 2 leds utilizan la misma variable?
@cefuve
@cefuve 2 жыл бұрын
Si te fijas, en cada count le pongo int estadoLED, esto hace que la variable se cree (resetee) cada vez que entro a los if. No habría ningún problema si quieres poner estadoLED como variable global, porque finalmente para lo único que necesito esta variable es para saber si el led está encendido o apagado, e inmediatamente le reasigno el valor contrario. Saludos!
@todopic
@todopic 2 жыл бұрын
Excelente video amigo, felicitaciones!!! Ahora una pregunta, existe alguna forma para poder ver cuando una esta escribiendo una instruccion la sintaxis de esta? , es decir, si escribo por ejemplo pin me aparezca todas la instrucciones que comiencen con pin? Gracias Mi version del arduino es la 1.8.19, corriendo en win 7.
@cefuve
@cefuve 2 жыл бұрын
Hola, en programación esa función se llama intellisense, en las versiones 1.x de Arduino no lo he visto. Creo que en las versiones 2.x si incorporan esta función que se puede habilitar o deshabilitar desde las preferencias (Quick Suggestion). En visual studio code desconozco si la tendrá.
@YouAreHereX
@YouAreHereX 3 жыл бұрын
Muchas gracias por su video. Yo he usado protothread en Arduino para hacer las “multitarea” y, me resulta mucho más atractiva salvo que no le entiendo del todo a ese tema. Me pudieras ayudar con algunos ejemplos en ese tema del protothread? Te agradezco de antemano. Saludos cordiales
@cefuve
@cefuve 3 жыл бұрын
Hola Gustavo, primero gracias por comentar. No conocía esa librería, le estuve "echando un ojo" y no es tan sencilla, ya que está hecha puramente en lenguaje C y usa una programación poco común... Se me hace que debe ser muy eficiente y ordenada. Aquí hay algunos ejemplos: roboticsbackend.com/arduino-protothreads-tutorial/ Se me hacen muy similares a la técnica que mostré en este video... Nuevamente gracias por comentar, saludos!
@jonathansoriano4962
@jonathansoriano4962 3 жыл бұрын
Lo máximo tus videos, esto me ayudó mucho, unas consultas, como seria si cada. Vez que presiono el pulsador me aumente en 1 seg. El tiempo de oscilaciones del led? En otro video vi también la salida binaria, también podría ver el tiempo en el que está parpadeando en binario?. Buen aporte👍
@cefuve
@cefuve 3 жыл бұрын
Hola Jonathan, para ir aumentando de a 1 segundo tendrías que hacer una variable extra que almacene la temporización, ejemplo: int midelay = 100; if(lectura == 0){ midelay = midelay + 100; } if(count == midelay){ //parpadear el led } Lo del binario no entendí a que te refieres. Saludos!
@jonathansoriano4962
@jonathansoriano4962 3 жыл бұрын
@@cefuve voy a probarlo y te cuento. Gracias por la respuesta, lo del binario mediante un decodificador era para mostrar en un display el tiempo que se le esta dando al temporizador.
@cefuve
@cefuve 3 жыл бұрын
Ah, claro, con un 7447 puedes mostrar el tiempo, en este caso sería midelay/100 para que te lo muestre en segundos... Saludos!
@benjaminparedesr20
@benjaminparedesr20 3 жыл бұрын
Filete el vídeo. Yo estoy con un proyecto de barreras de acceso para vehículos y precisamente tengo un problema con la.programacion, como podría contactarte para una ayudita
@cefuve
@cefuve 3 жыл бұрын
Hola Benjamín, en mi web están todas las formas de contacto que tengo... www.cefuve.com Saludos!
@MegaY0p
@MegaY0p 3 жыл бұрын
hola... la verdad no me gusta programar porque se tiene que saber muchos temas para crear un programa con cierta complejidad... no tengo nada que criticar de tus videos porque enseñas excelente, quería preguntarte de algún libro que hable de este tema... no con lenguaje c sino con Arduino que es lo que voy a utilizar... no quiero proyectos... quiero aprender bien todas las funciones... Me planteaba un programa donde al inicio del "juego" el usuario defina una cantidad de variables (habiendo un máximo y mínimo) por medio de un botón y de allí empiece una cuenta regresiva, el usuario debe decidir entre 1 variable... en ese momento Arduino estaría variando la verdadera entre el numero de variables elegidas al principio... el programa termina cuando el usuario se decide o la cuenta regresiva haya terminado. Quiero hacerlo como proyecto de fin de año... no sabría decir que utilidad le daría, pero para mi entender creo que de verdad es un reto
@cefuve
@cefuve 3 жыл бұрын
Hola Diego, según lo que me dices, más que aprenderse las funciones o como funciona arduino, necesitas aprender la lógica de programación (que es lo que intento enseñar en este curso). Lo ideal es ver muchos programas, como están hechos y que funciones cumplen, no podría nombrarte un libro, sólo practica, practica y practica. Saludos!
@pepopepez105
@pepopepez105 3 жыл бұрын
necesito un video con tu claridad sobre el control PID
@cefuve
@cefuve 3 жыл бұрын
Hola pepo, lo estudiaré para ver que resulta... Saludos!
@pepopepez105
@pepopepez105 3 жыл бұрын
@@cefuve a ver si asi lo entiendo un poco xD
@cefuve
@cefuve 3 жыл бұрын
X2
@pepopepez105
@pepopepez105 3 жыл бұрын
@@cefuve yo soy de estirar mas el brazo que la manga, acabo de enterarme que el LQR parece que es mejor
@cefuve
@cefuve 3 жыл бұрын
Es que finalmente, la automatización, como materia, se preocupa principalmente por la eficiencia del proceso (no solo controlarlo) y ahí es donde meten un montón de teoría matemática orientada a la reducción del error... Gracias por contarme de ese método, lo voy a estudiar también. Saludos!
@AFSMG
@AFSMG 2 жыл бұрын
Hola Cesar, aplicándome viendo todos tus videos . Esta es una solución que esta muy bien y es muy clara. Pero quizás podrías hacerlo con interrupciones. Que creo es parecido a hacerlo con milis. Pero en general a mi me gusta toda la parte del programa que requiera de tiempo, hacerlo dentro de una interrupción de un timer. Ahí hago las lecturas de señales externas y las dejo en variables que luego son leídas en el loop. Solo que en esas variables, ya están filtradas . Lo que tu haces aquí con los CONT, pues de la misma manera se hace dentro de la interrupción y con eso controlas el tiempo que necesitas para cada cosa. Por ejemplo programas un interrupción cada 10 milisegundos y un contador controla el tiempo de encendido apagado de un led o la lectura de un interruptor. Igual a como lo haces solo que fuera del loop. Una pregunta: como puedo hacer una tabla con funciones y luego a través de la tabla ejecutar estas funciones? Muchas gracias. Un saludo
@cefuve
@cefuve 2 жыл бұрын
Así es Toni, con interrupciones se aliviana la carga de pensar mucho la lógica de programación, todavía no llego hasta ahí, pero sin duda será parte de un video... Respecto a las tablas de funciones, no se a que te refieres específicamente, me podrías dar más contexto? Saludos!
@AFSMG
@AFSMG 2 жыл бұрын
@@cefuve por email te lo comento
@ernestopelayo1215
@ernestopelayo1215 3 жыл бұрын
Podría Funcionar para hacer unas Discrecionales/Intermitentes para auto??
@cefuve
@cefuve 3 жыл бұрын
Para lo que sea, es cosa de usar la imaginación. Saludos!
@profejavi9854
@profejavi9854 3 жыл бұрын
como puedo seguir recibiendo la lectura de un sensor ultrasónico después de presionar un botón.
@cefuve
@cefuve 3 жыл бұрын
Hola, va a depender del código, pero no deberías usar delay grandes. También podrías averiguar sobre las interrupciones, y en ellas leer el sensor. Saludos!
@samueltorres6903
@samueltorres6903 3 жыл бұрын
De esta manera el tiempo no es real, ya que se suman los "delay" al tiempo de ejecución de cada instrucción, que aunque son tiempo en micro segundos , en programas que deben tener una precisión de tiempo, esto puede generar retrasos o adelantos en tiempo que despues se notaran sin duda.
@cefuve
@cefuve 3 жыл бұрын
Así es Samuel, está técnica debe usarse solo si se puede prescindir de la precisión de tiempo, en caso contrario, ya no se podría aplicar. Gracias por tu comentario, saludos.
@isaaccarrillo5391
@isaaccarrillo5391 3 жыл бұрын
devolada llegue
@cefuve
@cefuve 3 жыл бұрын
Así ¿Al vuelo?
@AngelGarcia-lg9oi
@AngelGarcia-lg9oi 2 жыл бұрын
como puedo leer entradas analogicas en "simultaneo"? abra un videotutorial de eso
@cefuve
@cefuve 2 жыл бұрын
Hola, no entiendo a que te refieres... Pones un lectura bajo la otra. A no ser que mientras tanto quieras hacer otras funciones, es así?
@vangeziyorum9725
@vangeziyorum9725 2 жыл бұрын
I made an ultrasonic height and weight measuring device. I wrote the codes with Arduino and arduino UNO. Normally everything works fine. But sometimes after waiting for an hour or two, I take a measurement, the device is measuring, it shows the numbers on the screen, but it does not print the result to the thermal printer. The numbers stay on the screen, then the device is reset with whatchdog. This is starting to get annoying. can you help me with this
@cefuve
@cefuve 2 жыл бұрын
You can paste your code on my page paste.cefuve.com and post to me the url... Do you try it with the interrupt? mm because, if it shows the numbers on the screen but no print on printer, the problem isn't the button, is the printer o something between printer and arduino...
@vangeziyorum9725
@vangeziyorum9725 2 жыл бұрын
@@cefuve measureHeight(); measureWeight(); delay(1000); measureHeight(); measureWeight(); delay(1000); measureHeight(); measureWeight(); delay(1000); turnOffDisplays(); delay(500); displayHeight(); displayWeight(); delay(500); turnOffDisplays(); delay(500); displayHeight(); displayWeight(); delay(500); turnOffDisplays(); delay(500); displayHeight(); displayWeight(); previousTimeButton=millis(); do { currentTimeButton=millis(); if (currentTimeButton-previousTimeButton>=buttonInterval) { //5000ms passed printtimeout=true; break; } } while(digitalRead(printPin)==HIGH); //It's time to press the button if (printtimeout==false) { print(); } printtimeout=false; // wdt_reset(); }
@cefuve
@cefuve 2 жыл бұрын
@@vangeziyorum9725 cefuve.com/paste/paste.php?id=92
@luisfernandoalvarez5500
@luisfernandoalvarez5500 2 жыл бұрын
Ya manejas CAN BUS con ARDUINO?
@cefuve
@cefuve 2 жыл бұрын
Hola Luis, aún no trabajo con protocolos industriales. Saludos.
@fhisdi3762
@fhisdi3762 3 жыл бұрын
hola cefuve como estas ?. sabes quería consultarte algo y no se si quieres hacer un vídeo que el proyecto me parece interesante , me pidieron un código , para una válvula hall que indique que si el agua pasa por mas de un tiempo especifica active una salida ,o una alarma o relay , no se ni como empezar , es decir por poner un ejemplo ponte que en tu tanque de agua se bota a veces , entonces tu colocas en la tubería una válvula que te diga cuanta agua pasa y si pasa mas tiempo del programado o litros , suena una alarma hasta que tu vallas y le des a un botón y apagues , lo que no logro hacer es que el código reinicie , es decir si funciona bien en la primera llenada del tanque , la suma que lleva de litros no la borra si no que la suma a la otra llenada y entonces suena la alarma por que va sumando y nunca vuelve a cero si todo sale bien....
@cefuve
@cefuve 3 жыл бұрын
Hola, podrías pegar tu código en mi página paste.cefuve.com para revisarlo, me compartes el link que te da. Saludos!
@fhisdi3762
@fhisdi3762 3 жыл бұрын
@@cefuve ok cuando tenga un chance te mando lo que conseguí por internet por que el código para mi es algo muy estresante
@fhisdi3762
@fhisdi3762 3 жыл бұрын
@@cefuve hola cefuve te coloque el código y mi correo en la pagina que me dijiste espero te comuniques conmigo de verdad muchas gracias .
@cefuve
@cefuve 3 жыл бұрын
@@fhisdi3762 Hola, y cual es el link que te dio la página??
@cefuve
@cefuve 3 жыл бұрын
@@fhisdi3762 Aquí lo encontré... cefuve.com/paste/paste.php?id=12
@martinyanez5851
@martinyanez5851 2 жыл бұрын
hola buenas noches espero que se encuentre bien descansando , quisiera saber si usted me podría resolver esta duda que estado implementado en un proyecto , para contextualizarlo este proyecto se basa en lo siguiente, al soplar en un sensor de sonido KY-038 este me prendera un led (que antes estaba apagado y que prendimos con un !) y esto hará que active un ciclo for de muchos más leds generando un efecto bonito(el propósito del led es usarlo para prender el ciclo for y que cuando funcione uno el otro también) que durara indefinidamente hasta que yo vuelva a soplar en el sensor en consecuencia el led se apagara y el ciclo acabara , la duda esta que después de prenderse el led y el ciclo for con los demás leds yo soplo el sensor nuevamente para apagarlo pero no se apaga ni el led principal ni los demás que van con el for ,que me recomendaría hacer ? no queriendo hacer mucha molestia aquí subo el código que e estado usando int MIC = 2; // D0 de modulo a pin 2 int LED = 3; // anodo de LED a pin 3 int VALOR; // variable para almacenar valor de D0 int ESTADO; // variable para almacenar estado del LED int i; void setup(){ pinMode(MIC, INPUT); // pin 2 como entrada pinMode(LED, OUTPUT); // pin 3 como salida } void loop(){ VALOR = digitalRead(MIC); // obtiene valor de D0 if (VALOR == HIGH){ // si D0 tiene un valor alto ESTADO = digitalRead(LED); // almacena estado del led (encendido o apagado) digitalWrite(LED, !ESTADO); // escribe en LED el valor opuesto al que tenia // VALOR = !VALOR; aquí? while(!ESTADO){ // o mejor poner LED? //VALOR = !VALOR; aquí? for( i =11; i>=6; i--){ digitalWrite(i, HIGH); delay(200); } for( i =6; i
@cefuve
@cefuve 2 жыл бұрын
Hola Martín, por lo que veo entras al while con la variable ESTADO, pero dentro del mismo ya no vuelves a modificar la variable, solo modifica VALOR...
@martinyanez5851
@martinyanez5851 2 жыл бұрын
@@cefuve ahhh ya entonces voy corroborarlo modificando ESTADO , muchas gracias por ayudarme
@cefuve
@cefuve 2 жыл бұрын
Claro, o pones VALOR en la condición del while... Me avisas como te va.
@martinyanez5851
@martinyanez5851 2 жыл бұрын
@@cefuve Hola buenas noches espero que se encuentre bien quisiera informarle que estoy luchando linea a linea con este código y quisiera saber que acción nueva podría tomar ya que probé cambiando al final el valor del estado (prendia y no apagaba e incluso detectando la nueva señal del sensor)probé con nuevas variables tipo bool para ser más exactos en true o false pero no se si quedaron bien formuladas ya que caía en lo mismo y quisiera saber que estará errado obviamente respetando su tiempo y a sabienda que usted tampoco es un adivino o un mago, el código es este el "ultimo" int MIC = 2; int LED = 3; int VALOR; bool ESTADO; int i; void setup(){ pinMode(MIC, INPUT); pinMode(LED, OUTPUT); Serial.begin(9600); } void loop(){ VALOR = digitalRead(MIC); if( VALOR == HIGH){ ESTADO=digitalRead(LED); digitalWrite(LED,!ESTADO); while(!ESTADO){ for( i =11; i>=6; i--){ digitalWrite(i, HIGH); delay(200); } for( i =6; i
@cefuve
@cefuve 2 жыл бұрын
Según lo que entiendo, tendría que ser algo así: VALOR = digitalRead(MIC); if( VALOR == HIGH){ ESTADO = digitalRead(LED); digitalWrite(LED, !ESTADO); while(VALOR == HIGH){ //efecto de luces VALOR = digitalRead(MIC); if( VALOR == LOW ) VALOR = HIGH; if( VALOR == HIGH) VALOR = LOW; } } Preocúpate de calibrar bien el sensor para que solo entregué un HIGH cuando lo necesites...
@reimundolopez1198
@reimundolopez1198 2 жыл бұрын
Eso no se puede llamar multiplexado en vez de llamarlo multitarea?
@cefuve
@cefuve 2 жыл бұрын
El multiplexado distribuye varias salidas en una sola, por ende estaría un poco alejado de lo que se hace en el multitarea, pero una cosa es seguro, dentro de los microcontroladores hay multiplexores. Saludos!
@juanpaezimbernon5127
@juanpaezimbernon5127 Жыл бұрын
Hola, buenas tardes me gustaría que me ayudarás en una duda que tengo con el tema de delay y multitarea, soy nuevo y autodidacta en arduino así que no tengo muchos conocimientos, estoy haciendo un programa en el que dentro de el hay una función que es el temporizador de una salida, es decir cuando pulso el botón me pone una salida a uno y con un delay le doy un tiempo de retardo para que quede a 1 un tiempo, que pasa, que me gustaría que si le volviera a pulsar antes de que termine ese delay la temporización se pusiera otra vez desde el principio, pero no me deja hacer esa función, crees que la multitarea valdría para este caso, muchas gracias
@cefuve
@cefuve Жыл бұрын
Hola, tendrías que estampar el tiempo del instante en que presionas el botón en una variable. Algo como: if(botón == HIGH) time_stamp = millis(); if(millis >= time_stamp + 5000){ //acción después de 5 segundos } Asi, mientras presionas el botón, se actualizará el tiempo y no entrará al segundo if. Lo hará cuando sueltes el botón. Saludos
@juanpaezimbernon5127
@juanpaezimbernon5127 Жыл бұрын
@@cefuve muchas gracias, lo probaré y te iré diciendo, Saludos
@guillermoestebantorresrenn3173
@guillermoestebantorresrenn3173 3 жыл бұрын
Que hay de las interrupciones?
@cefuve
@cefuve 3 жыл бұрын
Son ideales, estoy partiendo por lo básico. Lamentablemente el arduino uno tiene pocas entradas con interrupción...
@guillermoestebantorresrenn3173
@guillermoestebantorresrenn3173 3 жыл бұрын
@@cefuve Esperaré con ansias esa explicación maestro. Abrazos
@Aprendeingles_gaby
@Aprendeingles_gaby 10 ай бұрын
Se ve borroso, mejorar solo la resolución del video.
@cefuve
@cefuve 10 ай бұрын
Hola, en que parte? Yo lo veo bien, está grabado en full HD... Quizás le tienes una resolución de reproducción más baja. Como la letra es pequeña, en resoluciones más bajas (360p) se ve borroso. Saludos!
@miguelrivera8618
@miguelrivera8618 2 жыл бұрын
Que asco de presentacion no se ven ni letras ni loss números. Yio te has lucido
Multitasking usando millis() + Práctica - Arduino
2:05:03
Cefuve
Рет қаралды 33 М.
#WeekendProjects MENU ENCODER con Arduino
1:20:42
Cefuve
Рет қаралды 32 М.
🍉😋 #shorts
00:24
Денис Кукояка
Рет қаралды 2,2 МЛН
My daughter is creative when it comes to eating food #funny #comedy #cute #baby#smart girl
00:17
Multitasking en Arduino - Manejando el tiempo
25:48
Rodri
Рет қаралды 33 М.
Using Logical Operators in Arduino
8:08
Circuit Crush
Рет қаралды 355
🆕 ¿Cómo hacer MULTITAREA en ARDUINO? ▶ EJECUTA múltiples TAREAS con la función millis()
18:57
David Portilla - Programación y Electrónica
Рет қаралды 19 М.
#WeekendProjects RELOJ DIGITAL con Arduino
58:26
Cefuve
Рет қаралды 15 М.
Curso Arduino Nivel 2 - Clase 13: Pausa sin usar "delay()"
19:28
ELECTRONOOBS en Español
Рет қаралды 25 М.
Toda la librería serial de arduino en un solo video
15:16
Opentronika
Рет қаралды 21 М.
#1 Encoder - Taller Módulos Arduino
1:19:46
Cefuve
Рет қаралды 13 М.
iPhone 16 Pro y 16 Pro Max - Review en español
25:52
Victor Abarca
Рет қаралды 297 М.
🍉😋 #shorts
00:24
Денис Кукояка
Рет қаралды 2,2 МЛН