Arduino desde cero en Español - Capítulo 21 - Interrupciones externas ✋ (pruebas con KY-010)

Поділитися
Вставка
  • Опубліковано 27 лис 2024

КОМЕНТАРІ • 247

  • @enriqueplancner6149
    @enriqueplancner6149 5 років тому

    Muy clara la explicación de interrupciones, es la mejor que he visto hasta el momento.
    Realmente tenés gran capacidad para enseñar. Te felicito.

    • @BitwiseAr
      @BitwiseAr  5 років тому

      Gracias por el comentario, me alegro que encuentres el material de utilidad.
      Saludos

    • @enriqueplancner6149
      @enriqueplancner6149 5 років тому

      @@BitwiseAr Te cuento que pese a haber hecho el curso de nivel básico en Monarca y haberme inscripto en el nivel intermedio voy siguiendo tu curso porque realmente explicás muy bien, de hecho soy ingeniero en electrónica pero me recibí en 1983 y tu curso me encanta.

    • @BitwiseAr
      @BitwiseAr  5 років тому

      Genial, saludos

  • @isaacrafaelnunezservian708
    @isaacrafaelnunezservian708 2 роки тому +3

    Increíbl Bitwise, estoy aprendiendo un montón de tus videos. Te mereces el mejor de los éxitos.

  • @valerio2150
    @valerio2150 6 років тому

    Sin lugar a duda, el mejor y mas completo curso de arduino, gracias

    • @BitwiseAr
      @BitwiseAr  6 років тому

      Gracias por el comentario, muy amable. Un saludo

  • @gabrield4240
    @gabrield4240 6 років тому +4

    Otra vez!, excelente video! sos lo mejor q existe en la internet para explicar arduino, eres realmente el rey de reyes!.

    • @BitwiseAr
      @BitwiseAr  6 років тому

      Gracias por el comentario, muy amable. Saludos

  • @dgnrlento
    @dgnrlento 3 роки тому

    Es una explicación muy clara. Muchas gracias. Su forma de enseñar es la mejor que conozco.

  • @MsFrepu
    @MsFrepu 6 років тому

    La verdad lo haces tan fácil , que parece mágico , muchas gracias

    • @BitwiseAr
      @BitwiseAr  6 років тому

      Gracias por el comentario. Saludos

  • @mixed9491
    @mixed9491 2 роки тому

    el mejor video que he visto sobre las interrupciones, enhorabuena!

    • @BitwiseAr
      @BitwiseAr  2 роки тому

      Gracias por el amable comentario y la visita.
      Saludos

  • @jam3dpimpresiones
    @jam3dpimpresiones 4 роки тому +2

    Excelente tutorial amigo, y muy buen ejemplo para usar las interrupciones.

  • @jesusenriquehernandezproo3049
    @jesusenriquehernandezproo3049 4 роки тому

    Eres un crack amigo que manera de explicar gracias a este tutorial pude implementarlo en mi proyecto

  • @danieledgardopalomar7812
    @danieledgardopalomar7812 3 роки тому

    Sos lo mejor de Inet, en Arduino!

    • @BitwiseAr
      @BitwiseAr  3 роки тому

      Gracias por el comentario y la visita.
      Saludos

  • @lurodev
    @lurodev 4 роки тому +1

    Muy buen vídeo, excelente video, muchas gracias por compartir esa información tan detalladamente y con esos ejemplos demostrativos. Busque mucho y este ha sido el único video que he logrado entender de las interrupciones.

  • @Asimov10
    @Asimov10 5 місяців тому

    Excelente video. Yo le agregue al ultimo programa en el void setup, un Serial.begin y en void sensor hice el Serial.println, para ver como avanza la interrupcion.

    • @BitwiseAr
      @BitwiseAr  5 місяців тому +1

      Genial, gracias por el comentario y la visita.
      Saludos

  • @WALTERCARRIONTORRESValiCT
    @WALTERCARRIONTORRESValiCT 4 роки тому +1

    Excelente, mis felicitaciones
    Muy buena la información

    • @BitwiseAr
      @BitwiseAr  4 роки тому +1

      Gracias por el comentario.
      Saludos

  • @victorhugovargaslopez9533
    @victorhugovargaslopez9533 4 роки тому

    Excelente explicación en todo sentido , que mi Dios se lo pague...

  • @Gustavo-ej9hy
    @Gustavo-ej9hy 3 роки тому

    amigo, gracias a ti estoy aprendiendo muchas cosas, gracias.

  • @rodrigovenegas9606
    @rodrigovenegas9606 3 роки тому

    Grande Capo, mejor explicado, imposible

    • @BitwiseAr
      @BitwiseAr  3 роки тому

      Gracias por el comentario y la visita.
      Saludos

  • @giovannisj230
    @giovannisj230 2 роки тому

    No entiendo por que en otros tutoriales de internet no enseñan sobre estas dos funciones, son escenciales para el uso de pulsadores y sensores que funcionan como tal. Muchas gracias por este aporte

    • @BitwiseAr
      @BitwiseAr  2 роки тому +1

      Gracias por el comentario y la visita.
      Saludos

  • @justovelarde3456
    @justovelarde3456 5 років тому

    Gracias por tu amable y esclarecedora respuesta.

  • @manuel869
    @manuel869 5 років тому +2

    Excelente tutorial......como siempre da gusto seguir tus videos tutoriales, los hacer ver muy fácil aunque en la practica me hacen patinar un poco.
    Un libro sobre Arduino que puedas recomendar....
    Mil gracias.

    • @BitwiseAr
      @BitwiseAr  5 років тому +4

      Gracias por el comentario, entre más práctica, más se aprende.
      Sinceramente no podría recomendarte un libro ya que no he leido ninguno, claro que hay muchos, pero en mi caso con los conocimientos de electrónica, fue un tema más de programación que otra cosa y eso lo fui aprendiendo de diversos videos, tutoriales, foros.
      Saludos

  • @juliobuonfigli9715
    @juliobuonfigli9715 4 роки тому +1

    Excelente explicación, sos un gran docente amigo

  • @fgelectrico
    @fgelectrico 4 роки тому +1

    Muy trabajado excelente tutorial gracias

    • @BitwiseAr
      @BitwiseAr  4 роки тому +1

      Gracias por el comentario.
      Saludos

  • @javierdetecno3022
    @javierdetecno3022 2 роки тому

    Muy buena explicación. Enhorabuena

    • @BitwiseAr
      @BitwiseAr  2 роки тому

      Gracias por el amable comentario.
      Saludos

  • @erasmohernandez6001
    @erasmohernandez6001 4 роки тому +2

    Buen video, todo bien explicado y detallado 👍

  • @paulogomez7366
    @paulogomez7366 4 роки тому

    MUY BUEN VIDEO, EXCELENTE LA EXPLICACION Y EL DETALLE.

    • @BitwiseAr
      @BitwiseAr  4 роки тому

      Gracias por el comentario.
      Saludos

  • @manuelrodasratazzi9403
    @manuelrodasratazzi9403 4 роки тому

    Hola, he vuelto a ver este tutorial, buscando un ejemplo de mandar a dormir al arduino para ahorrar bateria y despertarlo con una interrupción. Obviamente no lo he encontrado. Me he recorrido tus tutoriales y no encuentro ninguno sobre librerias de ahorro de energia. Se que hay por ahí algunos ejemplos, pero tengo que reconocer que eres el primero en consultar dudas de Arduino por la calidad de tu exposiciones. Te agradecería que si lo tienes a bien, puedas hacer algún que otro tutorial sobre la libreria lowpower y las implicaciones con las interrupciones. Gracias y felicidades por tus videos.

    • @BitwiseAr
      @BitwiseAr  4 роки тому

      Hola, gracias por el comentario y la sugerencia.
      Saludos

  • @josephvogulys
    @josephvogulys 4 роки тому

    Este tiempo me está sentando muy bien

  • @fernandofullgraff2528
    @fernandofullgraff2528 4 роки тому

    Excelente explicacion ! Gracias desde Chile

    • @BitwiseAr
      @BitwiseAr  4 роки тому +1

      Gracias por el comentario.
      Un saludo

  • @jaimezuleta8125
    @jaimezuleta8125 2 роки тому

    Excelente video. Muy bien explicado.

    • @BitwiseAr
      @BitwiseAr  2 роки тому

      Gracias por el comentario y la visita.
      Saludos

  • @santiagogarcia4815
    @santiagogarcia4815 3 роки тому

    este video es MAGICO

  • @aero_simco
    @aero_simco 4 роки тому +1

    Excelentes tutoriales. Qué detalle! 👍🏻👍🏻👍🏻

  • @eduardovelezcarpio5287
    @eduardovelezcarpio5287 5 років тому

    he hecho un codigo en el que manejo dos motores paso a paso de forma que un joystick manejo los dos motores y simulo una grua de forma que moviendo el joystick de derecha a izquierda la grua gira en redondo y moviendo el joystick de arriba abajo el brazo de la grua sube y baja. Vale hasta ahi todo bien y funciona. ahora se me ocurrio incrementarle dos finales de carrea para subida y bajado con un fototransistor, hice el codigo y primero lo simule con pulsos de 5v y correcto. luego incremente el fototransistor y solo funcina para subida para bajada se viene abajo los 5 voltios de salida del sensor cuando detecta. configure la patilla 3 para el fin de carrea de bajada y la 2 para el fin de carrea de subida. he medido la intensidad que circula por el pin 3 cuando sube metiendo un pulso directo de 5 voltios desde arduino y hace bien la funcion pero circula 80mA hacia el pin muy elevado parece, pero hace bien la funcion. pero cuando le meto el fototransistor se biene abajo supongo porque no resiste la carga de 80mA. sin enbargo para la subida apenas consume nada. he puesto las pullup de 10k y todo correctamente. no lo entiendo y el codigo es calcado tanto para subir como para bajar. y lo hace para bajar en cualquier patilla que le configure. tendrias alguna explicacion.

    • @BitwiseAr
      @BitwiseAr  5 років тому

      Hola Eduardo, lamentablemente por cuestiones de tiempo libre no me es posible analizar código de proyectos, solo puedo responder a alguna cuestión puntual del capítulo.
      Saludos

    • @eduardovelezcarpio5287
      @eduardovelezcarpio5287 5 років тому

      pero el codigo funciona lo que consume demasiado es la entrada donde se programa la condicion de parada. sea la entrada que sea. y solo para la condicion de giro contrahorario del paso a paso. me inclino mas por un problema electronico.

  • @lacienciatecnologia.4699
    @lacienciatecnologia.4699 6 років тому +1

    muy buena manera de explicar lo haces mas sencillo

    • @BitwiseAr
      @BitwiseAr  6 років тому

      Gracias por el comentario. Un saludo

  • @agustinchumbita1392
    @agustinchumbita1392 3 роки тому

    Que lujos tus videos!

    • @BitwiseAr
      @BitwiseAr  3 роки тому +1

      Gracias por el comentario y la visita.
      Saludos

  • @FuzanToko
    @FuzanToko 6 років тому

    Muy buenas explicaciones, un agrado ver tus videos. Saludos

    • @BitwiseAr
      @BitwiseAr  6 років тому

      Gracias por la visita !

  • @sebastiansantander9624
    @sebastiansantander9624 6 років тому

    Que buen video...
    Rapido y sencillo de aprender..

    • @BitwiseAr
      @BitwiseAr  6 років тому

      Gracias por el comentario. Saludos

  • @ricardoperez7580
    @ricardoperez7580 6 років тому

    Muy buena explicación, muchas gracias por compatir tus conocimientos

    • @BitwiseAr
      @BitwiseAr  6 років тому

      Gracias Ricardo por el comentario. Saludos

  • @erickdavidchavezpereda2332
    @erickdavidchavezpereda2332 6 років тому

    Que grande!! Lo entendí muy bien, muchas gracias!! Me sirvió bastante!

    • @BitwiseAr
      @BitwiseAr  6 років тому

      Gracias por el comentario, me alegro que encuentres el material de utilidad. Saludos

    • @byronzambranorisco6396
      @byronzambranorisco6396 6 років тому

      hahahaha

  • @Fenrryll
    @Fenrryll 4 роки тому

    Simplemente gracias

    • @BitwiseAr
      @BitwiseAr  4 роки тому

      Gracias por el comentario y la visita.
      Saludos

  • @bot902
    @bot902 5 років тому +1

    maestro por fin aprendi interrupcion

  • @ignaciorobles5689
    @ignaciorobles5689 3 місяці тому

    Excelente proyecto

    • @BitwiseAr
      @BitwiseAr  3 місяці тому

      Gracias por el comentario y la visita.
      Saludos

  • @MrCalf18
    @MrCalf18 3 роки тому

    Gracias por la aportación!

    • @BitwiseAr
      @BitwiseAr  3 роки тому

      Gracias por el comentario y la visita.
      Saludos

  • @albertoosorio824
    @albertoosorio824 Місяць тому

    Excelente contenido

  • @eduardoo1652
    @eduardoo1652 7 років тому

    muy ilustrativo felicidades, muchas gracias

    • @BitwiseAr
      @BitwiseAr  7 років тому

      Gracias Eduardo por tu comentario. Saludos

  • @JavierEnriqueVasquezLopez
    @JavierEnriqueVasquezLopez 3 роки тому

    Mucha calidad, gracias!!!

    • @BitwiseAr
      @BitwiseAr  3 роки тому

      Gracias por el comentario y la visita.
      Saludos

  • @marioantoniosanchezsanchez3970
    @marioantoniosanchezsanchez3970 5 років тому

    Excelentes cursos, felicidades

    • @BitwiseAr
      @BitwiseAr  5 років тому

      Gracias por el comentario. Saludos

  • @cuauhtemocblanco8795
    @cuauhtemocblanco8795 4 роки тому

    Excelente explicación

  • @franciscoarturoramirezoliv2222
    @franciscoarturoramirezoliv2222 3 роки тому

    Eres un crack!

  • @prudenciopinzonl8042
    @prudenciopinzonl8042 5 років тому

    Gracias por compartir.

  • @CarlosOrtega-ze6ks
    @CarlosOrtega-ze6ks 6 років тому

    Excelente explicacion.
    Felicitaciones !!!!!!
    Slds.

    • @BitwiseAr
      @BitwiseAr  6 років тому

      Gracias por el comentario. Saludos

  • @francovulekovich921
    @francovulekovich921 7 років тому

    Estuvo interesante . Buen video

  • @JuanjuGomez
    @JuanjuGomez 5 місяців тому

    Excelente, viendo el video ya estaba pensando en que esto sirve perfectamente para hacer una parada de emergencia en un sistema mediante un botón o pulsador, o me equivoco? Luego con otro botón en el pin 3, compruebo que el botón 2 se haya desligado y reinicio el sistema.

  • @carlosdiaz-mz8xe
    @carlosdiaz-mz8xe 5 років тому +1

    Excelente maestro....

  • @earevaloo
    @earevaloo 7 років тому

    Muy buen video, gracias.

  • @julianberrio3224
    @julianberrio3224 6 років тому

    Muchas gracias por tu respuesta, pude solucionarlo con la funcion attachInterrupt, ahora tengo un programa para hacer que un led se encienda y se.apague pidiendo variar su.frecuencia de encendido apagado con un potenciometro, no que.no he podido lograr es q se ejecute sin tener que dejar presionado el led, es decir, que se haga la tarea presionando el.led una sola vez

  • @claudioricci1874
    @claudioricci1874 4 роки тому

    Excelente!

  • @traceanimals9101
    @traceanimals9101 6 років тому

    Un crack la verdad 👌👌

    • @BitwiseAr
      @BitwiseAr  6 років тому

      Gracias por el comentario. Un saludo

  • @julimaker4594
    @julimaker4594 6 років тому

    Que facil haces que parezca todo.Saludos

  • @telconind619
    @telconind619 4 роки тому

    Excelente

    • @BitwiseAr
      @BitwiseAr  4 роки тому

      Gracias por el comentario.
      Saludos

  • @nicolasdacci8913
    @nicolasdacci8913 3 роки тому

    Excelente explicacion... una consulta.. si coloco un pulsador como parada de emergencia .. y con este detener motores para que no sigan funcionando... conviene hacer la lógica en la funcion isr ? O es muy larga atendiendo a lo que aconsejas que sean breves... y conviene que en la isr cambiemos el estado de una variable y luego en el loop con ese estado ya cambiado actuemos sobre los Enabled de los driver de motores? Gracias.. te sigo hace mucho tiempo y aprendí muchisimo...

    • @BitwiseAr
      @BitwiseAr  3 роки тому +1

      Hola, gracias por el comentario, se suele implementar efectivamente con una interrupción que cambie el estado de una variable de control en el loop.
      Saludos

  • @valderolmocorrea1563
    @valderolmocorrea1563 Рік тому

    Boa amigo. Irá me ajudar bastante em meu projeto. Obrigado por compartilhar conhecimento.
    Fique bem 🙏

  • @mdggtz4300
    @mdggtz4300 4 роки тому

    GRACIAS

    • @BitwiseAr
      @BitwiseAr  4 роки тому

      Gracias por el comentario y la visita.
      Saludos

  • @alvarofernandez6042
    @alvarofernandez6042 4 роки тому +1

    Muchísimas gracias por los tutoriales. Tienes una forma de explicar que lo hace realmente accesible. Qué bonito el compartir conocimientos.
    Creo que entendí una cosa, pero quiero contrastarla. Si tú inicias una función millis por fuera de la interrupción, ¿El tiempo en el que el programa entra en la función de interrupción no los tiene en cuenta el millis? Por ejemplo, si haces una millis para abrir una válvula cada 24h e interrupciones por X razón, todo ese tiempo transcurrido en las interrupciones te descuadraría de las 24 horas?
    Muchas gracias y abrazos desde España :)

    • @BitwiseAr
      @BitwiseAr  4 роки тому +1

      Hola, por ese motivo la función ISR debe ser lo más corta posible, en la mayoría de casos con cambiar el estado de una variable es suficiente, luego en el loop() se evalúa si la variable cambió y se toma una acción.
      Saludos

  • @hhmvac
    @hhmvac 2 роки тому

    Como siempre , muy buen video, tengo una consulta, cuantos niveles de anidacion de interrupciones se permite, es decir, si desde una interrupcion se puede antender otra interrupcion

    • @BitwiseAr
      @BitwiseAr  2 роки тому +1

      Hola, gracias por el comentario, como se mostraba en la tabla del inicio del video las placas clásicas tiene dos pines para interrupciones asi que es poco probable que lleguen dos en simultáneo, al menos lo que pueda considerarse "simultáneo", por eso la ISR debe ser lo más breve posible.
      Saludos

  • @AgustinaArchilla
    @AgustinaArchilla 4 роки тому

    GENIAL!!!!

  • @xavigibert3013
    @xavigibert3013 3 роки тому

    hola me está yendo muy bien tus videos.
    Queria saber... podriamos hacer que la misma interrupción sumara y restara?¿como?
    Gracias

    • @BitwiseAr
      @BitwiseAr  3 роки тому

      Hola, la interrupción es un proceso que llama a la función ISR, en ella se puede tomar la acción que se necesite o simplemente cambiar el estado de una variable en el loop() y dentro del mismo tomar la acción.
      Saludos

  • @angelicakarinatorrestinoco5557

    muchas gracias por su exelente curso estoy aprendiendo de un gran maestro, tengo un proyecto con un monedero electronico multimoneda usando interrupcciones solo que en el codigo le pongo una condicionante if segun el precio determinado de un producto pero no me lo respeta , me enciende un relee a la primer moneda que le deposite , me podria orientar cual seria mi error en el codigo? muchas gracias

  • @ReynaldoVALENTINCARRASCOs
    @ReynaldoVALENTINCARRASCOs 3 роки тому

    muy bueno

    • @BitwiseAr
      @BitwiseAr  3 роки тому

      Gracias por el comentario y la visita.
      Saludos

  • @oscarsanchez-ib8xe
    @oscarsanchez-ib8xe 3 роки тому

    hola muchas felicidades por el video, solo una pregunta el sensor efectivamente cuenta las vueltas solo que mi duda es si es necesario que pase un objeto justamente por en medio del sensor? te pregunto en el caso de la impresora sin problema pasa una simple cinta transparente con lineas de color negro asi interrumpe es as de luz y cuenta las vueltas, pero en el caso de un motor ahi que seria lo que podriamos pasar por medio del sensor para que realice el conteo por poner ese ejemplo? en los autos este lo traen en el cigueñal para contar las vueltas y a su vez la revoluciones pero no he visto pase por en medio algo? solo he visto que pasa con una proximidad minima, o este es otro tipo? muchas gracias y saludos desde mexico.

    • @BitwiseAr
      @BitwiseAr  3 роки тому

      Hola, gracias por el comentario, este sensor en particular por su construcción require interrumpir la luz entre el emisor y el receptor infrarrojo, hay otros métodos para el caso de motores donde se usan sensores de efecto Hall por proximidad a un campo magnético.
      Saludos

    • @oscarsanchez-ib8xe
      @oscarsanchez-ib8xe 3 роки тому

      @@BitwiseAr hola gracias por tu atención antes que nada, y si tienes razón ese sensor ya lo habíamos visto en capítulos anteriores es simplemente un sensor de proximidad que simplemente al acercarse realiza el conteo muchas gracias y saludos seguiremos estudiando cuidate un abrazo.

  • @robertoimperatori8204
    @robertoimperatori8204 6 років тому

    gracias por este excelente curso que me està ayudando mucho a entender y programar Arduino. Quisiera hacer una pregunta: estoy proyectando un sistema de llenado de botellas. Me interesa que Arduino active un relè conectado a la bomba del agua cada vez que detecte la presencia la de la botella. Què sensor es el adecuado? Habia pensado uno de infrarrojos, con dos sensores que se colocarian separadamente en el espacio para la botella. Mi segunda pregunta es què sensor de interrupciòn se podria utilizar para que la bomba se detenga cuando la botella està llena? En teoria serian dos interrupciones: uno que detectaria la presencia de la botella y que activarìa la bomba. El segungo que la detendrìa cuando la botella estuviese llena. Te agradezco mucho tu ayuda.

    • @BitwiseAr
      @BitwiseAr  6 років тому

      Hola Roberto, me alegro que encuentres de utilidad el material. El tipo de sensor para detectar la botella dependería de si se coloca de a uno la botella o es parte de un sistema de cinta transportadora, un sensor infrarrojo podría funcionar pero tendrías que tener en cuenta que la botella vacia ya sea plástico o vidrio puede no reflejar del todo bien el haz de luz infrarroja.
      Quizás por el propio peso de la botella un simple circuito interruptor con microswtich sería suficiente o utilizar ambos sistemas en simultáneo. Una vez detectada la botella un relé puede encender la bomba de llenado, luego un sensor del tipo caudalímetro podría monitorear la cantidad de líquido que circula para saber cuando se debe detener la bomba.
      Debés tener en cuenta que sería una solución "casera" a un problema que es más del tipo industrial donde existen sistemas de control mucho más complejos que un simple Arduino y los sensores y sistemas de control mucho más sofisticados pero con esos sensores mencionados se podría armar algo.
      Espero te sirva. Saludos

  • @agrofe2
    @agrofe2 4 роки тому

    Hola estoy diseñando el código de una pequeña lavadora de piezas mecánicas para relojería, básicamente es un motor que gira a derecha durante 10 segundos y después izquierda otros 10 segundos pero la parada ha de ser manual mediante un interruptor. El problema es que este interruptor no debe cortar la corriente del arduino o el motor en ningún momento, lo quiero hacer por software es decir, aunque el ciclo de movimiento del motor haya comenzado en el momento de activar el interruptor se debería parar en seco y aparecer el correspondiente mensaje en un display lcd. He probado con interrupciones, la función while pero no se me ocurre como puedo pararlo todo instantáneamente saltándose los delays que hay en el código.
    muchas gracias de antemano

  • @vicentealvarado2415
    @vicentealvarado2415 4 роки тому

    Excelente video, pero tengo una duda se podría hacer lo mismo enviando comandos bluetooth, en ese caso en que modo debe ir la funcion de interrupcion?.... mi problema es el siguiente, estoy usando un módulo bluetooth hc-05 para controlar un led y un buzzer pasivo al mismo tiempo, por ejemplo desde mi celular yo apreto el boton on y se prende el led y se reproduce la melodía, pero al momento de querer apagarlo desde mi celular con el botón off de la app, no sucede nada, debo esperar a que acabe la melodía y luego de eso recién coge el comando para apagar el led y dejar de reproducir el buzzer pasivo, por esa razon me parecio interesante este video, ya que se me ocurrió que esto de interrupciones de arduinos puede ser la solución a mi problema, pero no se como implementarlo para que funcione, que comando debo poner y si se pone una condicional if en la funcion de interrupcion o como se hace.... Te doy las gracias de antemano, espero me puedas ayudar con mi problema.

  • @elyeti1
    @elyeti1 4 роки тому

    Cuando surge una interrupción se deshabilitan todos los pines? Ejemplo, si tienes el led del pin 13 encendido y se activa una interrupción larga, el led se apaga mientras arduino atiende a la interrupción?
    Siguiente cuestión, si la función de la intervención se demora un poco y aparece otra interrupción del mismo pin que pasa?

    • @BitwiseAr
      @BitwiseAr  4 роки тому

      Hola, justamente se explica que la función ISR debe ser lo más corta posible, igual estamos hablando de microsegundos, atiende la interrupción y vuelve al flujo normal del programa, no afecta a los pines.
      Saludos

    • @elyeti1
      @elyeti1 4 роки тому

      Entiendo éso, pero es una recomendación para no afectar a los tiempos del programa principal. Pero qué pasa si quiero medir el ancho del pulso que ha causado la interrupción? La entrada analógica necesita tiempo. Y si quiero hacer varias medidas, un muestreo de dicha señal? Sé que la función delay() y millis() no están disponibles, pero si lo está la función micros () y se puede usar para hacer demoras....
      Eso sería una interrupción larga así que mientras el programa principal está en pausa, que pasa con los pines? Y si surge otra interrupción mientras está en curso la interrupción?

  • @xaviibanyez1496
    @xaviibanyez1496 Рік тому

    Hola. Excelente trabajo. ¿Se pueden "anidar" interrupciones. ?Es decir, llamar a una interrupción desde otra.
    Gracias.

    • @BitwiseAr
      @BitwiseAr  Рік тому

      Hola, las interrupciones llegan por un evento externo. Existen otro tipos de interrupciones por temporizadores analizada en el capítulo 77:
      ua-cam.com/video/kI-jT-y1SKQ/v-deo.html
      Saludos

    • @xaviibanyez1496
      @xaviibanyez1496 Рік тому

      @@BitwiseAr Muchas gracias. Entiendo por tu respuesta que no. No se pueden "anidar" entre ellas.

  • @PletoooooorCoe
    @PletoooooorCoe 3 роки тому

    Hola, enhorabuena por tus videos, son muy instructivos. Una pregunta que no te he podido hacer en capítulos anteriores por tener los comentarios deshabilitados. Por qué a veces la protoboard es necesaria una veces si y otras veces no? Gracias!!!!

    • @BitwiseAr
      @BitwiseAr  3 роки тому +1

      Hola, gracias por el comentario, todos los videos tienen sus comentarios habilitados, no se el motivo por el cual no hubieras sido capaz de hacer un comentario en un video. Protoboard se usa por comodidad si conviene que el sensor quede en una posición específica o cuando hay mucha cantidad de conexiones.
      Saludos

  • @julianberrio3224
    @julianberrio3224 6 років тому

    Hola saludos de colombia, de antemano agradecerte por el tiempo que inviertes para compartir tu conocimiento, me ha sido de gran ayuda el material, quisiera hacerte una pregunta, si yo tengo un programa con varios ciclos, uno de los ciclos es activar mediante un pulsador un actuador, que la activacion dure 15 seg y despues apagarse, si quiero interrumpir de manera definitiva esa instruccion lo podria hacer un esta funcion?, porque lo intente evaluando el.estado del pulsador (pulsador=1-pulsador) y se queda activado, pienso yo por la duracion del delay, apreciaria tu ayuda, saludos.

    • @BitwiseAr
      @BitwiseAr  6 років тому

      Hola, gracias por el comentario. El problema surge en que cuando ingresa la interrupción estando dentro del delay() la función ISR se ejecuta sin problemas pero vuelve al programa exactamente al mismo punto donde se recibió la interrupción, con lo cual termina lo que falta del delay() para luego apagar el relé.
      Lo que podrías hacer es dentro de la ISR (que se trata de mantenerla lo más breve posible) desactivar ahí mismo el relé, luego sigue con el delay() pero ya habrá cumplido el objetivo de apagar en cualquier momento.
      Saludos

  • @xaviibanyez1496
    @xaviibanyez1496 2 місяці тому

    Otra cuestion: Desaconsejas utilizar la funcion Serial.print() en una funcion ISR pero ¿Puede hacerse?. Yo tengo previsto usar Serial.read(dato) para leer una entrada por Rx.
    Gracias por tu trabajo.

    • @BitwiseAr
      @BitwiseAr  2 місяці тому

      Hola, correcto, la función ISR debe ser lo más breve posible, cambiar el estado de una variable que luego en el loop() pueda leerse y allí tomar la acción.
      Saludos

  • @arianmateucci
    @arianmateucci 3 роки тому

    Hola, buen video, se podría aplicar el codigo de igual forma para un contador de rpm con un sensor de efecto hall por sobre el que pasa un iman usando rising?

    • @BitwiseAr
      @BitwiseAr  3 роки тому +1

      Hola, gracias por el comentario, el video se centra en el concepto de las interrupciones con lo cual entendido el tema se puede aplicar con diversos sensores, como ser uno de efecto hall.
      Saludos

  • @ferchosnap
    @ferchosnap 4 роки тому

    Excelente video como siempre, una pregunta, por qué con un plastico transparente no activa el sensor?, tengo entendido que el plastico es trasparente a la luz visible pero para la luz infrarroja es opaco, lo digo porque las camaras indrarrojas no ven atraves de estos plasticos tampoco a traves de vidirio o incluso agua.

    • @BitwiseAr
      @BitwiseAr  4 роки тому

      Hola, sinceramente no sabría decirte.
      Saludos

  • @plutarco8556
    @plutarco8556 3 роки тому

    Genial ++++

    • @BitwiseAr
      @BitwiseAr  3 роки тому

      Gracias por el comentario y la visita.
      Saludos

  • @ulysses80
    @ulysses80 4 роки тому

    hola!! muy bueno y muy adictivo te felicito!! consulta hay dos interruciones tienen prioridad? o atiende la primera y luego la segunda? independientemente de la que llega primero

    • @BitwiseAr
      @BitwiseAr  4 роки тому

      Hola, es altamente improbable que ocurren dos en simultáneo, estaríamos hablando en el orden de microsegundos.
      Saludos

  • @ftgmetal2616
    @ftgmetal2616 4 роки тому

    Si usáramos 2 de estos interruptores, podría hacerse un encoder óptico, como los que se usaban en los mouse antiguamente? En tal caso, cual seria la diferencia de estos interruptores, con el modelo FC03sgk? Muy buen video!! Sos un gran maestro!!

  • @diegolopezgil8117
    @diegolopezgil8117 3 роки тому

    Hola. Acabo de descubrir este curso y es excelente la manera de exponer los temas. Lo cazas todo a la primera. He estado revisando la playlist y quería preguntarte si tienes algún vídeo de estas características que hable del modo Sleep en Arduino. Tengo un par de proyectos con baterías y me gustaría que explicases a tu manera este tema para solventar algunas dudas. De nuevo gracias por todo este material. Saludos.

    • @BitwiseAr
      @BitwiseAr  3 роки тому

      Hola, gracias por el comentario, no por el momento pero es un tema que ya lo tengo en el listado de temas por tratar en un futuro capítulo.
      Saludos

    • @diegolopezgil8117
      @diegolopezgil8117 3 роки тому

      De acuerdo. Iré mirando para ver cuando sale. Muchas gracias.

  • @pablotecnovend658
    @pablotecnovend658 4 роки тому

    El video es muy claro! Pero tengo Una consulta práctica . Al enchufar/desenchufar o conectar/desconectar un artefacto eléctrico cerca del Arduino, genera pulsos de interrupción entregando datos erróneos.
    Esto tiene solución ? Gracias

    • @BitwiseAr
      @BitwiseAr  4 роки тому

      Hola, no sabría indicarte el motivo por el cual sucede en tu caso pero no está relacionado al tema "interrupciones" del capítulo.
      Saludos

    • @pablotecnovend658
      @pablotecnovend658 4 роки тому

      Hola! Gracias por responder ! Creo que si afecta al capítulo ya que en la práctica afecta al funcionamiento. En mi caso es crítico el uso de interrupciones pero se ve afectado por cualquier interferencia eléctrica.
      Tenes tutorial de conexión serie con otro dispositivo ? Porque vi todos tus videos y no encontré pero tal vez tenes.
      Gracias

  • @cap2182
    @cap2182 2 роки тому

    Hola una pregunta ,si yo creo una interrupción "attachInterrupt(digitalPinToInterrupt(A), FX, LOW)" ,si por ejemplo mediante un switch hago que el PIN (A) tenga un valor LOW por un tiempo considerable ,entonces la funcion FX se repetiria una y otra ves como un loop sin dejar que el VOID LOOP () principal continue?O en todo caso que deberia suceder

  • @agustinmingelgrun6505
    @agustinmingelgrun6505 3 роки тому

    muy buen video!!! pero tengo una duda... esto se podria usar para un final de carrera?? y de que manera??? gracias y saludos!!

    • @BitwiseAr
      @BitwiseAr  3 роки тому +1

      Hola, lo que se describe es el principio de funcionamiento de las interrupciones, en este caso mediante el fotointerruptor pero puede ser también un interruptor mecánico, al llegar la interrupción coloca una variable en un valor que luego puede leerse desde el loop() y asi tomar una acción.
      Saludos

  • @georgebigouch330
    @georgebigouch330 3 роки тому

    Muchas gracias, muy buen video.
    Me gustaria saber como podria generar una interrupción, no a partir de una señal externa ni a un timer sino al cumplimiento de algunos valores predefinidos en algunas variables durante el proceso, es eso posible? gracias por el apoyo.

    • @BitwiseAr
      @BitwiseAr  3 роки тому

      Hola, la interrupción esta pensada para cuestiones externas, si es por programación entonces no se necesita y se puede resolver consultando el valor de una variable y tomar una acción mediante una función.
      Saludos

    • @georgebigouch330
      @georgebigouch330 3 роки тому

      @@BitwiseAr Muchas gracias, un abrazo.

  • @johanantoniohurtadoduarez2028
    @johanantoniohurtadoduarez2028 6 років тому

    execlente video, una consulta vi en algunos codigos que usan TCCR1A y 1B para modificar el periodo de los pwm, podiras hacer un video de este tipo, y una pregunta si se puede modificar los periodos de los pwm, cual es el periodo de defecto q tiene los pwm?

    • @BitwiseAr
      @BitwiseAr  6 років тому +1

      Hola, gracias por el comentario, en el siguiente enlace encontrarás información completa del tema:
      www.arduino.cc/en/Tutorial/SecretsOfArduinoPWM
      Saludos

  • @alvarogonzalez2841
    @alvarogonzalez2841 4 роки тому

    gracias por tus videos, como hago para utilizar varios pines como interrupcion en arduino nano? creo que por cambio de estado pero no se como utilizarlo, puedes ayudarme por favor?

  • @oscargalindoballesteros506
    @oscargalindoballesteros506 4 роки тому

    hola. grandes explicaciones. tengo una duda:
    en el arduino UNO unicamente se pueden conectar dos sensores??

    • @BitwiseAr
      @BitwiseAr  4 роки тому

      Hola, no, se pueden conectar decenas de sensores, no solo a las entradas/salidas digitales, sino también a las entradas analógicas y mediante bus serie como I2C o SPI
      Saludos

  • @justovelarde3456
    @justovelarde3456 5 років тому

    Nuevamente felicitaciones por el video y la explicación muy clara. Pero, quiero hacer una consulta: Entiendo que con el uso de las interrupciones, es casi IMPOSIBLE que una interrupción no sea detectada. Pero si yo no uso interrupciones, el programa está ejecutando otra acción y en un momento dado, tengo una entrada detectada (por ejemplo un pulsador), pero que pasa, si cuandoeste pulsador esta siendo presionado, el programa está ejecutando otra acción; entonces, este pulsador NO LO DETECTA el Arduino. Apelo a tu enorme conocimiento de programación y electrónica, para preguntarte : DE QUE MANERA, ESTA ACCIÓN EN ESE PULSADOR NO SE PIERDA, de tal manera de que el Arduino, una vez que termine lo que estaba haciendo, DETECTE este pulsador. Lógicamente, estamos hablando de milisegundos de tiempo, no es que vaya a pasar segundos. Gracias por tu respuesta.

    • @BitwiseAr
      @BitwiseAr  5 років тому

      Hola, la ejecución del programa en el loop() es secuencial, si hubiese una demora de por ejemplo 2 segundos y en ese momento se presiona el pulsador no lo vo a ver, si no se usan interrupciones entonces hay que asegurarse de que no hayan demoras grandes dentro del código, de hecho sería no utilizar la función delay() y usar millis().
      Saludos

  • @raulmarti1441
    @raulmarti1441 Рік тому

    El primer ejemplo, si se quita el If y se deja solo Serial.prinln y la función sensora hace lo mismo, va sumando interrupciones.

    • @BitwiseAr
      @BitwiseAr  Рік тому

      Hola, si no se coloca el condicional estara escribiendo en el monitor serie de forma constante el último valor de contador, la idea es que solo muestre si existe un cambio.
      Saludos

  • @The01234567898
    @The01234567898 5 років тому

    Hola me gusto tu video hay manera de pasar tu conteo de interrupciones a un display lcd gracias

    • @BitwiseAr
      @BitwiseAr  5 років тому

      Hola, en el capítulo 10 se describe el uso del módulo LCD y como escribir en el mismo, para mostrar el número de interrupciones solo tendrás que escribir el valor de CONTADOR con la función print()
      Saludos

  • @sebpast
    @sebpast 4 роки тому

    Necesito sacarme la duda. La voz está ralentizada no? Todos los videos los estoy viendo a 1.5, pero parece estar muy cerca de 1.25 la voz normal

  • @carlosliriano435
    @carlosliriano435 6 років тому

    Magnifico tutorial y una explicación insuperable.Tengo una pregunta ,Se puede asignar un orden de prioridad para cuando se usen mas de un pin para las interrupciones y de ser posible como seria? saludos desde Rep. Dominicana.

    • @BitwiseAr
      @BitwiseAr  6 років тому

      Hola, gracias por el comentario. Como se explica en el capítulo depende del tipo de modelo de placa, UNO por ejemplo tiene sólo dos pines para interrupciones externas, otras placas tienen más.
      Las interrupciones dificilmente lleguen exactamente al mismo tiempo como para establecer un nivel de prioridad, siempre una entrará primero que la otra (u otras), aunque sea por diferencia de microsegundos, por eso no se aplica un sistema de prioridades.
      Saludos

    • @carlosliriano435
      @carlosliriano435 6 років тому

      @@BitwiseAr Gracias por la pronta respuesta a mi pregunta, espero continues realizando tutoriales sobre este tema tan interesante que es arduino.

  • @Lucas-tk4ly
    @Lucas-tk4ly 5 років тому

    Se pueden usar pines 4,5,6 y 7 en Nano o Uno?... ej declarando una variable para el estado anterior de estos pines , y en el loop se compare y actualice con un if estado vs read ( pensando como ej para varios sensores magnéticos con conexión pullup al pin y gnd al magnético )

    • @BitwiseAr
      @BitwiseAr  5 років тому

      Hola, no comprendo bien la pregunta, este capítulo es sobre interrupciones externas, de las cuales hay solo 2 disponibles para Uno o Nano que se basan en el mismo micro controlador 328p.
      Saludos

  • @juancarlossalazarvaca7080
    @juancarlossalazarvaca7080 2 роки тому

    Execelente video, tengo una pregunta, en vez del sensor que estás utilizando estoy utlizando pulsadores pero cada vez que pulso se imprimen 3 numeros seguidos y así, estoy colocando su respectivas resistencias pull up pero no me funciona, pero creo que algo estoy haciendo mal. Que podría ser?

    • @BitwiseAr
      @BitwiseAr  2 роки тому +1

      Hola, gracias por el comentario, el comportamiento es el esperado al usar un pulsador ya que el mismo genera rebotes, al presionar se genera más de un pulso y como las interrupciones son muy rápidas las puede leer. Por ese motivo se utilizó en el ejemplo un interruptor óptico.
      Si tu proyecto requiere usar interrupciones con un circuito que genera rebotes tendrás que solucionarlo mediante código, por ejemplo detectar la primer interrupción y consultar si hay pasado al menos 20 mseg., si llegan otras interrupciones en ese período significa que son rebotes y se pueden desestimar.
      Saludos

    • @juancarlossalazarvaca7080
      @juancarlossalazarvaca7080 2 роки тому

      Muy amable por tu sabiduría muchas gracias 👌🏻😁

  • @EdgardoFeroci
    @EdgardoFeroci Рік тому

    Hola Muy bueno su video... Pero tengo un problema con la aplicacion en un ESP8266 WiFi . Que pin utilizaria , ya que tengo un error a la salida? Gracias

    • @BitwiseAr
      @BitwiseAr  Рік тому

      Hola, el curso se centra en el uso de modelos clásicos de Arduino (ATmega 328p) con lo cual el ESP8266 tiene un hardware diferente y código y conexiones pueden ser diferentes a las mostradas.
      Saludos

  • @danvizuet7414
    @danvizuet7414 6 років тому +4

    Excelente video,
    Tengo un par de preguntas, ¿qué ocurre si dura mucho el ISR?, ¿es probable de que no funcione una sentencia condicional?
    Gracias.

    • @BitwiseAr
      @BitwiseAr  6 років тому +12

      Hola Dan, gracias por el comentario, un condicional funcionará sin problemas y en la mayoría de los casos no hay inconvenientes, es solo cuando se necesita hacer cálculos de diferencia de tiempos o generar señales con mucha precisión ya que no se sabe en qué momento puede "caer" una interrupción.
      Arduino no puede realizar un procesamiento simultáneo de la información, por eso como se explica, cuando llega la interrupción deja todo, atiende la misma y luego vuelvo al punto donde dejó.
      Saludos

    • @danvizuet7414
      @danvizuet7414 6 років тому

      Bitwise muchísimas gracias :)

  • @leonardoojeda6689
    @leonardoojeda6689 4 роки тому

    Hola, como se hace para que quede un led titilando luego de que ocurra la interrupción? . Gracias

  • @JoseTorres-nw7oh
    @JoseTorres-nw7oh Рік тому

    profe e notado que solo función en modo RISINNG de bajo a alto , cuando uso Falling igual cambia de bajo a alto.