Amigo te felicito enormemente por esta explicación, la verdad admiro lo bien hecho que esta el video y lo bien documentado que tienes todo en el blog. Se nota la gran cantidad de tiempo y esfuerzo que has invertido. Estaré compartiendo este video y su blog en los cursos de Arduino que doy. Muchas gracias por ese aporte a la comunidad educativa. Saludos
Te felicito por tu manera de explicar, eres muy didactico. Como haría Yo para colocarle a un secuencia de 5 led lo siguiente: Al primer Led 5 minutos prendido, al segundo Led 4 minutos, al tercer Led 3 minutos, al cuarto Led 2 minutos y al 5 Led 1 minuto? y listo... Que haga solo eso cada vez que Yo reinicie el Arduino.
Gracias Arián por el mensaje. Si te soy sincero, no lo sé. Aún así, puedes utilizar un centinela para detectar cuando se lanzó la interrupción y en la función loop lanzar la función. Eso sí que funciona 100%
Excelente video, muy buena explicación, muchas gracias por el aporte. osea que solo 2 interrupciones tiene arduino uno, para poner mas pulsadores con interrupción ¿tenés idea como sería?
y cuanto ejecuta el codigo de la interrupción ? , yo estoy haciendo algo parecido pero en vez de modificar delay , modifico un numero entero de 1 en 1 , pero al presionar botones , me lo aumento muy rápido void spmas() { //delay(600); if(cursadorsp == LOW) { maxima = maxima + variar ; // variar = const int = 1 if( maxima > 29) { maxima = 29 ; } }else { minima = minima + variar ; // variar = const int = 1 if( minima>21) { minima = 21 ; } } }
Hola Antero, perdón por haber tardado tanto en contestar, se me pasó este comentario. No se si lo que te pasa es que aumenta en más de uno cuando pulsas el botón. Si es así utiliza al principio de la función noInterrupts(); (esto desactiva la interrupción) y al final de la función pon interrupts(); (esto activa de nuevo la interrupción) así cuando esté ejecutando el código de la función, la interrupción no funcionará. Espero haberte ayudado ;)
Quiero usar este metodo para ir a una secuencia pero tambien quiero que cuando esa secuencia termine el programa se valla o regrese a una secuencia especifica, que es lo que debo hacer ?
saludos puedes ayudarme, tengo un inconveniente al momento de realizar la interupcion, corre el programa y aunq no de el pulso para que entre en la interupcion, se realiza la interupcion, a que se deberia estoy utilizando la interupcion en HIGH , estos es esporadico, el programa corre normalmente y de momento a otro entra a la interupcion a si no haya pulsado el pulso de la interupcion , como podria corregir ,gracias..
Hola joseph moran, puede ser un error en la conexión o con el voltaje de referencia. Aquí te comparto 2 articulos del blog que te pueden servir programarfacil.com/blog/arduino-blog/interrupciones-con-arduino-ejemplo-practico/ programarfacil.com/blog/arduino-blog/resistencia-pull-up-y-pull-down/
Amigo mio, en mi caso es algo un tanto diferente, yo estoy tratando de que un pulsador siga una serie como esa pero solo enciendan los leds de pines impares y con otro pulsador lo mismo pero ahora con los pares, estoy tratando de que con el 1er pulsador encienda la serie y depues al pulsar el 2do pulsado inmediatamente detenga la serie del 1ro y comience la 2da del otro, podrias ayudarme con eso?, intente hacer algo parecido con ayuda de tu tutorial (o sea con el attachInterrupt), pero no logro una respuesta, agradeceria mucho que me ayudaras a resolver este problema, un saludo karnal.
Hola Sergio, cuando detectes la pulsación de los impares tienes que activar un flag es decir, te creas una variable boolean y la pones a true. Luego en el loop si está a true haces lo que tengas que hacer y la pones a false. Lo mismo con el otro pulsador.
Echa un ojo a esto programarfacil.com/blog/arduino-blog/lector-rfid-rc522-con-arduino/ y a esto programarfacil.com/blog/arduino-blog/millis-micros-arduino/
Hola Luis Fernando Alvarez. Aun no hay artículo via CAN BUS, pero puede que te sirva este post. programarfacil.com/blog/arduino-blog/conectar-dos-arduinos-i2c/
Hola Hermano :). La principal diferencia es que con if vas a ejecutar un código que se encuentra dentro si cumple la condición que pones entre paréntesis (condición). Con else no hay condición, ejecutará el código que hay dentro si no cumple la condición que hay en el if. Puedes utilizar un if sin un else pero al contrario no.
Gracias por tu comentario Roberto Marotta.! Tienes a tu disposición el artículo asociado al video. programarfacil.com/blog/arduino-blog/adafruit-motor-shield-arduino/