Simulando ARDUINO UNO en ISIS

(1/4) > >>

agauss:
Hola gente del foro...

Pues estoy empezando con la tarjeta ARDUINO UNO y encontre los .DSN para simular el ARDUINO UNO y el MEGA, mi problema es que cuando simulo en PROTEUS  la velocidad se hace lenta como una cuatro veces. Pruebo con el ejemplo que trae ARDUINO el "BLINK" y el LED destella a una velocidad que no corresponde con la velocidad programada. Alguien sabe si hay algun truco o algo que este pasando por alto.

Saludos...

AKENAFAB:
No hay truco

Proteus no simula en tiempo real.

Abajo trae un timer y es el registro que lleva el proteus.

agauss:
Ok eso del tiempo real creo que utilice mal el termino, es cierto, PROTEUS no simula en tiempo real y efectivamente el clock debajo lleva los intervalos de tiempo, el problema es que, en este caso la simulacion se hace notablemente lenta, el trabajar solamente con el Atmega328P todo OK, pero al pasara el programa a la plantilla de "arduino" sale el mensaje "La simulacion no esta corriente en tiempo real debido a una sobrecarga en la CPU" o algo parecido. En fin despues de tratar insistentemente y sin exito me tope con otro simulador, al parecer al menos para simular los arduino es bueno y bastante novedoso. Con PROTEUS, esta vez le pondre una carita triste  :(, habrire un tema nuevo para compartir mi recien adquirida y poca experiencia en el Virtual BreadBoard. Gracias por la respuesta AKENAFAB, saludos a todos y feliz aņo...

agauss:
Esto me pasa por desesperado e impaciente. Pues resulta que PROTEUS simula y bastante bien el codigo  compilado con arduino 0021. La carita triste ahora es para mi  :(. En fin aqui dejo mi primera grata experiencia con ISIS y ARDUINO. Una gran disculpa a todos los fans de PROTEUS  :oops:... saludos!!!

isis_blink

Código:

[/********************************************************************
 *                                                                   *
 * Compilador para la tarjeta basada en microcontrolador  Atmega328P *
 *      ARDUINO UNO      *
 *                                                                   *
 * NOMBRE  : blink.c                                                 *
 * OBJETIVO: Generar un pulso de voltaje con una duracion  de  500us *
 *           en alto y 500us en bajo usando el bit 13  de la tarjeta *
 *           ARDUINO UNO.                                            *
 *                                                                   *
 * AUTOR   : agauss                             *
 *                                                                   *
 *********************************************************************/


void setup()
{
   pinMode(13,OUTPUT);
}

void loop()
{
   digitalWrite(13,HIGH);
   delayMicroseconds(500);
   digitalWrite(13,LOW);
   delayMicroseconds(500);
}]


agauss:
Ya encaminado el raton, aqui esta el contador binario de 0 - 15...

isis_count

Código:

[/********************************************************************
 *                                                                   *
 * Compilador para la tarjeta basada en microcontrolador  Atmega328P *
 *      ARDUINO UNO      *
 *                                                                   *
 * NOMBRE  : count.c                                                 *
 * OBJETIVO: Emular un contador binario de 4 bits con salida por los *
 *           pines 0 - 3 de la tarjeta  ARDUINO UNO. El  tiempo  por *
 *           cuenta es de 500ms.                                     *
 *                                                                   *
 * AUTOR   : agauss                             *
 *                                                                   *
 *********************************************************************/


int dato[] = {0,1,2,3};

void setup()
{
   int i;
 
   for(i=0;i<4;i++)
      pinMode(dato[i],OUTPUT);
}

void loop()
{
   int i,j;

   for(i=0;i<16;i++)
   {
      for(j=0;j<4;j++)
      {
         if((i>>j)&1)
            digitalWrite(dato[j],HIGH);
         else
            digitalWrite(dato[j],LOW);
      }
     
      delay(500);
   }   
}]


Navegación

[0] Índice de Mensajes

[#] Página Siguiente