TODOPIC

Otros Microcontroladores / Dispositivos programables => Arduino => Mensaje iniciado por: Fer_TACA en 15 de Noviembre de 2024, 18:23:46

Título: Problema al simular con Arduino nano
Publicado por: Fer_TACA en 15 de Noviembre de 2024, 18:23:46
Hola Amigos,
Como estoy empezando con Arduino me he metido con un proyecto, quizás educativo y posiblemente algo difícil, pero ya he realizado algunos proyectos sin problemas.

En este, he empezado a crear un encabezado y una serie de líneas para ir probando de a poco y según vea que va funcionando añadir mas cosa. Ahora hay bastantes partes comentadas y lagunas faltantes.

Pero quería probar si funcionaban las interrupciones y no al simular en Proteus como he visto que no funcionaban las he comentado y ahora he dejado en el loop solo la instrucción de escribir y  poner a nivel alto un pin, pero tampoco lo hace y no se porque sería.

Adjunto el programa de Arduino (ahora solo me interesa saber porque no se activa la salida) y el fichero de Proteus, a ver si alguno me dice que puede pasar.
¿podría el problema ser del propio Proteus?
Título: Re:Problema al simular con Arduino nano
Publicado por: Fer_TACA en 15 de Noviembre de 2024, 18:52:50
Me respondo a mi mismo,

De me olvidó configurar los pines como entradas y/o salidas. :oops: :oops: :oops: :oops:

Voy a seguir avanzando.

F.
Título: Re:Problema al simular con Arduino nano
Publicado por: Fer_TACA en 17 de Noviembre de 2024, 18:08:50
Una pregunta.adicional.
Voy a utilizar el expansor pcf8574 con la librería de Adafruit  y he creado el objeto.
El caso es que cuando quiero activar alguna salida a través del expansor funciona siempre muy bien.
Pero si quiero activar alguna de las salidas del expansor desde la función ISR no funciona y no se consigue activar la salida.
Lo que pretendo es utilizar un pin como entrada de señal de emergencia e indicarlo por medio del pcf8574 para activar un relé.
¿Puede ser que el bus I2C no funcione dentro de la función ISR?

Título: Re:Problema al simular con Arduino nano
Publicado por: Fer_TACA en 18 de Noviembre de 2024, 07:43:21
Se me olvido colocar el código.
Esta resumido solo a la parte afectada.
Código: [Seleccionar]
/Inclusión de librerías.
#include <Adafruit_PCF8574.h>  // Importa librería LiquidCrystal.<
// Se crean objetos de las librerías
Adafruit_PCF8574 pcf_DO;  // Expansor como salidas digitales

void isrEmergenciaDetectada() {
[color=red]pcf_DO.digitalWrite(7, LOW);       // Se apaga la señal de alarma. <---------- AQUÍ  NO FUNCIONA[/color]
  }

void setup()
pcf_DO.begin(0x20, &Wire);  // Se inicializa el bus I2C con la dirección del dispositivo.
  pcf_DO.pinMode(0, OUTPUT);  // Indicación del piso 0.
  pcf_DO.pinMode(1, OUTPUT);  // Indicación del piso 1.
  pcf_DO.pinMode(2, OUTPUT);  // Indicación del piso 2.
  pcf_DO.pinMode(3, OUTPUT);  // Indicación del piso 3.
  pcf_DO.pinMode(4, OUTPUT);  // Indicación de ascensor subiendo.
  pcf_DO.pinMode(5, OUTPUT);  // Indicación de ascensor bajando.
  pcf_DO.pinMode(6, OUTPUT);  // Indicación de petición de llamada del ascensor.
  pcf_DO.pinMode(7, OUTPUT);  // Libre
attachInterrupt(digitalPinToInterrupt(pinEmergencia), isrEmergenciaDetectada, RISING);
  }

Void loop(){
[color=green]pcf_DO.digitalWrite(7, LOW);       // Se apaga la señal de alarma.  <---------- FUNCIONA AQUÍ CORRECTAMENTE[/color]
}

Título: Re:Problema al simular con Arduino nano
Publicado por: AcoranTf en 26 de Noviembre de 2024, 16:21:47
Una pregunta.adicional.
Voy a utilizar el expansor pcf8574 con la librería de Adafruit  y he creado el objeto.
El caso es que cuando quiero activar alguna salida a través del expansor funciona siempre muy bien.
Pero si quiero activar alguna de las salidas del expansor desde la función ISR no funciona y no se consigue activar la salida.
Lo que pretendo es utilizar un pin como entrada de señal de emergencia e indicarlo por medio del pcf8574 para activar un relé.
¿Puede ser que el bus I2C no funcione dentro de la función ISR?

Yo lo que suelo hacer cuando utilizo interrupciones en Arduino y ESP32, es en la llamada de interrupcion, solo activo una bandera y despues en el loop, ya desarrollo lo necesario en base al estado de dicha bandera.

Saludos.
Título: Re:Problema al simular con Arduino nano
Publicado por: doppel en 24 de Septiembre de 2025, 00:47:07
hola! de que forma estan simulando arduino en Proteus? algun lugar o tutorial donde pueda leer? he estado haciendo pruebas pero no logro que corra el programa,  gracias de antemano
Título: Re:Problema al simular con Arduino nano
Publicado por: Fer_TACA en 24 de Septiembre de 2025, 05:34:08
Solo añadí las librerías de los imponentes de placas de Arduino que envontre con Google y listo.

Luego después de compilar el fichero me tocó buscar la ruta donde se guarda el fichero hex.  se lo pongo al Pic en proteus y listo.

C.
Título: Re:Problema al simular con Arduino nano
Publicado por: doppel en 27 de Septiembre de 2025, 20:04:09
muchas gracias por la respuesta! he bajado algunas librerias en proteus y ya pude!!!
Título: Re:Problema al simular con Arduino nano
Publicado por: Fer_TACA en 28 de Septiembre de 2025, 04:15:21
Me alegro que pudieras conseguirlo.