(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 Жыл бұрын
Muchas gracias Jose, saludos!
@eduardozambrano8173 ай бұрын
Gracias desde Venezuela aprendi mucho de ti de años pasados gracias
@alfaalfa15302 жыл бұрын
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
@cefuve2 жыл бұрын
Excelente! Saludos.
@ProyectosOlaf2 жыл бұрын
Muy Bueno este tema me ha resultado muy util olaf de villa generla belgrano cordoba argentina
@carlosenergy10 ай бұрын
Maravillosa explicacion, mil gracias por compartir el conocimiento.
@cefuve10 ай бұрын
Con mucho gusto
@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 Жыл бұрын
Gracias por tu comentario Luis, saludos!
@Tooni98_3 жыл бұрын
No tenía ni idea. Espectacular 😍😍😍😍😍😍
@cesarleon38563 жыл бұрын
Genial!! Muy bien explicado. Pensé que iba a ser una chapa pero se me pasó volando. Muy ameno, gracias
@tarikazizi85972 жыл бұрын
Gracias...explication de profesionales....creo que eres muy qualificadio a hacer inventions.
@GiuseppeDeLilla Жыл бұрын
Interesante, genial y sin utilizar el millis Felicitaciones. No se me habia ocurrido
@jorgeluiss40963 жыл бұрын
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.
@cefuve3 жыл бұрын
Muchas gracias Jorge, es un mundo increíble y apasionante, gracias por ver mis videos. Saludos!
@eduardosanchez47323 жыл бұрын
Muchas gracias por dedicar tu tiempo para la educación y temas geniales como este.
@cefuve3 жыл бұрын
Gracias por tu comentario Eduardo, Saludos!
@kevinvq9683 жыл бұрын
acabo de hacer el progra inicial de un proyecto de balanza dinamica con esto, genial me sirvio de maravilla, ni el millis hahaha
@cefuve3 жыл бұрын
Buenísimo! a veces no hay que complicarse tanto, con cosas sencillas basta 👌
@jhonlucero31223 жыл бұрын
Eres dios!!!!!! Te quieroo
@tamayoguillermo3 жыл бұрын
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
@cefuve3 жыл бұрын
Muchas gracias Guillermo, saludos!
@luisfernandoalvarez55002 жыл бұрын
Te capté y aprendí el detalle. Mil gracias
@robertocasenaves Жыл бұрын
Muchas gracias por tu tiempo y forma de enseñar. Un abrazo
@carlosangellotti57103 жыл бұрын
Excelente, muy muy bueno !!!
@retrieval-oi6kj Жыл бұрын
eres un mago, genial 😄
@cefuve Жыл бұрын
Muchas gracias! saludos.
@sirtordo Жыл бұрын
excelente, muy claro.
@robertodominguez95543 жыл бұрын
Eres lo máximo explicando profe, saludos
@cefuve3 жыл бұрын
Gracias Roberto, saludos!
@venturajaramillov.91833 жыл бұрын
copie el código y tenia varios errores. Y fue magnifico porque al resolverlos fue de beneficio la experiencia Gracias por tu dedicación
@cefuve3 жыл бұрын
Enhorabuena! saludos.
@rojoseluis31003 жыл бұрын
Excelente trabajo...se agradece...!!!!
@ricardomonsalvegaitan46503 жыл бұрын
Excelente esplicacion, muy clara. Gracias máster. Saludos desde Colombia.
@gilbertovidal36473 жыл бұрын
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.
@cefuve3 жыл бұрын
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!
@fernandorodelo848011 ай бұрын
Muy bien amigo!👍
@raulangelmerigo34763 жыл бұрын
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?
@cefuve3 жыл бұрын
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!
@raulangelmerigo34763 жыл бұрын
@@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!!
@cefuve3 жыл бұрын
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!
@Valhalla_Code3 жыл бұрын
No era lo que me esperaba pero me ayudo a mejorar la lectura del bendito botón en mi código. Muchas gracias.
@cefuve3 жыл бұрын
No hay de que ¿Qué esperabas? Saludos!
@Valhalla_Code3 жыл бұрын
@@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.
@cefuve3 жыл бұрын
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!
@fabianrojas50612 жыл бұрын
Muchas gracias por tus videos me ayudan mucho
@jorgegomez68143 жыл бұрын
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 .
@cefuve3 жыл бұрын
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!
@hermesgarcia7893 жыл бұрын
Excelente!!!!
@guillermoestebantorresrenn31733 жыл бұрын
Maravilloso!!!!!!!!!!!!!! muchas gracias por tu dedicación y este fabuloso truco!
@cefuve3 жыл бұрын
No hay de que Guillermo, gracias por comentar. Saludos!
@gerleydavid89103 жыл бұрын
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
@mariobodanof67302 жыл бұрын
Excelente!💪...agradecido por los tutoriales que desarrollas...sirven bastante para los que estamos iniciando en Arduino.👌
@fgelectrico3 жыл бұрын
Perfecto me abrió un panorama interesante Gracias
@Juan-ym6lu2 жыл бұрын
Me voy a volver majara,jajaja,saludos desde España
@cefuve2 жыл бұрын
Esa es la idea jaja
@siku33503 жыл бұрын
Excelente tuto y explicación, claro y conciso. Sigo, poco a poco, ampliando conocimientos en este estupendo canal. Muchas gracias y un saludo!!
@cefuve3 жыл бұрын
Genial, un gran saludo!
@javiergguinarte3 жыл бұрын
Gracias por enseñar tan clarito.
@AlexisGonzalez-rd3gu3 жыл бұрын
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.
@cefuve3 жыл бұрын
Gracias Alex, el tiempo, el bendito tiempo... Saludos!
@chavarj8 Жыл бұрын
Bien explicado. Buen truco. También se podría usar interrupciones por hardware, interrupciones por tiempo y millis. Gracias
@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!
@hellsingalucard4637 Жыл бұрын
gracias bro, muy bueno
@rafaelpereyra21102 жыл бұрын
muy lindas tus explicaciones, aprendo mucho
@edwardtro12 жыл бұрын
De vuelta por aquí y como siempre sus clases son magistrales gracias.
@cefuve2 жыл бұрын
Gracias Ed, saludos.
@carlosliriano4353 жыл бұрын
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.
@cefuve3 жыл бұрын
Gracias por comentar Carlos, saludos!
@diegohuaman55793 жыл бұрын
Muy buena explicación asi cualquiera entiende !! Sigue subiendo vídeos de ese tipo!
@thepower51342 жыл бұрын
la esta negando compa // !!
@prudenciopinzonl80423 жыл бұрын
Gracias por compartir su conocimiento.
@eldiezone2 ай бұрын
Fantastica aplicacion
@ayurrln3 жыл бұрын
gracias por la explicacion, abrazo
@aramirezmx3 жыл бұрын
Fabulosa idea! Muchas gracias.
@joseccorihuamantica59303 жыл бұрын
Bien ms eres un capo gracias por las enseñanzas
@pablomontanari59993 жыл бұрын
Felicitaciones. Muy ameno y facil de comprender. Gracias por compartir su conocimiento.
@javiguitarracerezo35663 жыл бұрын
Una explicación magistral !!! Muchas gracias.
@batpin76413 жыл бұрын
Muchas gracias César, como siempre muy bien explicado.
@arduindustial28383 жыл бұрын
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 !!
@luisfernandoalvarez55002 жыл бұрын
A mí me funciona excelente. Uso el MPC2515.
@cefuve2 жыл бұрын
Gracias por la acotación, podrías decirnos para que lo usas? o si lo has usado en algún proyecto?
@salvadorhanccorivera62543 жыл бұрын
GRACIAS!!!!!!!!
@alvaroggarcia3 жыл бұрын
saludos profe!! GRACIAS!
@cefuve3 жыл бұрын
Saludos Alvaro!
@jmch13693 жыл бұрын
Gracias ,,,
@DavidFlores-uu6dy3 жыл бұрын
Excente
@renejorgealonso46813 жыл бұрын
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.
@cefuve3 жыл бұрын
Hola Rene, lo agregaré a la "lista de deseos". Saludos!
@aaronzarate81083 жыл бұрын
En serio deberias crear cursos para vender, tus enseñanzas son super faciles de entender, primer tutorial de muktitasking que logro entender jajajaja
@cefuve3 жыл бұрын
Genial!! gracias por comentarlo, saludos.
@albertogallego17113 жыл бұрын
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
@cefuve3 жыл бұрын
Hola @@albertogallego1711, como te puedo ayudar?
@WilsonRoa-h5u24 күн бұрын
Eeeeeexcelente!!!!! He aprovechado para ver todo el curso de Arduino que has grabado y me parece muy bien explicado y ejemplificado. A propósito, una pregunta: he visto que algunos códigos incluyen varias pestaña dentro del sketch. HAS EXPLICADO ALGO DE ESO EN TU CANAL? De ser así, agradecería que me indiques como se llama el vídeo o me copies el link. Un saludo cordial, desde R.D.
@cefuve24 күн бұрын
Muchas gracias por comentar Wilson. No tengo un video explicando eso, pero en resumen, puedes poner varios archivos .ino dentro de una carpeta, pero solo un sketch puedes usar el void loop y void setup, en los otros puedes declarar variables y hacer funciones personalizadas. Me avisas si te queda alguna duda. Saludos!
@WilsonRoa-h5u23 күн бұрын
Muchas gracias por la información.
2 жыл бұрын
👋👋
@todopic2 жыл бұрын
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.
@cefuve2 жыл бұрын
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á.
@leoharvey41123 жыл бұрын
Muy bien explicado, pero tengo una pregunta...Cual es el maxmo valor con la que puedo usar delay(?)....?
@cefuve3 жыл бұрын
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!
@ivajefanАй бұрын
Será posible que hagas una práctica con 6 led, sumulando la subida, parada, bjaada, parada. Con sus respectivos tiempos de espera en cada llamada y cada parada, con 6 botones
@GeraMF3 жыл бұрын
por máquinas de estados, y transición de estados parecido al diagrama Grafcet
@reimundolopez11983 жыл бұрын
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?
@cefuve3 жыл бұрын
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!
@jonathansoriano49623 жыл бұрын
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👍
@cefuve3 жыл бұрын
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!
@jonathansoriano49623 жыл бұрын
@@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.
@cefuve3 жыл бұрын
Ah, claro, con un 7447 puedes mostrar el tiempo, en este caso sería midelay/100 para que te lo muestre en segundos... Saludos!
@pepopepez1053 жыл бұрын
necesito un video con tu claridad sobre el control PID
@cefuve3 жыл бұрын
Hola pepo, lo estudiaré para ver que resulta... Saludos!
@pepopepez1053 жыл бұрын
@@cefuve a ver si asi lo entiendo un poco xD
@cefuve3 жыл бұрын
X2
@pepopepez1053 жыл бұрын
@@cefuve yo soy de estirar mas el brazo que la manga, acabo de enterarme que el LQR parece que es mejor
@cefuve3 жыл бұрын
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!
@YouAreHereX3 жыл бұрын
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
@cefuve3 жыл бұрын
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!
@fhisdi37623 жыл бұрын
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....
@cefuve3 жыл бұрын
Hola, podrías pegar tu código en mi página paste.cefuve.com para revisarlo, me compartes el link que te da. Saludos!
@fhisdi37623 жыл бұрын
@@cefuve ok cuando tenga un chance te mando lo que conseguí por internet por que el código para mi es algo muy estresante
@fhisdi37623 жыл бұрын
@@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 .
@cefuve3 жыл бұрын
@@fhisdi3762 Hola, y cual es el link que te dio la página??
@cefuve3 жыл бұрын
@@fhisdi3762 Aquí lo encontré... cefuve.com/paste/paste.php?id=12
@ernestopelayo12153 жыл бұрын
Podría Funcionar para hacer unas Discrecionales/Intermitentes para auto??
@cefuve3 жыл бұрын
Para lo que sea, es cosa de usar la imaginación. Saludos!
@AFSMG3 жыл бұрын
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
@cefuve3 жыл бұрын
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!
@AFSMG3 жыл бұрын
@@cefuve por email te lo comento
@benjaminparedesr203 жыл бұрын
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
@cefuve3 жыл бұрын
Hola Benjamín, en mi web están todas las formas de contacto que tengo... www.cefuve.com Saludos!
@juanpaezimbernon51272 жыл бұрын
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
@cefuve2 жыл бұрын
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
@juanpaezimbernon51272 жыл бұрын
@@cefuve muchas gracias, lo probaré y te iré diciendo, Saludos
@martinyanez58512 жыл бұрын
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
@cefuve2 жыл бұрын
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...
@martinyanez58512 жыл бұрын
@@cefuve ahhh ya entonces voy corroborarlo modificando ESTADO , muchas gracias por ayudarme
@cefuve2 жыл бұрын
Claro, o pones VALOR en la condición del while... Me avisas como te va.
@martinyanez58512 жыл бұрын
@@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
@cefuve2 жыл бұрын
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...
@AngelGarcia-lg9oi3 жыл бұрын
como puedo leer entradas analogicas en "simultaneo"? abra un videotutorial de eso
@cefuve3 жыл бұрын
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í?
@luisfernandoalvarez55002 жыл бұрын
Ya manejas CAN BUS con ARDUINO?
@cefuve2 жыл бұрын
Hola Luis, aún no trabajo con protocolos industriales. Saludos.
@profejavi98543 жыл бұрын
como puedo seguir recibiendo la lectura de un sensor ultrasónico después de presionar un botón.
@cefuve3 жыл бұрын
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!
@vangeziyorum97253 жыл бұрын
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
@cefuve3 жыл бұрын
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...
@vangeziyorum97253 жыл бұрын
@@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(); }
buena, estimado profesor no se dice reciclar codigo, sino reutilizar codigo.
@guillermoestebantorresrenn31733 жыл бұрын
Que hay de las interrupciones?
@cefuve3 жыл бұрын
Son ideales, estoy partiendo por lo básico. Lamentablemente el arduino uno tiene pocas entradas con interrupción...
@guillermoestebantorresrenn31733 жыл бұрын
@@cefuve Esperaré con ansias esa explicación maestro. Abrazos
@reimundolopez11983 жыл бұрын
Eso no se puede llamar multiplexado en vez de llamarlo multitarea?
@cefuve3 жыл бұрын
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!
@isaaccarrillo53913 жыл бұрын
devolada llegue
@cefuve3 жыл бұрын
Así ¿Al vuelo?
@MegaY0p3 жыл бұрын
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
@cefuve3 жыл бұрын
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!
@samueltorres69033 жыл бұрын
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.
@cefuve3 жыл бұрын
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.
@Aprendeingles_gaby Жыл бұрын
Se ve borroso, mejorar solo la resolución del video.
@cefuve Жыл бұрын
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!
@miguelrivera86182 жыл бұрын
Que asco de presentacion no se ven ni letras ni loss números. Yio te has lucido