Тёмный

#7 Lectura Digital [INPUT - INPUT_PULLUP - digitalRead] - Curso Arduino 💻 

Cefuve
Подписаться 18 тыс.
Просмотров 41 тыс.
50% 1

Опубликовано:

 

15 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 191   
@javiercabanas2684
@javiercabanas2684 4 года назад
De los mejores maestros, primero descubrí a electrónica FP y ahora quiero aprender arduino para hacer mis proyectos más fácile, espero que sigas enseñando igual de bien que los videos que me acabo de ver de tu canal, nuevo suscriptor
@cefuve
@cefuve 4 года назад
Muchas gracias Javier, espero no defraudarte. Saludos!
@diegobeluzo8350
@diegobeluzo8350 3 года назад
Me has solucionado la vida con la explicación del input_pullup !!! Me estaba volviendo loco que se me activaban solos los canales por dejar al aire los cables XDDD muchas gracias!!! muy bien explicado!!!!!!!!
@cefuve
@cefuve 3 года назад
Buenísimo Diego, todos los días se aprende algo nuevo. Saludos!
@Msbaisero
@Msbaisero 2 года назад
EXCELENTE TU DOCENCIA!!! haz explicado de forma tan sencilla que se entiende perfecto. Vamos por mas videos!!
@lucaskriger5666
@lucaskriger5666 3 года назад
Muchas gracias! el mejor profesor de las redes, ojalá siga creciendo la comunidad de este canal!
@cefuve
@cefuve 3 года назад
Muchas gracias por tu comentario Lucas, Saludos!
@mauricioarboleda1978
@mauricioarboleda1978 Год назад
buenisimo @cefuve muy bien explicado, muchas gracias. un saludo
@jameslopez1392
@jameslopez1392 2 года назад
EXCELENTE. Justo lo que buscaba. Así cualquiera aprende. ¡FELICITACIONES! Saludos desde Colombia.
@stirling1803
@stirling1803 3 года назад
Genial, un gran maestro 👏🏼👏🏼
@fernandoaguilarcollado3372
@fernandoaguilarcollado3372 2 года назад
Años usando Arduino sin llegar a comprender bien y ahora en cada vídeo lo pillo a la primera y pienso que es súper fácil de entender y como no podía entenderlo antes?. ¡Excelente profesor!. Gracias.
@javiermoto6063
@javiermoto6063 3 месяца назад
Te doy la razón, enseña muy bien
@salemdavilacruz5726
@salemdavilacruz5726 2 года назад
Explicación perfecta...
@joseantoniogarciacalvino5723
@joseantoniogarciacalvino5723 3 года назад
Hola, excelentes videos, es de lo mejor que he visto para principiantes de Arduino
@Vantrick
@Vantrick 3 года назад
Que tal? paré el video justo cuando enunciaste la práctica. Utilicé una instrucción while de forma que mientras lea que en pin 10 hay un 1, ejecute la cadencia de dos ciclos por segundo. Además le ordené que imprimiese el estado del pin 10 sólo mientras se pulsa. Quiero felicitarte por tu método de enseñanza, ya que has conseguido que desarrolle el problema sólo pensando y aplicando las explicaciones previas. Prometo que no he usado chuletas ni he mirado de reojo los apuntes! jeje, les dejo mi código. Saludos void setup() { Serial.begin(9600); pinMode(10, INPUT); pinMode(2, OUTPUT); } void loop() { while(digitalRead(10)) { Serial.println(digitalRead(10)); digitalWrite(2, 1); delay(250); digitalWrite(2, 0); delay(250); } }
@cefuve
@cefuve 3 года назад
Buenísimo Patrick, cumple perfecto con la función, enhorabuena. Podríamos decir, según lo visto en el curso, que este sería un código bloqueante, ya que una vez que entra al while no se puede hacer ninguna otra función. Gracias por comentar, saludos!
@juangil4134
@juangil4134 2 года назад
Geniales los videos....felicitaciones
@IamFK_86
@IamFK_86 Год назад
eres un capo el mejor tutotrial.......!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@jgr6955
@jgr6955 Год назад
¡Excelente video! Practicaré las conexiones pull up el fin de semana. ¡Gracias!
@cefuve
@cefuve Год назад
Muy bien! nos avisas como te va, saludos.
@jgr6955
@jgr6955 Год назад
@@cefuve Bueno, me parece más sencillo en pull down, pero ¡tienes razón! Es muy importante la práctica 👍👍
@siku3350
@siku3350 3 года назад
Muchas gracias Maestro por este excelente nuevo tuto!!
@germanllamas3004
@germanllamas3004 8 месяцев назад
Da gusto verte explicar las lecciones!
@emedeerre
@emedeerre 3 года назад
Me siento en la escuela otra vez!! El mejor curso por lejos! Gracias Totales!!!
@cefuve
@cefuve 3 года назад
Muchas gracias, saludos!
@juanluisamarocondor5381
@juanluisamarocondor5381 4 года назад
Gracias por la ayuda, muy educativa...
@javiergguinarte
@javiergguinarte 4 года назад
Hola, enhorabuena por el curso. De los mejores cursos en el que las nociones se expliquen tan bien y se entienda a la primera. Todo perfecto, como acostumbras a decir. Un saludo desde España.
@cefuve
@cefuve 4 года назад
Perfecto Javier :D gracias por tu comentario, saludos!
@fredyjuniorocsamamani4177
@fredyjuniorocsamamani4177 2 года назад
Impecable
@510___9
@510___9 2 года назад
Geniales explicaciones!!!! Muchas gracias por los videos y por tu paciencia para conseguir hacerlos tan comprensibles!!! Espero que sigas subiendo contenido. Ánimo y nuevamente gracias!!!!!!!!!
@cefuve
@cefuve 2 года назад
Genial, gracias a ti por verlos!
@raulmarti1441
@raulmarti1441 Год назад
Eres un gran formador. Enhorabuena.
@kokedg32
@kokedg32 2 года назад
Es que eres muy bueno explicando, no me canso de decirlo.. gracias genio!!!
@CARLOSMARTINEZ-ry1bj
@CARLOSMARTINEZ-ry1bj 3 года назад
Excelente
@mig8319
@mig8319 4 года назад
genial!!, muy buen video, ya no aguantaba la espera
@cefuve
@cefuve 4 года назад
Geniaaal Miguel! Y se vienen cada vez más interesantes, saludos.
@flacoberti
@flacoberti 2 года назад
BUEN VIDEO, ME GUSTARIA QUE HICIERAS UN VIDEO EXPLICANDO SEÑALES ANALOGICAS Y DIGITALES Y SU CONVERSION
@diego9deabril
@diego9deabril 4 года назад
Buen video amigo. Me ayudo a comprender mejor el pull up y pull down! Muchas gracias!
@cefuve
@cefuve 4 года назад
Excelente, saludos!
@ignaciolopez6379
@ignaciolopez6379 3 года назад
El mejor curso que encontrado! Felicitaciones
@cefuve
@cefuve 3 года назад
Muchas gracias Ignacio, saludos.
@ignaciolopez6379
@ignaciolopez6379 3 года назад
@@cefuve saludos desde Santiago de Chile
@mecanizadosgrela7380
@mecanizadosgrela7380 Год назад
Gracias por el video.
@OPRA453
@OPRA453 3 года назад
Muchas gracias. Excelente explicación. No puede ser mas claro. Tienes mi Like y mi suscripción para seguir aprendiendo con tus videos.
@cefuve
@cefuve 3 года назад
Muchas gracias Oscar, saludos.
@grupopspropiedades
@grupopspropiedades 3 года назад
Tu canal es GENIAL!!.. Gxs!!
@chcortez61
@chcortez61 3 года назад
Excelentes tus clases, gracias por tu buena voluntad en enseñar, Muchas gracias
@cefuve
@cefuve 3 года назад
Es un gusto para mi Cristian, Saludos.
@cristhiannasarioespinozaac5593
@cristhiannasarioespinozaac5593 4 года назад
explicas muy bien. sige subiendo videos porfavor. Gracias. por la enseñansa
@tecnobytessolutions4661
@tecnobytessolutions4661 2 года назад
muchas gracias por tus videos, siento que ahora en verdad si estoy aprendiendo
@bdaseguramiento5212
@bdaseguramiento5212 4 года назад
Excelente profe, es usted de los mejores... Gracias gracias por su enseñanza.. Estoy aprendiendo mucho mucho de usted
@cefuve
@cefuve 4 года назад
Genial, saludos Juan.
@nicoriffo361
@nicoriffo361 Год назад
Gracias 🤗
@eliasmanzour5680
@eliasmanzour5680 3 года назад
Muchas gracias hasta ahora me queda claro este tema... 👌🏻 Lástima tan pequeño el curso me hubiera gustado ver motores paso a paso...
@cefuve
@cefuve 3 года назад
Denada Elias, voy a anotar motores paso a paso a la lista de deseos. Saludos!
@charlee777
@charlee777 3 года назад
te felicito eres muy claro en tus cursos
@L4UT4_Z
@L4UT4_Z 2 года назад
Es de hace tiempo el vídeo pero me sigo impresionado lo bien explicado y redactado que está todo, no me siento muy inteligente y sin embargo puedo entender a qué se refiere sintiendo que habla técnicamente jaja
@victormanueldominguezmoren1711
@victormanueldominguezmoren1711 4 года назад
Muy buen vídeo; con buenas explicaciones y ejemplos.
@cefuve
@cefuve 4 года назад
Muchas gracias Víctor, saludos.
@mateosena3324
@mateosena3324 3 года назад
Muchas gracias profesor, por fin lo entendí ese concepto , y también gracias por el simulador que es de gran ayuda están fácil de usarlo, por cierto ya me suscribí
@cefuve
@cefuve 3 года назад
No hay de que Matero, gracias a ti por ver mis videos. Saludos!
3 года назад
Muchas gracias se lo agradezco
@alexanderyopanmendoza4201
@alexanderyopanmendoza4201 4 года назад
Muchas gracias por sus explicaciones, aquí en Perú se le coloco de ejemplo en mi Universidad. Siga adelante, estaré pendiente de sus videos.
@cefuve
@cefuve 4 года назад
Hola Alexander, que orgullo saber eso y que bueno que mucha gente pueda aprender con mis métodos. Saludos vecino!
@ivangonzalez6749
@ivangonzalez6749 3 года назад
30:03 Amen!
@cefuve
@cefuve 3 года назад
Amén... bye bye copy/paste
@RicardoHernandez-nd5pp
@RicardoHernandez-nd5pp 2 года назад
Muy bien explicado.
@felipelueiza7704
@felipelueiza7704 4 года назад
Muy buen curso, explicas muy bien!!!! Muchas gracias!!!
@cefuve
@cefuve 4 года назад
Gracias a ti, saludos!
@waitandres6469
@waitandres6469 2 года назад
Alto capo
@angel1138thx
@angel1138thx 3 года назад
gran explicación muchas gracias
@tonicrear
@tonicrear 4 года назад
Gracias , muy didáctico
@cefuve
@cefuve 4 года назад
Genial, saludos!
@cpereg2006
@cpereg2006 Год назад
Amigo, están muy buenos los videos, he aprendido bastante. Sólo una acotación. En el minuto 16:49, en el momento en que cambias de lugar el cable que va al negativo desde el pulsador, el estado cambia de 1 a 0 por un momento antes que presiones el botón. Me pasa lo mismo. Al dejarlo solo, sin presionar nada, me muestra unos 20 o 30 unos y después 20 o 30 ceros, pero no se mantiene sólo en uno. Al presionar obviamente cambia a cero también, pero sólo quería comentar ese detalle.
@cefuve
@cefuve Год назад
Hola Claudio, los pulsadores nunca deben quedar sin resistencia pullup o pulldown, a no ser que le pongas INPUT_PULLUP. Si no colocas resistencia, cuando el botón no esté presionado, es como si el pin estuviera al aire, y eso genera ruido, produciendo mediciones aleatorias... Tengo un video dedicado a los botones donde explico todos estos problemas. Saludos!
@diegomaxpro7793
@diegomaxpro7793 3 года назад
LO UNICO QUE ME COSTO FUE HACER LA CONEXION EL LA PROTOBOARD DE EL PULL DOWN PERO AL FINAL PUDE HACERLO SIGUE ASI SALUDOS
@cefuve
@cefuve 3 года назад
Muy bien, cualquier duda, aquí estamos. Saludos
@estebanmurillo4431
@estebanmurillo4431 3 месяца назад
🔖
@isaacguzman7656
@isaacguzman7656 4 года назад
Muchas gracias, me fue muy bien en mi examen
@cefuve
@cefuve 4 года назад
Me alegro, saludos.
@Juan-vg5mp
@Juan-vg5mp 4 года назад
Muchas gracias profesor he aprendido mucho con usted, muy entendible todo a la primera!!, lo felicito profesor. Una pregunta, se puede interrumpir una sentencia ya sea un IF, FOR etc. Es decir.. una vez que se ejecute el IF o FOR.., y antes de terminar el ciclo ( de la sentencia), poder interrumpirlo (Ejemplo con un PULSADOR) y asi salir (parar todo la sentencia ). ejemplo: // PROGRAMA CORRIMIENTO DE BITS CONTINUO int start = 9; int pin2 = 2; int pin3 = 3; int pin4 = 4; int pin5 = 5; int pin6 = 6; int pin7 = 7; int pin8 = 8; int val = 0; int tiempo = 100; void setup() { Serial.begin(9600); pinMode( start, INPUT); pinMode( pin2, OUTPUT); pinMode( pin3, OUTPUT); pinMode( pin4, OUTPUT); pinMode( pin5, OUTPUT); pinMode( pin6, OUTPUT); pinMode( pin7, OUTPUT); pinMode( pin8, OUTPUT); } void loop() { digitalRead(start); if ((digitalRead(start)== 1)||(val>0)){ val++; Serial.println(val); delay(tiempo); digitalWrite(pin2,1); delay( tiempo); digitalWrite(pin2,0); delay( tiempo); digitalWrite(pin3,1); delay( tiempo); digitalWrite(pin3,0); delay( tiempo); digitalWrite(pin4,1); delay( tiempo); digitalWrite(pin4,0); delay( tiempo); digitalWrite(pin5,1); delay( tiempo); digitalWrite(pin5,0); delay( tiempo); digitalWrite(pin6,1); delay( tiempo); digitalWrite(pin6,0); delay( tiempo); digitalWrite(pin7,1); delay( tiempo); digitalWrite(pin7,0); delay( tiempo); digitalWrite(pin8,1); delay( tiempo); digitalWrite(pin8,0); delay( tiempo); } COMO SALIR EN CUALQUIER MOMENTO DE LA SENTENCIA IF, ANTES QUE TERMINE EL CICLO? espero poder explicarme. Saludos
@cefuve
@cefuve 4 года назад
Hola Juan, gracias por tu comentario... respecto al código, ya que estas usando delay, tendrías que estar leyendo el botón a cada instante antes de cada delay, junto con una estructura condicional para ver si se está presionando el botón. En dicho caso probar con las instrucciones break. Ej: if(digitlaRead(boton)){ break; } if(digitlaRead(boton)){ return; } Saludos
@Juan-vg5mp
@Juan-vg5mp 4 года назад
@@cefuve Gracias por la ayuda Profesor, capte la idea (Y). ahora a probar !!
@leninaguilars
@leninaguilars 2 года назад
muy buena leccion; pero la musica de fondo es muy fuerte
@diegoreyes9917
@diegoreyes9917 2 года назад
Hola muy bueno el curso la verdad si se nota cuando alguien hace lo que le gusta he aprendido bastante con tus vídeos Me surgió la duda de si se puede leer con digitalRead un pin que se ha configurado como salida ?
@cefuve
@cefuve 2 года назад
Hola Diego, gracias por tu comentario. Si se puede hacer, pero hay que configurarlo como entrada antes, es decir: pinMode(2, OUTPUT); digitalWrite(2, HIGH); pinMode(2, INPUT); int lectura = digitalRead(2); Saludos!
@diegoreyes9917
@diegoreyes9917 2 года назад
@@cefuve muchas muchas gracias
@Xavison1
@Xavison1 2 года назад
Excelente video!!! Tengo una consulta: ¿Cómo puedo utilizar el mismo botón para realizar una orden y a la vez detenerla mientras esta se ejecuta?? Te agradecería un montón la respuesta. Saludos master!
@cefuve
@cefuve 2 года назад
Javier, te adjunto un extracto del código que escribí para el video "multitasking usando delay": github.com/cefuve/For-RU-vid/blob/main/multitasking_usando_delay/multitasking_usando_delay.ino int count = 0; int count2 = 0; void loop() { count++; count2++; delay(10); //base de tiempo int lectura = digitalRead(boton); if(count == 100){ count = 0; //este código se ejecuta cada 1s } if(count2 == 50){ count2 = 0; //este código se ejecuta cada 500ms } } *Este código no se recomienda para aplicaciones que necesiten precisión de tiempo. Saludos!
@ronaldfrenzel6720
@ronaldfrenzel6720 2 года назад
Hola profesor, estoy aprendiendo arduino con sus vídeos y hasta ahora todo va bien, pero ahora tengo una pregunta, ¿se debe crear la variable dentro del loop o también se puede crear hantes del setup y funciona igual? Muchas gracias por enseñarnos
@cefuve
@cefuve 2 года назад
Hola Ronald, son diferentes, una se denomina variable global y la otra variable local. Si la declaras antes del setup es una variable global que puedes manipular en cualquier parte del código. Si la declaras dentro de un for, por ejemplo, la podrás manipular solo dentro de ese for. Saludos!
@franciscogil6785
@franciscogil6785 3 года назад
//PULSADOR SIMPLE:ENTRADA DIGITAL CON EL PIN 2 UTILIZANDO LA RESISTENCIA "PULL-DOWN" void setup() { Serial.Begin(9600); pinMode(13,OUTPUT); pinMode(2,INPUT); } void loop() { if(digitalRead(2)==HIGH){//SI EL PIN 2 QUE ESTA DE ENTRADA LEE "HIGH" digitalWrite(13,HIGH); //PON EL PIN 13 QUE ESTA DE SALIDA EN "HIGH" Serial.println(digitalRead(2)); } else{ //SI NO digitalWrite(13,LOW); //PON EL PIN 13 EN "LOW" } Profe porque en el Serial solo me imprime 1,cuando pulso y si no pulso porque no me imprime 0,Muchas gracias y felicidades por el trabajo bien echo
@cefuve
@cefuve 3 года назад
Hola Francisco, eso pasa porque cuando dejas de presionar el botón, digitalRead(2) lee un LOW, por ende el if NO hará esta parte: if(digitalRead(2)==HIGH){ digitalWrite(13,HIGH); Serial.println(digitalRead(2)); } Lo que hará es esto: else{ digitalWrite(13,LOW); } Y como puedes notar, en else no pusiste que imprimiera en el monitor serie, solo diste la instrucción de que se apagara el led 13.
@cefuve
@cefuve 3 года назад
Podrías lograrlo haciendo esto: if(digitalRead(2)==HIGH){ digitalWrite(13,HIGH); Serial.println(digitalRead(2)); }else{ digitalWrite(13,LOW); Serial.println(digitalRead(2)); }
@cefuve
@cefuve 3 года назад
O para estructurarlo mejor y más ordenado: int lectura = digitalRead(2); Serial.println(lectura); if(lectura == HIGH){ digitalWrite(13,HIGH); }else{ digitalWrite(13,LOW); }
@franciscogil6785
@franciscogil6785 3 года назад
@@cefuve Muchas gracias, me ha quedado muy claro, así da gusto
@nestormarcelovenece5091
@nestormarcelovenece5091 3 года назад
Hola cesar, tus videos son muy buenos. Me prguntaba si podrias ayudarme a entender como puedo hacer para leer el dato del peso y compararlo con un numero en una funcion if. Estoy hablando de los datos q arroja un conversor hx711. No se cual es la variable q recoje al peso en los skecher del fabricante, ni como tratarla. Desde ya muchas gracias por todo lo q haces.
@cefuve
@cefuve 3 года назад
Hola Néstor, dependerá de la librería que uses, según esta librería: github.com/bogde/HX711 con la función scale.get_units() obtienes la medición actual, pero antes debes si o si calibrar la celda para obtener el factor de calibración... Tendría que condicionar así: float medicion = scale.get_units(); if(medicion > 50){ //sobrepasó los 50 kg } Saludos.
@nestormarcelovenece5091
@nestormarcelovenece5091 3 года назад
@@cefuve Gracias Cesar, lo provare y ya te cuento. Un saludo
@cefuve
@cefuve 3 года назад
@@nestormarcelovenece5091 Te espero, saludos.
@nestormarcelovenece5091
@nestormarcelovenece5091 3 года назад
@@cefuve hola Cesar, era para comentarte q ya funciona todo. Muchisimas gracias
@diegocejas243
@diegocejas243 3 года назад
Hola profe! Le agradezco todo esto por enceñarnos,. Requiero de su ayuda,. Tendo un esp32 con el mismo circuito del Pullup pero resulta que desde el swich asta el esp32 tengo un tendido de cable UTP de 6 metros y me genera ruido del ambiente o flujo de corriente externa y me acciona un relé sin que precione el swich. Cómo ago para mejorar ese ruido de energía que me genera por el cable UTP? Se crea como una antena el UTP. Desde ya muchas gracias
@cefuve
@cefuve 3 года назад
Hola Diego, lo ideal es usar un cable apantallado, pero igual se puede amortiguar la señal con un condensador, busca un video que hice, de botones. También puedes probar con un filtro EMI RFI. Saludos!
@diegocejas243
@diegocejas243 3 года назад
@@cefuve GRACIAS, probare con lo que de dices y tambien con el condensador. muchas gracias
@victorhugolopezherrera1004
@victorhugolopezherrera1004 2 года назад
Hola Profe. Pregunta el PULLDOWN solo se logra con una resistencia fisica?. Mi pregunta va dirigida a que he visto videos de como crear un gamepad con arduino leonardo o pro micro y no utilizan ninguna placa adicional (si usan una libreria) todo va en la programacion que le dan al arduino. Espero me entienda mi duda. Gracias excelente video
@cefuve
@cefuve 2 года назад
Hola Victor, según el datasheet del atmega32u2 (chip que usan esas placas) ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7766-8-bit-AVR-ATmega16U4-32U4_Datasheet.pdf [página 68] Se puede apreciar que internamente solo tiene resistencia pull_up. Desconozco si existe alguna librería que emule una resistencia pull_down, pero aún así, sería una emulación tramposa. Saludos!
@forxan
@forxan 3 года назад
Hola a tod@s Podrías explicar el porqué no hay un "PULLDOWN" interno?
@cefuve
@cefuve 3 года назад
Hola Víctor, no se si haya una razón técnica por la cual la empresa que diseña microcontroladores no incluye pulldown, pero no tenemos pulldown interno ya que el fabricante no lo incluyó en el diseño. Saludos!
@forxan
@forxan 3 года назад
@@cefuve Vale, miraré el datasheet del ATMEGA328P por curiosidad
@TheCARLOSDNA
@TheCARLOSDNA 3 года назад
Excelente video, una pregunta los puertos analógicos también se pueden configurar como PULL_UP
@cefuve
@cefuve 3 года назад
Hola, si se pueden del A0 al A5. Saludos!
@fermincarmeloruizmartin7100
Hola Cesar, hace un mes termine de ver todos los videos del curso de Arduino. Me pareció estupendo. Ahora se me ha presentado la posibilidad de realizar un pequeño proyecto y me surge una duda que no sé cómo poder implementar una acción. Se trata de tener 6 entradas digitales, leerlas de forma secuencial y después asignar los valores leídos de cada pin a un bit de un registro para formar un byte. Por ejemplo asignar las 6 entradas a los bits 0 al 5 de un byte para formar un valor decimal y dependiendo del valor ejecutar una serie de acciones. Muchas gracias de antemano por tu tiempo y posible ayuda.
@cefuve
@cefuve Год назад
Hola Fermín, la forma más sencilla que se me viene a la cabeza en este momento es hacer una simple suma... byte valor = 0; valor = 1+2+4+8+16+32+64+128; //almacena un 255, que en binario es 11111111 bool input_1 = digitalRead(2); bool input_2 = digitalRead(3); bool input_3 = digitalRead(4); valor = (input_1 * 1) + (input_2 * 2) + (input_3 * 4); Si las 3 entradas están en alto, quedará 1+2+4, es decir 7. El 7 en binario es 11100000. Y así tendrías que completar el código con el resto de entradas. Saludos!
@fermincarmeloruizmartin7100
@@cefuve Gracias por la respuesta Cesar, al final he logrado realizar lo que necesitaba pero en vez de leer las entradas de forma secuencial, las he asignado todas a un puerto entero (PF) y he usado la instrucción DDR para configurar todo el puerto como entrada: DDRF = B00000000; // PORTF0-PORTF7 como entradas. Luego con la instrucción PIN, lee el puerto entero a la vez: lectura_encoder=PINF y después ya según el valor así ejecuto las instrucciones precisas
@cefuve
@cefuve Год назад
@@fermincarmeloruizmartin7100 Gracias a ti por compartir tu solución, de seguro a alguien le puede servir una o la otra... Saludos!
@DavidHernandez-lp1oc
@DavidHernandez-lp1oc 3 года назад
Hola Amigo Buena explicación.... Sabes trabajo con un flotador para nivel de agua y use la funcion digitalRead y Input_pullup, ya que el flotador es como un interruptor El problema es que solo lee una vez, si conecto un extremo del flotador a tierra y muevo el flotador cambia a 0 (Cero) pero no cambia despues como que estuviese pegado... lo mismo si lo hago a 3v marca 1 y despues no cambia de nuevo.... alguna idea de que puede ser.... Muchas Gracias
@cefuve
@cefuve 3 года назад
Hola David, es raro, si estuviera malo el flotador no volvería a trabajar (a no ser qur esté agripado), podrías probar con uno nuevo. Lo otro que puede ser es que el pin no tenga la capacidad de ponerse en pullup, para descartar podrías poner un cable a tierra y sacarlo, eso debería cambiar entre 0 y 1. También puede ser el código, que se quede pegago en alguna parte y no pase más por el digitalRead... Verifica todo eso y me dices como te va. Saludos!
@DavidHernandez-lp1oc
@DavidHernandez-lp1oc 3 года назад
@@cefuve Gracias amigo, si, al comectarlo a tierra cambia y a 3v tambien... pero no actualiza despues al mover el flotador, es como que toma el primer valor y despues no lee.... estoy trabajando con un Nodemcu V3, estaba conectado al pin D0, cambié al D3 y funcionó perfecto.... gracias por la pronta respuesta!!!!
@solodtf1910
@solodtf1910 2 года назад
Muy bn esplicado maestro quisiera poder comunicarme contigo para que me sacarás de unas dudas sobre un proyecto que estoy asiendo y no epodido construir el código si me podés ayudar con tu experiencia te agradecería
@cefuve
@cefuve 2 года назад
Hola, en la descripción están mis redes sociales. Saludos!
@solodtf1910
@solodtf1910 2 года назад
@@cefuve muchas gracias profe
@allancordero9773
@allancordero9773 3 года назад
Excelentes videos, muchas gracias. Tengo una consulta, como se podría medir la cantidad de corriente que llega al pin 10 cuando se utiliza los 3.3v del Arduino, por que los pines digitales también tienen un máximo de corriente de entrada y si excede la corriente de entrada, cuál sería la consecuencia?
@cefuve
@cefuve 3 года назад
Hola Allan, teóricamente los pines configurados como entrada no consumen corriente, solo "ven" el voltaje presente en ellos. Siempre debemos tener en cuenta que es la carga la que pide corriente, en este caso podríamos decir que el pin 10 es la carga, pero cómo está diseñado internamente, no requiere corriente. No es lo mismo cuando el pin se configura como salida, que en ese caso ya no se comporta como carga, si no como fuente, y puede entregar un máximo de 40 mA a la carga que lo requiera, pero si la carga pide más, el pin se podría "quemar". Espero se entienda, Saludos!
@allancordero9773
@allancordero9773 3 года назад
@@cefuve Muchas gracias por la respuesta, la duda me surge por que en el manual del plc(controllino) dice que la máxima corriente de entrada en los pines digitales debe ser menor a 3mA. En este caso se va a utilizar una fuente de alimentación de 24v con 1.7A de salida.
@cefuve
@cefuve 3 года назад
@@allancordero9773 No conozco los controllinos, pero por lo que aparece en google, es un sistema que busca ser un PLC, por ende (me imagino) debe tener más electrónica que la que tiene un Arduino UNO. Pero lo principal es respetar el voltaje de entrada...
@cefuve
@cefuve 3 года назад
@@allancordero9773 Pienso que establecen los 3 mA, porque en automatización puedes tener lazos de control de 4-20 mA, que esos si podrían llegar a comprometer las entradas si no se manejan correctamente.
@allancordero9773
@allancordero9773 3 года назад
@@cefuve perfecto, entonces utilizando una fuente de alimentación adecuada, yo podría realizar el mismo ejercicio que haces tu, es decir, conectar un extremo de un cable a tierra y el otro extremo a el pin digital, cabe recalcar que los pines de controllino traen un pulldown interno.
@miguelalanis6111
@miguelalanis6111 3 года назад
Muy bueno el curso! Como se hace para que el arduino ejecute todo lo antes programado solo con presionar una vez?
@cefuve
@cefuve 3 года назад
Hola, podrías usar una while dentro del setup que esté leyendo el botón, ejemplo: void setup(){ while( digitalRead(pin) ) { } //Si la lectura da 1, sale del while y continúa la ejecución } Saludos!
@miguelalanis6111
@miguelalanis6111 3 года назад
@@cefuve Muchas gracias por contestar mi pregunta! Estoy haciendo el curso y la verdad me encanto! Gracias por compartir tus conocimientos con todos!
@cefuve
@cefuve 3 года назад
@@miguelalanis6111 Es un placer, saludos!
@FranciscoJGomez-CHSM
@FranciscoJGomez-CHSM Год назад
Pregunta profesor podría poner esta instrucción pinMode( pin, !INPUT_PULLUP); ? Ojo, antes de INPUT_PULLUP colocar ! para que el pin arroje 0? Si, funciona........................... es como si pusiera un INPUT_PULLDOWN sin necesidad de poner la resistencia.
@cefuve
@cefuve Год назад
Hola, en el núcleo de Arduino se definen de esta forma: #define INPUT 0x0 #define OUTPUT 0x1 #define INPUT_PULLUP 0x2 Por ende, si niegas el INPUT_PULLUP queda como INPUT. Ya que el operador ! es lógico, lo que es true se transforma en false y viceversa. En este caso, cualquier número que no sea cero, será true. Saludos!
@freedymusic9922
@freedymusic9922 3 года назад
Profe. Cuantos pines puedo configurar como INPUT_PULLUP en simultanea?
@cefuve
@cefuve 3 года назад
Hola! buena pregunta. Los que quieras... según el datasheet, en la página 4: ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf Dice que el puerto B, C y D del microcontrolador tienen resistencia pullup interna. El puerto C son todos los analógicos. El puerto B es del pin 8 al 13. El puerto D es del pin 0 al 7. Saludos!
@freedymusic9922
@freedymusic9922 3 года назад
@@cefuve Entendido. Gracias por responder.
@L4UT4_Z
@L4UT4_Z 2 года назад
En el caso tal de que quiera hacer un divisor de voltaje utilizando la resistencia interna que tiene Arduino, cuál sería esa resistencia interna? Que valor tiene?
@cefuve
@cefuve 2 года назад
Hola, está entre 20 y 50 kΩ.
@fhisdi3762
@fhisdi3762 3 года назад
hola tengo un problema con un código quiero hacer que mi código cuando presione el botón espere un tiempo determinado pero si después del tiempo sigue siendo 1 prenda el led , indefinidamente hasta que deje de presionarlo , pero el problema es que se queda guindado repitiendo el titileo del led aunque deje de presionar el botón, es decir las conexiones están bien todo esta bajo control pero el código no responde así como controlo el tiempo en que el le prende también quisiera que apague cuando deje de presionar . te lo agradecería si me lo explicas
@cefuve
@cefuve 3 года назад
Hola, sería algo como esto: if( digitalRead(boton) ){ delay(2000); while( digitalRead(boton) ){ digitalWrite(led, HIGH); } digitalWrite(led, LOW); } Eso es lo más básico que se pueda hacer, y si el tiempo es demasiado largo podría traer problemas en la ejecución del código... Otra opción sería usar una variable auxiliar de conteo: int count = 0; //Al presionar el boton, cuenta. if( digitalRead(boton) ){ count++; delay(10); } //Si sobrepasa un tiempo determinado, enciende el led. if( count > 1000 ){ digitalWrite(led, HIGH); } //Al soltar el boton, se resetea el conteo y se apaga el led if( !digitalRead(boton) ){ count = 0; digitalWrite(led, LOW); } Espero te sirva, Saludos.
@fhisdi3762
@fhisdi3762 3 года назад
@@cefuve ok perfecto dejame intentarlo y te digo , es un tiempo aproximado de 5 minutos de espera y es un sistema de sensor de puerta alguien en la oficina siempre deja la puerta abierta y quiero que avise cuando queda abierta perp cuando la cierras la alarma se queda prendida infinitamete no se resetea . lo intento y te digo de verdad gracias eres el mejor
@fhisdi3762
@fhisdi3762 3 года назад
@@cefuve perfecto lo probé y funciono solo tuve que cambiar unas cosas y agregar otra variable que necesitaba gracias . como dije eres el mejor
@cefuve
@cefuve 3 года назад
Que bueno que lo hayas logrado, saludos!
@mecanizadosgrela7380
@mecanizadosgrela7380 Год назад
Hola, disculpa la pregunta, el arduino nano que utilizas es el 328p o el 168?, gracias saludos.
@cefuve
@cefuve Год назад
Hola, el 328p. Saludos!
@FranciscoJGomez-CHSM
@FranciscoJGomez-CHSM Год назад
Profesor, porque utilizar una resistencia de 10K. Si pongo el cable a cero que pasa?
@cefuve
@cefuve Год назад
Hola, si colocas un cables sin resistencia pull-up o pull-down, al pin le entrará ruido y hará lecturas erróneas, saludos.
@eliasfigueroa395
@eliasfigueroa395 3 года назад
Con lectura digital también se pueden leer señales de corriente alterna? O siempre tiene que ser corriente continua?
@cefuve
@cefuve 3 года назад
Hola, cualquiera. Mientras sea entre 0V y 5V. Debes tener en cuenta con cuanta rapidez quieres capturar la alterna y con que resolución. Saludos.
@thepatrusnostor5794
@thepatrusnostor5794 3 года назад
Profe se podria decir que cuando quiero interconectar 2 pines donde uno sea 0 y otro 1 siempre debo usar el input o input pull up?. Lo digo por el ejemplo
@cefuve
@cefuve 3 года назад
Creo que no entiendo a que te refieres. Interconectar 2 pines, ejemplo, conectar el pin 4 al pin 5? Si fuera así, con uno en 0 y el otro en 1 se haría un corto-circuito... El input se usa para establecer que un pin se comportará como entrada, el inputpullup a parte de hacer lo mismo, conecta internamente una resistencia permanente hacia positivo.
@ramimatt8982
@ramimatt8982 Год назад
RECOMIENDA SEGUIR SUS TUTORIALES CON LA VERSION IDE 2.0.4 ??
@cefuve
@cefuve Год назад
Hola, solo si tienes conocimientos del entorno de desarrollo, porque si nunca antes trabajaste con arduino, entrar con la versión 2 puede darte algunos dolores de cabeza, sobre todo teniendo en cuenta que está publicada hace muy poco.
@TheJohanPlay
@TheJohanPlay 4 года назад
Muchísimas gracias. PSDT: La música de fondo estaba un poco fuerte.
@cefuve
@cefuve 4 года назад
Siii, gracias por la retroalimentación. Aquí todavía no calibraba bien los niveles de audio y tenía muchos problemas con la grabación de mi voz, ahora invertí en un micrófono y hago una post-producción más dedicada del audio. Saludos!
@manuelpr1216
@manuelpr1216 3 года назад
Muchas gracias por el vídeo. Tengo una pregunta: en el ejercicio práctico, al pulsar el botón se activa el led y se envía una señal al pin 19 (digitalRead), cierto? Mi pregunta es: es esto un pulldown y por tanto debe estar el botón conectado al positivo del circuito? Y si es pullup lo ponemos antes tierra al negativo? Te agradecería tu ayuda. Saludos
@cefuve
@cefuve 3 года назад
Hola Manuel, no entendí lo del pin 19, no me suena... Con respecto a la resistencia pull, imaginate el botón y la resistencia en serie entre positivo y negativo... Cuando hablamos de pulldown, la resistencia va abajo en la serie, hacia negativo (tierra). Cuando hablamos de pullup, la resistencia va arriba en la serie, hacia positivo. Conclusión, down resistencia abajo, up resistencia arriba. Saludos!
@manuelpr1216
@manuelpr1216 3 года назад
@@cefuve perdón, me refería al pin 10, (me equivoqué al teclear).
@manuelpr1216
@manuelpr1216 3 года назад
@@cefuve gracias!!
@alejandroalvarez6864
@alejandroalvarez6864 2 года назад
¿Este circuito sirve como una señal clock?
@cefuve
@cefuve 2 года назад
Hola, si, el pulldown y pullup.
@tomatea2190
@tomatea2190 Год назад
excelente clase como siempre.. pero no me gusto la musica de fondo.. nose se prestava atención a la clase o se tomaba unas cervejas... lo recomiendo una musica tranquila de fondo.. bajita.. para asi prestar bien atención..
@cefuve
@cefuve Год назад
Secreto del Olimpo, estudiar tomando cerveza jajaja En los últimos videos he tomado en cuenta esta petición que ya varias personas me han hecho. Gracias.
@Juanosoyyyo
@Juanosoyyyo 2 года назад
Estoy haciendo un proyecto con la resistencia pull up interna con un detector de flacos y no siempre me detecta cuando apreto el pulsador... A que se puede deber esto?
@cefuve
@cefuve 2 года назад
Hola, le tienes conectado condensadores? si es así, quizás sean de mucho valor.
@Juanosoyyyo
@Juanosoyyyo 2 года назад
@@cefuve No tengo... Quiso los internos de arduino puedan estar provocándolo?
@cefuve
@cefuve 2 года назад
@@Juanosoyyyo pero el detector de flancos lo estás haciendo por software o por hardware? si es por software, que código estas usando? prueba también con otros botones, puede ser un problema electromecánico.
@prudenciopinzonl8042
@prudenciopinzonl8042 4 года назад
Un saludo. UP es como una entrada npn y DOWN entrada pnp?
@cefuve
@cefuve 4 года назад
Hola máster, está hablando de sensores, cierto? En ese caso, los sensores tienen salidas npn o pnp, y lo podemos relacionar con pullup y pulldown porque lo que hacen es modificar el flujo de electrones...
@cefuve
@cefuve 4 года назад
Dicho esto, podríamos decir que lo que usted dice está bien, pero hay que tener cuidado de no confundirse, saludos!
@prudenciopinzonl8042
@prudenciopinzonl8042 4 года назад
@@cefuve Muchas gracias por la respuesta pronta.
@josephfalconsac9551
@josephfalconsac9551 2 года назад
Hola, como haria si es que al presionar un pulsador me imprima en pantalla un texto ?
@cefuve
@cefuve 2 года назад
Hola Joseph, me imagino que te refieres a mostrar a pantalla completa un texto, si es así, tendrías que hacer una interfaz con algún lenguaje de programación como python, por ejemplo (más sencillo y rápido). Y usar alguna librería de comunicación serial, para recibir los datos desde el arduino. create.arduino.cc/projecthub/ansh2919/serial-communication-between-python-and-arduino-e7cce0 Para hacer la interfaz gráfica en python puedes usar tkinter, por ejemplo. Saludos!
@josephfalconsac9551
@josephfalconsac9551 2 года назад
@@cefuve me pidieron tener un pulsador y el arduino pero conectar todo, programar y que al momento de presionar o activar el pulsador en el monitor serie del arduino me tiene que salir por ejemplo "hola soy arduino" y esa es la parte que no entiendo
@cefuve
@cefuve 2 года назад
@@josephfalconsac9551 Entonces debes ver este video ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-_0KUhPQhtwA.html
@nievescorvilloortiz4996
@nievescorvilloortiz4996 3 года назад
Me gustan mucho tus videos pero bajo mi punto de vista cometes el tremendo error de poner música de fondo. Es una crítica constructiva que espero encajes de esa forma ya que no pretendo ofender ni cuestionar tu gran labor. Gracias por tus videos! un saludo.
@cefuve
@cefuve 3 года назад
Hola Nieves, ya me lo han dicho anteriormente y ten por seguro que lo tomo en cuenta, y obviamente agradezco los comentarios con retroalimentación, no hay problema. Me alegra que te gusten mis videos, gracias por comentar. Saludos!
@jamersonmendoza9112
@jamersonmendoza9112 4 года назад
hola me puede orientar para hacer un ciclo repetitivo con 2 led que encienda y apague y se inicie y termine dos pulsadores
@cefuve
@cefuve 4 года назад
Hola Jamerson, a ver si entendí... Necesitas que un led titile solo al presionar 2 botones y se apague con los mismo 2 botones? Podrías brindar un poco más de detalle, para ayudarte mejor, saludos.
@jamersonmendoza9112
@jamersonmendoza9112 4 года назад
@@cefuve hola gracias por responder lo que quiero es ensender dos led de forma intermitente. Y que prenda con un botón y apague con otro botón si me puedes ayudar muy agradecido por sierto muchas felicitaciones muy buenos videos te seguiré para seguir aprendiendo de tema ante mano gracias
@cefuve
@cefuve 4 года назад
Gracias Jamerson... Con respecto a tu consulta, te escribo una idea: bool estado = false >setup >loop if(digitalRead(2)){ estado = true } if(digitalRead(3)){ estado =false } if(estado == true){ Hacer titilar el led } Espero se entienda la idea, saludos.
@jamersonmendoza9112
@jamersonmendoza9112 4 года назад
@@cefuve muchas gracias por la idea 💡
@joanperisbelles8060
@joanperisbelles8060 Год назад
Se te va el audio algunas veces a lo largo del video.
@cefuve
@cefuve Год назад
Gracias por avisar, lo que pasa es que algunos audios tienen reclamación por derechos de autor, por lo que he tenido que silenciar las partes donde aparecen esos audios, lo siento. Saludos!
@estebanmurillo4431
@estebanmurillo4431 3 месяца назад
🥽
@astlimbark
@astlimbark 2 года назад
me da ansiedad ver el scrool :-(
@cefuve
@cefuve 2 года назад
Cuál de todos los scroll??? 😲
@miguelmoreno6865
@miguelmoreno6865 3 года назад
Que manía de obligarte a escuchar música que molesta.
@cefuve
@cefuve 3 года назад
Para gustos, colores...
Далее
Раскрыла секрет дочки!
00:37
Просмотров 355 тыс.
🟣ESP32 Entradas analógicas
9:49
Просмотров 56 тыс.