No me canso de ver tus videos por lo bien que explicas, genial||| gracias por compartir conocimientos
@cefuve3 жыл бұрын
Genial, gracias por verlos, saludos!
@juangil41342 жыл бұрын
Excepcional video. La tecnica de ir cambiando los codigos en el ejercicio es genial, por que asi vas aprendiendo como mejorar la programacion.
@Spark_Zack_6912 жыл бұрын
Muuy cierto, asi los que vamos aprendiendo podemos "adelantarnos al video" y practicar nuestra intuición y logica, para luego comprobar si estábamos bien o cerca.
@Kiyopon._222 жыл бұрын
Wow, me ayudó mucho este video con el proyecto que tuve, no te entendía porque el contador me sumaba demás, pero ahora lo entiendo mucho mejor, gracias.
@FranciscoJGomez-CHSM Жыл бұрын
Esta muy bien, demuestra las soluciones a los problemas que se presentan, gran profesor!!!!!!!!!!!!!!!!!!!!!
@estebanmazariegos17783 жыл бұрын
Estudio un tecnico en electronica, y en los 2 años que llevo, no me lo habian explicado tan bien, ;)
@emirjaviertorresduarte40792 жыл бұрын
gracias por orientarme, con ciertos tropiezos pero esta funcionando bastante bien
@bdaseguramiento52124 жыл бұрын
Otra excelente clase, muchas gracias por su enseñanza, de verdad que estoy muy contento aprendiendo de usted profesor.. Es usted un gran educador.. Mil gracias
@cefuve4 жыл бұрын
Muchas gracias por tus comentarios Juan, me alegra mucho saber que mis videos son de utilidad, saludos!
@bdaseguramiento52124 жыл бұрын
@@cefuve si señor, de verdad que su manera de enseñar es super super.. mil gracias, estoy muy motivado y aprendiendo paso a paso
@albertogomeztobon29644 жыл бұрын
Que super clase profe, para los que empezamos, toca mucho cuidado, hay que practicar mucho. Mil gracias por enseñarnos tanto.
@cefuve4 жыл бұрын
Así es Alberto, mucha práctica, nada llega solo. Saludos y gracias por comentar!
@eb3bnj Жыл бұрын
Gracias. Voy a utilizarlo en un contador de tanteo deportivo, complicándolo bastante, pero ha sido muy clarificador. Gracias
@Eduardo-hu1ki3 жыл бұрын
Súper bien explicado, sin tanto rollo. Muchas gracias.
@treposillo4 жыл бұрын
Muy buena forma de explicar la programación para nosotros que estamos iniciando
@cefuve4 жыл бұрын
Gracias por la retroalimentacion, así se que lo estoy haciendo bien, Saludos.
@alejoramirez58464 жыл бұрын
Excelente los videos que produces, claro, preciso y por supuesto, la mejor explicación del comportamiento y uso de los pulsadores, para evitar este falso positivo originado por el mecanismo interno del pulsador es utilizar la instrucción delaymicrosecond y esto evita que el arduino se pare, esto es fatal cuando se esta recibiendo datos de sensores.
@cefuve4 жыл бұрын
Gracias máster, así es, esa es la forma de hacerlo por software. Finalmente, por software o por hardware, dependerá del diseñador, saludos!
@j.p21294 жыл бұрын
Estaría bien poder analizar un código que lo resolviera con la instrucción dalymicroseconds y asi poder aprender otro modo, ya que a veces no es fácil conseguir los componentes electrónicos. Gracias.
@abnerruiz30003 жыл бұрын
Excelente video, esto es lo que necesitamos practicar
@cepeca13 жыл бұрын
Gracias por su trabajo. Desde Asturias España
@freddycasilimas71303 жыл бұрын
hola, desde colombia le quiero decir hermano usted es un duro explicando estas clases lo felicito y gracias
@cefuve3 жыл бұрын
Gracais Freddy, saludos!
@carlosvega82003 жыл бұрын
Muy buen video. Llevo como 2 horas peleando con un pulsador por los rebotes, me sirvió mucho... saludos
@cefuve3 жыл бұрын
Genial Carlos, tengo un video exclusivo hablando de botones, por si te interesa. Saludos!
@electronicosmx21792 жыл бұрын
Gracias a tus cursos en Arduino puedo avanzar con mis prácticas que me dejan en la escuela, haces muy buenos videos suscriptor nuevo
@facundonieto15982 жыл бұрын
Gracias por el video! Dejo algunas anotaciones 16:08 circuito antirrebote 31:26 comentario respecto del uso de programas multitarea
@cefuve2 жыл бұрын
Gracias Facundo, saludos!
@cristhiannasarioespinozaac55934 жыл бұрын
Gracias por la enseñanza aprendo cada dia mas viendo sus videos. sob buenisimos. Gracias. Siga subiendo porfavor
@cefuve4 жыл бұрын
Muchas gracias Cristhian, saludos!
@jorgecordoba9933 жыл бұрын
Se te echa de menos Crack, el canal que más me está ayudando en mi inicio con Arduino, te deseo éxito en todo aquello en lo que te propongas!!
@cefuve3 жыл бұрын
Muchas gracias Jorge, todavía queda un montón de conocimiento con el que quiero aportar, saludos!
@abrahamjaimes83052 жыл бұрын
BUEN TRABAJO GRACIAS POR COMPARTIR
@felipeseet2 жыл бұрын
hice un dispensador de cervezas y no se guardaban los datos de dinero ingresado ya que el pulsador debía estar siempre encendido, yo necesitaba que cada pulso me lo guardara para así poder sumar cada valor de dinero, era tipo, 1 pulso valía 1000 pesos pero si presionaba 3 veces entonces eran 3000, cada pulsador tenia valores diferentes valores y necesitaba que al pulsar x pulsador me los sumara con los otros pulsadores, solo con 5 minutos de tu video lo solucione! muchas gracias por tu aporte!.
@cefuve2 жыл бұрын
Genial Felipe, gracias por comentar y Salud!
@lk10473 жыл бұрын
Muchas gracias, ha sido al unico que le he entendido y te lo agradezco mucho!... Aqui comparto algo sencillo que hice con el codigo: por defecto se tiene encendido un LED y cuando presionamos para subir el contador, empieza a parpadear otro LED; int contador = 0; void setup (){ Serial.begin(9600); pinMode(10, INPUT); pinMode(2, OUTPUT); pinMode(3, OUTPUT); } void loop(){ int estado = digitalRead(10); digitalWrite(3, 1); if (contador == 9){ contador = -1; } if (estado == 1 ){ digitalWrite(3, 0); digitalWrite(2, 0); contador = contador + 1; Serial.println(contador); while(digitalRead(10) == 1){ digitalWrite(2, 1); delay(50); digitalWrite(2, 0); delay(50); } digitalWrite(3, 1); digitalWrite(2, 0); } }
@cefuve3 жыл бұрын
Muy bien! Un pequeño indicador de funcionamiento. Saludos!
@sebastiancaioni75182 жыл бұрын
Nuevamente muchas gracias por el video maestro!!!! Definitivamente el orden del programa me rompe la cabeza 😵🥴
@siku33503 жыл бұрын
Muchas gracias por enseñarnos a programar paso a paso. Un tuto fenomenal!!
@oscarrios41462 жыл бұрын
bueno profe muchas gracias por la enseñansa ya aprendi bastante felicitaciones
@diegoalejandrotobar75963 жыл бұрын
Eres muy crack, te as ganado 4 suscriptores
@cefuve3 жыл бұрын
Muchas gracias, saludos!
@andrescordova29933 жыл бұрын
muy dinámicos y prácticos los videos, gracias profe
@nestormarcelovenece50913 жыл бұрын
gENIAL MUY BUEN VIDEO
@SebaTotem5554 жыл бұрын
Muy bueno! muchas gracias por compartir. Saludos desde Argentina.
@cefuve4 жыл бұрын
Gracias, saludos!
@juliocesarlugoruiz25044 жыл бұрын
Excelente. explicación muy clara
@samuelbonifaciosanchezsanc75513 жыл бұрын
Tremendo crack bro, te ganas un suscriptor
@salvadorsena70574 жыл бұрын
De verdad es que me tienes embobado con tus videos, son de lo mejor que he visto y cada video me abre los ojos mas a este mundo de la electronica moderna. Si tuviese que sacar un pero seria, a la hora de las practicas.... eso de conectar resistencias, led`s, pulsadores y demás, todo amogollonado. Tal vez seria mas claro para nosotros, algo mas amplio, con menos puentes innecesarios. Es solo una sugerencia pero, ya te digo.... encantado con tus videos. Un saludo y a la espera de la proxima entrega.
@cefuve4 жыл бұрын
Hola Salvador, que bueno que me lo digas, incluso lo he pensado... Si te fijas, he utilizado el mismo circuito de leds desde las primeras prácticas, justamente para no enredarlos tantos. Pero por lo que entiendo, te refieres a prescindir un poco de la electrónica y enfocarse más en el código, no? Gracias por tus comentarios, Saludos!
@salvadorsena70574 жыл бұрын
@@cefuve no no, me parece perfecto lo de poner en práctica los ejercicios sobre la mesa. Tal vez, cuando montas el circuito con el pulsador, tener una perspectiva más clara, sin tanto cable que es prescindible para el ejemplo. Es decir, ejemplo nuevo, montaje desde el principio. .....no te preocupes, me parece genial como lo haces. Tal vez sea que soy un poco tikismikis. Un saludo.
@cefuve4 жыл бұрын
Aaah comprendo, la vista que utilizo cuando armo el circuito, te encuentro razón y me hace sentido. Gracias por aclararlo, lo tendré presente. Saludos!
@rishiarjona35743 жыл бұрын
Saludos y gracias por los videos tutoriales
@nitrocoffee3 жыл бұрын
Un seudocódigo bastante bueno, ty
@victorhugolopezherrera10043 жыл бұрын
Hola, muchas gracias por tus enseñanzas pase de no saber nada o solo cargar librerias hechas a un arduino a poder hacer cosas por mi mismo y es genial, muchas gracias. Eh, estado practicando el ejercicio (yo utilice el INPUT_PULLUP por que no tenia otra resistencia) y agregue que cada vez que presione el boton demas de ir sumando se encienda y se apague el led que tengo en el pin2 y me resulta, pero ahora se me ocurrio hacer que se vayan encendiendo los led del pin2 al 5pin cada vez que presione y cuando llegue al 4 que comience de nuevo en el led del pin 2. Pero hasta ahora no he podido. Saludos
@cefuve3 жыл бұрын
Muy bien Victor... Con respecto a tu situación, la verdad no entendí lo que quieres lograr, si me das el conexto o me muestras el código quizás te pueda ayudar, saludos.
@victorhugolopezherrera10043 жыл бұрын
@@cefuve la idea es presionar el botón que comience el conteo y que encienda 1 LED, y al presionar de nuevo que encienda el que sigue hasta llegar al cuarto LED y que ahí se devuelva al principio.
@cefuve3 жыл бұрын
@@victorhugolopezherrera1004 podrías usar una variable de conteo. count = 0; if(boton == LOW){ count++; } Y ahí vas condicionando cada led, y cuando llegues al final, reseteas todo. if(count == 3){ //volver a empezar }
@edwinortiz29554 жыл бұрын
Muchas gracias, excelente explicación!!
@fredyjuniorocsamamani41772 жыл бұрын
Impecable
@jorgeluisherrera85394 жыл бұрын
Excelente el curso, te felicito por tu alma docente!
@cefuve4 жыл бұрын
Muchas gracias Jorge, saludos!
@urielmonico54513 жыл бұрын
excelente explicacion, saludos !!!
@dylantuiran2844 жыл бұрын
Todo un crack, like y me subscribo
@cefuve4 жыл бұрын
Muchas gracias Dylan, Saludos!
@Romer9783 жыл бұрын
Muy bueno, gracias
@charlydex65702 жыл бұрын
Me salvaste bro gracias
@ignaciolopez63793 жыл бұрын
EXCELENTE CLASE
@divitomas13 жыл бұрын
Me gustan mucho tus clases , explicas muy bien.Solo una sugerencia,bajar el volumen de la musica ,para escuchar mejor la clase.Gracias
@cefuve3 жыл бұрын
Gracias por la sugerencia, saludos!
@franciscosahuquillomunoz84304 жыл бұрын
Hola Cefuve, primero darte la enhorabuena por los videos muy bien explicado. Ahora viene la pregunta, jiji. ¿Cómo sería el circuito de PULLDOWN con filtro antirebote? Muchas gracias.
@cefuve4 жыл бұрын
Uuuu buena pregunta... Y la respuesta es no se :'( Peeero, puedes invertir la entrada, por software... bool boton = !digitalRead(pin); Espero te sirva, saludos!
@treposillo4 жыл бұрын
Una pregunta.. en el minuto 11:02 , porque no funciona el while si se pone de condicion la variable estado? tomando en cuenta que estado es igual a digitalRead(10) y tanto estado y digitalRead(10) deberian tener el mismo valor
@cefuve4 жыл бұрын
Buena pregunta! porque si pongo: while(estado){} La variable estado no va a cambiar nunca, ya que nunca vuelve al estado = digitalRead, se queda siempre dentro del while, lo que se puede hacer es lo siguiente: while(estado){ estado = digitalRead(10); } Pero igual hay que tener cuidado, porque la variable estado no es global, se entiende? Saludos!
@ariel180124 жыл бұрын
Muy buen video...!!! Podras incluir en proximos video el uso de datos tipo uint_ para el bus SPI quiero entenderlo para mi proyecto de fin de carrera.......sigue asi!!!!
@cefuve4 жыл бұрын
Muchas gracias Ariel, lamentablemente a corto plazo lo máximo que veré en este curso para principiantes, es una pincelada de comunicación Serial. Espero puedas concretar con éxito tu proyecto, saludos!
@MrGiulio20122 жыл бұрын
Muy bueno el video sencillo y practico. ¿Se puede contar los pulsos que entregue algún dispositivo electrónico de igual manera, talvez poniendo algún capacitor para desacoplar?
@cefuve2 жыл бұрын
Hola Alejandro, se puede usar cualquier pulso digital que esté en el rango de 0V a 5V, incluso se podrían usar otros dispositivos, pero habría que hacer la adaptación dependiendo del elemento. En ese caso veo como buena opción un optoacoplador....
@MrGiulio20122 жыл бұрын
@@cefuve Si correcto para desacoplar muy buena idea, muchas gracias. Me uno al curso me podés mandar la lista competa de cursos gratuitos y pagos que diste como buscarlos, ayer hice el circuito del contador y anduvo muy bien muchas gracias.
@cefuve2 жыл бұрын
@@MrGiulio2012 Hola, gracias por seguirlo, este es el único curso que tengo... kzbin.info/www/bejne/amGQqaN5aptgsLM
@MrGiulio20122 жыл бұрын
@@cefuve Ya lo vi muy bueno siempre saco algo en realidad tengo un pedido de poder controlar un flujo de agua pero no encuentro ninguna válvula que controlad por tensión eléctrica deje pasar más o menos agua de una canilla digamos si sabe de algo le agradecería mucho.
@cefuve2 жыл бұрын
Uuff en el ámbito industrial están las válvulas proporcionales, pero son grandes y costosas. Intenta buscar como válvulas motorizadas o electrovalvula motorizada, que básicamente en una llave de paso con un seevomotor conectado a la llave...
@youaresecondhand2 жыл бұрын
Maestro!
@DPRKSLAVA Жыл бұрын
excelente
@marcos892253 жыл бұрын
Para mejorar aún más el código, se puede poner un delay(30); dentro del while, con este detalle quitan el salto no deseado.
@cefuve3 жыл бұрын
Buena idea David, si no se tiene un antirebote bueno y el programa puede tener delay, lo ideal es ponerle uno. Gracias por tu comentario, saludos!
@ricardoernestozevallossimo60924 ай бұрын
Eso tambien pensaba, un delay en el while
@emirjaviertorresduarte40792 жыл бұрын
buenas tardes tengo muy poco con arduino y eres uno de los mejores para las explicaciones . te comento que tengo una duda cuando uso visual studio- con C# como hago para que con la HscrollBar pueda subir y bajar la intensidad de un led con arduino
@cefuve2 жыл бұрын
Que tipo de comunicación con la placa estas usando?? USB, bluetooth, etc...
@prudenciopinzonl80423 жыл бұрын
Muchas gracias por compartir. Esta forma de programacion se puede decir que es estructurada?
@cefuve3 жыл бұрын
Hola, los lenguajes C/C++ que usa arduino son multiparadigma, pero principalmente podríamos decir que es programación estructurada. Por mi parte, al programar microcontroladores, es el primer enfoque que le doy. Saludos!
@prudenciopinzonl80423 жыл бұрын
@@cefuve Muchas gracias. 👍
@robertobuzon87566 ай бұрын
Excelentes sus tutoriales. Saludos, en un Contactor Electrico existen para su control los botones Stop y Start. Adicionalmente el Contactor tiene unos contactos auxiliares que fijan su trabajo el soltar el Start. La pregunta: En Arduino, con una tarjeta NANO y usando las sentencias if(...) int estado = digitalRead (Pin) ... Como se hace esta programacion. Gracias, Gracias por su tiempo.
@cefuve6 ай бұрын
Hola, una vez que pones un 1 en la salida de un pin este se queda, por ejemplo. if ( btn_start == HIGH ) { digitalWrite(contactor, HIGH); } El contractor quedará enclavado y después lo apagas condicionando el botón stop. Saludos!
@carlosdearmas36133 жыл бұрын
Buen día, debo reconoce que son muy buenos tus tutoriales. Acudo a ti porque hace un buen tiempo que no trabajo con Arduino. Y hoy en día necesito resolver algunas dudas. No he podido con la opción de hacer una pregunta y dependiendo de la respuesta entre al loop o no. y al terminar el loop haga la misma pregunta para seguir o no con el loop. Desde ya muchas gracias.
@cefuve3 жыл бұрын
Gracias Carlos... Lo que yo hago para "saltarme" la última parte de un código es lo siguiente: void loop(){ if(condicion) return; //Si lo de arriba de cumple, nunca pasará hacia abajo } Saludos!
@carlosdearmas36133 жыл бұрын
@@cefuve Genial !!, muchas gracias. Y como manejas el tema de condición de "si o no" . No he dado con la tecla de la variable. NI con estado, ni input, ni int.. algo debo estar haciendo mal. De seguro que estoy haciendo algo mal. Has sido todo un descubrimiento. (ja ja ja !). Resultaste Un Sensei del arduino. GRACIAS.
@cefuve3 жыл бұрын
Hola Carlos, no entendí a que te refieres que no has dado con la tecla de la variable... Las condiciones se pueden manejar de muchas formas, por lo general son comparaciones lógicas (1 y 0), tengo un video hablando específicamente de esto... Podrías darme un poco más de detalle de lo que estas haciendo para poder ayudarte mejor. Por otro lado debes tener en cuenta que: 1 = true = HIGH = 34 = -65 = cualquier número distinto de cero 0 = false = LOW Y el condicional if ejecutará sus instrucciones siempre y cuando su condición de como resultado true (1), ejemplo: if(true){ //Esto se ejecutará siempre } if( 1 ){ //Esto se ejecutará siempre } if(false){ //Esto nunca se ejecutará } Por eso, por lo general uno pone comparaciones: x = true y = false if(x == y){ //Esto no se ejecuta, ya que la condición pregunta si x es igual a y, a lo que devuelve un false } Y así hay un montón de formas... Saludos!
@carlosdearmas36133 жыл бұрын
@@cefuve es una "receta"... Comienza con una pregunta.. Tipo ",tienes todo a la mano ?.. Si o no ... Si es si entra en el loop.. Si es no.. Mensaje "gracias" Y al final del loop pregunta si tienes más masa ?.. Si es es si entra de nuevo en loop... Si es no vuelve a la pregunta inicial... Y con el if no me tomas los else... Tal cez sea un tema de comas...
@cefuve3 жыл бұрын
Y como le introduces el si o el no? Monitor serie? Botones?
@Palomo_End2 ай бұрын
muchas gracias me estan sirviendo mucho tus clases porcierto modificaste denuevo los videos? estan en naranja el fondo de la diapositivas ahora
@cefuve2 ай бұрын
Gracias por tu comentario. El naranjo es para las clases prácticas y el verde para las clases más teóricas. Saludos.
@2904carlosleon2 жыл бұрын
Hola, estoy siguiendo el orden del los videos y me parece muy interesante su forma de impartir las clases. Cuando formuló el problema final ,pare el video y intente generar la solución; Bien, esto es lo que yo realicé . Espero ser también de ayuda . -------------- int contador =0; void setup() { Serial.begin(9600); pinMode(10,INPUT); } void loop() { int estado = digitalRead(10); if ((estado ==0)&&(contador
@cefuve2 жыл бұрын
Muchas gracias por tu aporte Carlos, siempre se podrá sacar algo de cada código. Saludos!
@adam3skar2 жыл бұрын
Buenas, para el ejercicio del rango de 0 a 9 podriamos utilizar un for?, gracias.
@cefuve2 жыл бұрын
Hola, el for es una estructura de control repetitiva, diseñada para ejecutar acción/es una cantidad determinada de veces. Por ende, el conteo mediante un pulsador no se puede hacer con un for, con un for se puede hacer que cuente automáticamente de 0 a 9 sin tener que presionar el botón, son 2 cosas distintas.
@christianruiz54544 жыл бұрын
Hola que tal como estas, porque no usas millis() para el efecto rebote?
@cefuve4 жыл бұрын
Hola Christian, porque este video es parte de un curso para principiantes donde no incluyo la función millis()... Por otro lado, personalmente prefiero solucionar los problemas eléctricos por hardware, y si no, por software. Saludos!
@christianruiz54544 жыл бұрын
@@cefuve a es que eso nos dieron en un curso para principiante la funcion millis(), tambien se puede completar con el capacitor de 0.1 uf... Ese no la habia visto.
@cefuve4 жыл бұрын
Yo me enfoqué más que nada en los cimientos para aprender a programar... Para otra oportunidad dejé las matrices, temporizacion sin delay, interrupciones, comunicación entre dos MCU, estructuras, etc. Que para mí criterio son conocimientos intermedios. Saludos!
@boet.042 жыл бұрын
Excelente video. Tengo una duda. En mi lugar de trabajo necesito saber durante cuánto tiempo se encuentra una puerta abierta. Esto para llevar un registro diario de a qué hora se abre y cierra dicha puerta. No sé si estoy siendo lo suficientemente claro. Mis dudas son: ¿Por dónde puedo empezar a realizar este trabajo? ¿Qué materiales me recomiendan utilizar? Agradezco mucho tu atención y ayuda.
@cefuve2 жыл бұрын
Hola, para la puerta tienes varios sensores (efecto hall, infrarrojo de barrera, infrarrojo reflectivo, switch, etc), lo importante es que sea un sensor digital, para que te entregué 1 o 0 para puerta abierta y cerrada. Para hacer el conteo te recomiendo ver mis videos sobre reloj digita y millis. Yo establecería 3 variables para segundo, minuto y hora, por otro lado usaría millis para ir aumentando el "cronometro" cuando el sensor identifique la puerta abierta... Saludos.
@adolfogarcialeon21802 жыл бұрын
Hola primero que nada exelentes videos. Y mi duda es como hiciste para hacer el condensador que improvizaste Muchas gracias por tus aportes desde México City
@cefuve2 жыл бұрын
Hola Adolfo, gracias por tu comentario. Supongo que te refieres al antirebote para los botones, en ese caso, la gracia es aprovechar el tiempo de carga y descarga del condensador para reducir el riudo. Tengo un video especial hablando de botones, para que le eches un vistazo. Saludos!
@nelsonecheverria86764 жыл бұрын
excelente curso gracias por la explicacion tan sencilla y elemental. para para uno que es un aficionado, una consulta como puedo hacer para dos pulsadores que cada uno sume un valor y se vea como aumeta, muy similar a lo que indicas gracias.
@cefuve4 жыл бұрын
Hola Nelson, básicamente es copiar el circuito y el código por 2... para que te hagas una idea: count1 = 0 count2 = 0 loop() if( digitalRead(btn1) ){ count1++ } if( digitalRead(btn2) ){ count2++ } Serial.print(count1) Serial.print(" ") Serial.println(count2) Saludos!!
@nelsonecheverria86764 жыл бұрын
@@cefuve gracias por la ayuda, lo voy a intentar, gracias
@nelsonecheverria86764 жыл бұрын
buenas tardes , te comento que parece que logre tanto las conexiones como el programa , pero una pregunta, por medio de digitalRead puedo sumar una valor, es decir que de un pulsador me sume 5 y de otro 10 y vaya sumando cada pulsacion a un resultado unico, o debo utilizar otro sistema, gracias
@cefuve4 жыл бұрын
Hola Nelson, claro, con el contador++ se incrementa de a uno, y es lo mismo que hacer: contador = contador + 1; Entonces, es cosa de que cambies el 1 por el número que quieras. Saludos!
@nelsonecheverria86764 жыл бұрын
@@cefuve muchas gracias , eres un maestro.
@emirjaviertorresduarte40792 жыл бұрын
gracias por responderme, la comunicación es por medio del cable USB y la placa es Arduino uno
@cefuve2 жыл бұрын
No hay de que. Primero debes incluir las funciones seriales dentro de C#, te recomiendo ver este enlace: stackoverflow.com/questions/1243070/how-to-read-and-write-from-the-serial-port Por otro lado, el HScrollBar tiene propiedades y eventos asociados, deberías usar un "serial print" dentro del evento OnValueChanged del scrollbar y enviar la propiedad "value" de dicho elemento, algo así: private void vScrollBar1_ValueChanged(Object sender, EventArgs e) { SerialPort.Write( vScrollBar1.Value.ToString() ); } docs.microsoft.com/en-us/dotnet/api/system.windows.forms.hscrollbar?view=windowsdesktop-6.0 docs.microsoft.com/en-us/dotnet/api/system.windows.forms.scrollbar.onvaluechanged?view=windowsdesktop-6.0#system-windows-forms-scrollbar-onvaluechanged(system-eventargs) docs.microsoft.com/en-us/dotnet/api/system.io.ports.serialport.write?view=dotnet-plat-ext-6.0
@MarioCisnerosG2 жыл бұрын
Hola profesor,tengo una pregunta, necesito iniciar una secuencia de instrucciones a partir del cambio de estado en un puerto, esto se haría con un switch pus
@cefuve2 жыл бұрын
Hola, en un video de la sección #coding de mi canal, simulo las funciones de una impresora, seguramente podrás sacar ideas para tu objetivo. Saludos.
@damasofernandez11933 жыл бұрын
Hola, espero estés bien, hice un código con flanco de subida, ya que estoy haciendo una maquina y justamente necesitaba un contador con un sensor de proximidad. Lo probé en simulador y funcionó bien. No se como hacerte llegar el código. Aprovechando, seria bueno ver como se conectan los sensores de proximidad. Supongo que también emplean resistencia en la señal o no aplica?. Saludos Cordiales quedo atento a tu respuesta.
@cefuve3 жыл бұрын
Hola Dámaso, puedes pegar tu código en paste.cefuve.com y enviarle la url... Con respecto a los sensores, depende del modelo, fabricante, principio físico, etc. El más común es el HSR-04 que usa un trigger y un echo. www.naylampmechatronics.com/img/cms/Blog/Tutorial%20arduino%20y%20HC-SR04/Tutorial%20sensor%20ultrasonico%202.jpg
@damasofernandez11933 жыл бұрын
@@cefuve En realidad cometí un error mi sensor no es de proximidad es infra rojo, corresponde al modelo E18-D80NK-N y es de 5VCC, trae alimentación y una señal de retorno, eso quería saber, si era necesario la resistencia en el cable de señal?. Subiré el código, en este rato pude agregar un reset y un totalizador.
@damasofernandez11933 жыл бұрын
Lo acabo de hacer, yo creo que lo puedes analizar y dejar mas didáctico en cuanto a la impresión en monitor serie. Comentame si llego bien, no manejo la plataforma en PASTE, Gracias
@cefuve3 жыл бұрын
Hola Dámaso, me imagino que este debe ser tu códgo cefuve.com/paste/paste.php?id=83 Cuando publicas un código, te da una url única para compartirla...
@cefuve3 жыл бұрын
Con respecto al sensor, si es necesaria la resistencia, aquí te dejo una imagen de referencia: electronicavaltierra.com.mx/wp-content/uploads/2019/06/E18-D80NK...jpg En este caso, el arduino leerá constantemente un 1 lógico y cuando se active el sensor leerá un 0 lógico. Por ende en la línea 13 deberia ser == 0. Saludos!
@lucascastro21133 жыл бұрын
Hola muy bueno el video.. estoy haciendo un doble pulsador pero con la función while creo que me interrumpe el otro contador me pudiera ayudar
@cefuve3 жыл бұрын
Hola Lucas, podrías subir tu código a mi página paste.cefuve.com para revisarlo, saludos!
@lucascastro21133 жыл бұрын
@@cefuve #clude // Incluye la Libreria LiquidCrystal LiquidCrystal lcd(7, 6, 5, 4, 3, 2); //int pinIN = 12; // Crea Variable pinIN y la asocia ainl pin digital 13 int valorIN = 0; // Crea Variables con un valor inicial asociado int contenido = 0; int valorIN2 = 0; // Crea Variables con un valor inicial asociado int contenido2 = 0; void setup() { pinMode(28, INPUT_PULLUP); pinMode(12, INPUT_PULLUP); lcd.begin(16,4); lcd.print("CONTADOR SANTA ELENA"); // Imprime "el texto" sobre el LCD delay(1000); // Espera 1 segundo //lcd.setCursor(0,1); // Seteamos la ubicacion texto 0 linea 1 que sera escrita sobre el LCD // lcd.print("lucaselectricidad123@gmail.com"); delay(1500); lcd.clear(); // Limpia la pantalla delay(300); lcd.setCursor(1,0); // Seteamos la ubicacion del texto 1, linea 0 que sera escrita sobre el LCD lcd.print(" CANT DE TAPAS: "); // Imprime "Cant de tapas" sobre el LCD //lcd.setCursor(2,2); //lcd.print("LATAS: ");// //lcd.setCursor(2,6); //lcd.print("TAPAS: "); } void loop() { valorIN = digitalRead(28); // Realiza la lectura Digital del pin 8 if (valorIN != 1) // Si la lectura es 1 incremente el valor de contenido { contenido++; delay(100); while (digitalRead(28) == 0) { delay(100); // Realiza un Delay para estabilizar } lcd.setCursor(12,1); lcd.print(contenido); valorIN2 = digitalRead(12); // Realiza la lectura Digital del pin 8 if (valorIN2 != 1) // Si la lectura es 1 incremente el valor de contenido { contenido2 ++; delay(100); while (digitalRead(12) == 0) { delay(100); // Realiza un Delay para estabilizar } lcd.setCursor(3,0); lcd.print(contenido2); } }}
@lucascastro21133 жыл бұрын
@@cefuve ya lo subi igual te lo pase
@cefuve3 жыл бұрын
Hola Lucas, en este video hay una técnica que puedes usar: kzbin.info/www/bejne/pKbLhpSfa9RmftE Minuto 52:52 Saludos!
@christianruiz54543 жыл бұрын
Capo el tema de declarar las variables no es mejor en Setup ya que se declararian una ves y no estaria el programa cada rato cargandola en el LOOP? muy bueno tu canal
@cefuve3 жыл бұрын
Buena pregunta... setup y loop son funciones principales, las variables que se declaren en ellas sólo se podrán manipular en ellas, es decir, que si declaro una variable en el setup, no puedo manipularla en el loop. Lo que se podría hacer es declarar variables en la parte superior, antes de setup, éstas serían globales y ocuparían un espacio permanente en la memoria. Si lo hacemos dentro del loop o dentro de otra función, será momentánea y la memoria se irá llenando y vaciando constantemente (ajustándose). Finalmente, la idea es ser eficiente con el uso de variables ya que está directamente relacionado con el uso de memoria, y si la memoria se llena nos provocará inestabilidad en nuestro programa. Saludos!
@javier_sarmient03 жыл бұрын
Buenas necesito una ayudita, tengo que hacer una actividad en donde tengo un contador del 0 al 9, y cuando se precione un botón tiene que dejar de contar y se tiene que prender la luz del punto del display. Nosé como hacer para detener la cuenta
@cefuve3 жыл бұрын
Hola, puedes usar una variable auxiliar tipo run = false; En uno de mis videos hice este código: github.com/cefuve/For-KZbin/blob/main/coding_funciones_impresora/coding_funciones_impresora.ino bool run = false; if (boton == 1){ run = true; } if (run) { //contar }else{ //parar } Saludos!
@bdaseguramiento52124 жыл бұрын
Profe buenas noches, quiero hacerle una pregunta, esta configuración de pull UP con condensador en paralelo a al pulsador, solo es necesario cuando se realizarán contadores en display, pantallas lcd u otro tipo de salida de visualización, o también es necesario como en la configuración para encender un juego de luces y todo tipo de aplicaciones que hagamos
@cefuve4 жыл бұрын
Buenas noches Juan, ese es un circuito antirebote que previene pulso indeseados, por ende se debería usar en cualquier circuito con botones, independiente la función, saludos.
@bdaseguramiento52124 жыл бұрын
@@cefuve Gracias profe, usted como siempre muy atento a nuestras consultas. Gracias y bendiciones
@MHEREDIA27054 жыл бұрын
saludos, que fácil lo explicas, comentario aparte tendrás algún proyecto para medir RPM con luz estroboscopica con pantalla oled i2c . mosfet y diodo 12v, ??
@cefuve4 жыл бұрын
Gracias Manuel... No tengo ese proyecto, suena interesante para hacerlo... Saludos
@ricardoernestozevallossimo60924 ай бұрын
Profesor al último para que salgue con pulso cero, tan solo el contador =-1
@cefuve3 ай бұрын
Hola Ricardo, excelente idea! Inicializar la variable contador en -1. Muchas gracias por tu comentario. Saludos!
@miguelangelpereyrabogarin21744 жыл бұрын
Muy buena clase, muchas gracias, ahora entiendo muchas cosas que no entendía anteriormente, tengo una duda sobre un programa que hice, en el pin 2 tengo conectado un encoder IR que esta en el eje de un motor DC, y en el pin 13 tengo conectado el rele que activa el motor, el programa debe hacer funcionar el motor asta que el encoder me cuente 1000 vueltas del motor y luego parar por 4 segundos luego volver a empezar, el programa me funciona bien solo si le doy la instrucción de Serial.println de mi contador, cuando saco esa función y quiero que funcione sin imprimir el contador ya no funciona, solo queda dando pulsos intermitentes al rele. si podría pasarme algún correo donde poder enviarle mi programa para que lo analice. gracias.
@cefuve4 жыл бұрын
Hola Miguel, y dentro del println() estás haciendo alguna operación? ej println(count+1) Puedes subir tu código a pastebin.com y dejas el link aquí, saludos.
@marcelryshdz27784 жыл бұрын
Gracias por la lección, en la que intencionalmente colocabas código en varias posiciones para comprobar lo que ocurría. Yo tengo una pregunta, ¿se puede utilizar el ciclo for para generar los incrementos? ¿Cómo quedaría el código con for, en caso de ser posible? Gracias, saludos
@cefuve4 жыл бұрын
Hola Marcel, gracias a ti por ver el video. Respondiendo a tus preguntas, todo dependerá de la aplicación que estés haciendo, en este caso es un contador con pulsador. Si quisiéramos hacerlo con for, sería algo como esto: for(int x = 0; x < 10; x++){ count++; } Te invito a ver la lección sobre for y while, Saludos!
@emedeerre3 жыл бұрын
Hola, necesito ayuda !! o si puedes decirme donde puedo encontrarla seria genial !! , repase todos tus videos con respecto a entrada y lectura de entrada pero no doy en la tecla.. tengo hecho 3 efectos de luces que he asignado cada uno a un pulsador (3) quisiera que al pulsar cualquiera de los 3 cambie de efecto y ese efecto se ejecute en bucle hasta que se presione otro botón... lo he intentado pero , primero no logro que se ejecute en bucle , presiono y ejecuta la secuencia "x" pero al terminarla se detiene a la espera de otro pulso, y segundo, debo esperar a que termine la secuencia , manteniendo el pulsador presionado para que me lea otro pulsador y cambie de efecto , en fin... :-( . igualmente llegue hasta acá gracias a tus videos! estoy conforme y agradeciado con lo aprendido , Gracias!!
@cefuve3 жыл бұрын
Hola, entonces no has visto mis videos de multitarea... Tengo multitarea usando delay y multitarea usando millis, seguro que te darán una idea de cómo solucionar tu problema, saludos.
saludos...profe ojala mas adelante se cambiase el pulsador por un termistor y un ldr
@cefuve3 жыл бұрын
Hola, me diste una idea. Se me ocurre hacer una barrera infrarroja que cuente persona y las muestre en un display... De todas formas, más adelante en el curso uso un potenciómetro para mostrar el ángulo de apertura en un display, tendrías que reemplazar el potenciómetro por un termistor o ldr. Saludos!
@vladimirmamanitapia84863 жыл бұрын
@@cefuve gracias x responder...espero que me este respondiendo usted y no asi arduino....genial cada vez que tengo problemas con la programacion en arduino recurro a sus videos...gracias denuevo
@cefuve3 жыл бұрын
cefuve te da las gracias por comentar y seguir sus videos. Saludos! 🛰️
@gilbertolopez9606 Жыл бұрын
Buen día Cefuve. Esta muy bien explicado el curso pero no logro poder hacer que mi programa pueda leer rápido la entrada cuando presiono el pulsador. me podrías ayudar?. Es un sensor de corriente alterna y como condición quiero manejar los limites (máximo y mínimo), y los pulsadores deberían bajar y subir en el momento pero lo hacen. tengo que dejar presionado el pulsador para que me alcance a detectar la señal. #include LiquidCrystal_I2C lcd(0x27,16,2); int piston_sale = 12; int piston_regresa = 10; int Boton_1 = 2; int Boton_2 = 4; int Boton_3 = 6; int Boton_4 = 8; int Estado_1 = 0; int Estado_2 = 0; int Estado_3 = 0; int Estado_4 = 0; int Amperaje_Maximo = 29; int Amperaje_Minimo = 7; void setup() { Serial.begin(9600); analogReference(INTERNAL); pinMode(piston_regresa, OUTPUT);//REGRESA PISTON pinMode(piston_sale, OUTPUT); //SALE PISTON pinMode(Boton_1, INPUT); //AMPERAJE MAXIMO SUBE pinMode(Boton_2, INPUT); //AMPERAJE MAXIMO BAJA pinMode(Boton_3, INPUT); //AMPERAJE MINIMO SUBE pinMode(Boton_4, INPUT); //AMPERAJE MINIMO BAJA } void loop() { Estado_1 = digitalRead(Boton_1); Estado_2 = digitalRead(Boton_2); Estado_3 = digitalRead(Boton_3); Estado_4 = digitalRead(Boton_4); delay(10); float Irms=get_corriente(); //Corriente eficaz (A) float P=Irms*220.0; // P=IV (Watts) if (Irms >= Amperaje_Maximo){// PISTON HIDRAULICO REGRESA digitalWrite(piston_sale, LOW); digitalWrite(piston_regresa, HIGH); } else if(Irms =30){ Amperaje_Maximo=Amperaje_Maximo-1; } } if(Estado_2 == HIGH){//PULSADOR: RESTA EL MAXIMO AMPERAJE Amperaje_Maximo=Amperaje_Maximo-1; lcd.print(Amperaje_Maximo); while(digitalRead(Estado_2)==0){ } if(Amperaje_Maximo=26){ Amperaje_Minimo=Amperaje_Minimo-1; } } if(Estado_4 == HIGH){//PULSADOR: RESTA EL MINIMO AMPERAJE Amperaje_Minimo=Amperaje_Minimo-1; lcd.print(Amperaje_Minimo); while(digitalRead(Estado_4)==0){ } if(Amperaje_Minimo
@cefuve Жыл бұрын
Hola Gilberto, al final, cuando lees la corriente y sacas los promedios, hay un while que toma 500ms en ejecutarse. Pero con 100ms ya sería suficiente para sacar el promedio de 5 o 6 ciclos, lo que deberías hacer es jugar con los valores, para que obtengas el valor actual de tu red. Hay formas más complejas de resolverlo, pero bajándole el tiempo al while y modificando los parámetros de las variables internas debería bastar. Saludos!
@japhetgonzalez31474 жыл бұрын
Una duda que siempre he tenido ¿Por que es necesario establecer la variable contador en 0 y no solo guardarla como una variable?
@cefuve4 жыл бұрын
Hola Japhet, no entiendo a que te refieres... En mi caso lo inicié en cero porque así lo requería la aplicación, puede establecerse en 0, 1, 35654, etc etc. Al hacer esto int count = 0 la estoy guardando en una variable...
@danielali98063 жыл бұрын
Como puedo que con un pulsador, haga de manera descente y ascdente en un display de 7 segmentos
@cefuve3 жыл бұрын
Hola, no entiendo a que te refieres, que con un solo pulsador vaya aumentando y cuando llegué al último número vaya disminuyendo?
@diegomaxpro77933 жыл бұрын
no pude hacer el circuito con el condensador porque no tenia el condensador ni las resistencias pero lo explicaste muy bien
@cefuve3 жыл бұрын
Igual puedes usar otros valores cercanos, 150nF, 220nF, 2.2k, 1.5k, 8.9k, etc. Saludos
@diegomaxpro77933 жыл бұрын
@@cefuve aaa ya gracias te pasaste
@j.p21294 жыл бұрын
Muy buenas, cada día mas enganchado pero una pregunta, hasta ahora tenia interiorizado que por ejemplo CONTADOR +1 seria lo mismo que CONTADOR++, te copio el código que he hecho y no responde como debería pero tampoco da error´ Muchas gracias. int contador =0; void setup() { Serial.begin(9600); pinMode(7, INPUT); } void loop() { int ESTADO = digitalRead (7); if (ESTADO ==0){ Serial.println(contador); contador = contador ++; delay (500); } }
@cefuve4 жыл бұрын
Hola Jorgue, interesante pregunta. Voy a intentar responderla con los conocimientos que tengo... Al utilizar el count++ con una asignación del mismo, count se queda con lo que tenia asignado, o sea count++ no tiene efecto. Por eso se usa por separado: count = count + 1; count++; count += 1; Intenta probar count = ++count; Dime como te va, saludos!
@z810f4 жыл бұрын
Buen video y unas explicaciones claras, te ha faltado enseñar la curva de carga y descarga, en este caso muy insuficiente ya que con 100nF y 1K tenemos 0,0001 seg o 0,1 mS posiblemente tendrias que poner al menos 1uF para minimizar rebotes. Otra forma seria validar el "0" haciendo un conteo, por ejemplo esperar a 10 lecturas seguidas de "0" con un retardo de 1ms si aparece un "1" se resetea el contador. Un saludo
@cefuve4 жыл бұрын
Hola Victor, gracias por tu comentario. En este caso, la curva de carga, mientras más corta, mejor. La idea es amortiguar el ruido electromecánico del pulsador. 1uF también funciona, pero se toma más tiempo en recuperarse para darle el siguiente pulso. Buena idea la de hacer un muestreo, toma más tiempo, pero es factible. Finalmente todo va a depender del diseñador y de los materiales que disponga. Saludos!
@carloscardenas74154 жыл бұрын
Buenas noches, disculpe para hacer dos contadores , hice los mismo pero ahora tomando un segundo estado y otro contador , pero al ejecutarlo no me hace el conteo ninguno de los dos, me podría decir que estoy haciendo mal, disculpe. int contador = 0; int contador2 = 0; void setup() { pinMode(10, INPUT); pinMode(11, INPUT); } void loop() { int estado = digitalRead(10); if(estado == 0){ contador++; if(contador == 10){ contador = 0; } Serial.println(contador); while(digitalRead(10) == 0){} } int estado2 = digitalRead(11); if(estado2 == 0){ contador2++; if(contador2 == 10){ contador2 = 0; } while(digitalRead(11) == 0){} } } Estoy visualizando mis datos en una LCD por eso no puse lo del monitor serie
@cefuve4 жыл бұрын
Hola Carlos, por lo que veo, no estás haciendo nada mal, la lógica está correcta... Quizás tengas problemas con los botones o con otra parte del código ¿Estas seguro que los botones te entregan un 0 al presionarlos? Saludos!
@oscarrios41462 жыл бұрын
buen dia profe te vuelbo a reiterar mi pedido de un programa para arduino que cuente desde 0 hasta 9999 para mi bobinadora gracias amigo
@cefuve2 жыл бұрын
Hola Oscar, eso lo quieres presentar en una pantalla LCD o display de 7 segmentos?
@oscarrios41462 жыл бұрын
@@cefuve buen dia amigo en lcd es para contar las vuelta de mi bobinadora gracias
@miguelreyes65374 жыл бұрын
Yo le presionó y me arroja 57 conteos, a pesar que ya puse el while
@cefuve4 жыл бұрын
Puede ser que tenga mucho ruido el pulsador o algún detalle en el código. Puedes pegar el código en pastebin.com y enviarme el link para revisarlo. Saludos