Artículos recientes

Novedades

Tutorial: ¿Cómo programar un Arduino Pro Mini 328?

Tutorial: ¿Cómo programar un Arduino Pro Mini 328?

En este tutorial explicaremos como programar un Arduino Pro Mini usando un Conversor USB a Serial (TTL), veremos que su uso y programación es tan fácil como en las demás placas Arduino.

Las placas Arduino se comunican con la PC utilizando el puerto USB tanto para la programación como para el intercambio de datos, por esta razón dentro de las placas Arduino encontramos un chip que se encarga de la conversión de USB a Serial TTL. En las primeras versiones de Arduino las placas utilizaban el puerto COM o RS232 para comunicarse con la PC, pero este puerto es cada vez menos común por lo que ahora se utiliza el puerto USB. Las versiones actuales de Arduino Uno y Arduino Mega utilizan un microcontrolador Atmega como conversor, en el caso del Arduino Leonardo o Micro el conversor está integrado en el microcontrolador principal. 

El Arduino Pro Mini a diferencia de las demás placas no incluye un conversor en placa (por un tema de reducción de precio), por lo que es necesario utilizar un conversor externo para la programación del chip o para la comunicación serial. Dentro de los conversores USB-Serial TTL se encuentran los chips: FTDI232, PL2303, CH340G y el CP2102 que es el que usaremos en este tutorial.

En el mercado podemos encontrar diferentes modelos de Arduino Pro Mini, siendo la principal diferencia que debemos considerar: el voltaje de funcionamiento y la frecuencia del cristal. Los 2 modelos principales son el Arduino Pro Mini 328 - 5V/16MHz y el Arduino Pro Mini 328 - 3.3V/8MHz.

Arduino Pro Mini

Existen dos formas de programar el Arduino Pro Mini, la primera es utilizando un Módulo Conversor USB serial TTL y la segunda utilizando un Programador especial para microcontroladores Atmel AVR. En este tutorial desarrollaremos el primer método: Utilizando un coversor USB-Serial. 

Dentro de los conversores USB-Serial el CP2102 se destaca por incluir el pin DTR, que será de gran utilidad al momento de programar nuestro Arduino Pro Mini. El Pin DTR es el encargado de resetear automáticamente al Arduino Pro Mini. Luego de un RESET en el Arduino se ejecuta el gestor de arranque (Bootloader), en ese momento la PC envía los datos con el nuevo "sketch" y el Arduino es reprogramado, si pasan 1 o 2 segundos y no se envían los datos, el Arduino ejecutará su sketch actual.

- Conversor con pin DTR

Modulo CP2102

- Conversor sin Pin DTR 

Modulo PL2303

Programar Arduino Pro Mini usando un Conversor con pin DTR


Para este caso tan solo basta con conectar el Arduino pro mini y el conversor de la siguiente manera.

  
Pro Mini    CP2102 
DTR     <-    DTR  
TXO     ->    RXD  
RXI      <-    TXID 
VCC     <-    5V    
GND    <-    GND

Arduino Pro Mini y CP2102
      * Si el arduino Pro Mini es de 3.3V, el VCC debe conectarse al pin 3V3 del Conversor

En nuestro ejemplo hemos usado un módulo conversor CP2102, pero el orden de pines puede cambiar entre los diferentes modelos.

El siguiente paso es seleccionar la tarjeta de nuestro Arduino Pro Mini en el IDE de Arduino

  

Programacion Pro Mini 2

  

Ahora seleccionamos el Puerto COM correspondiente al CP2102 en nuestro caso es el COM5

  

Selecion de puerto COM de CP2102

Si tienen varios puertos COM o no están seguros si es el puerto COM correspondiente al módulo conversor pueden averiguarlo en Equipo->Propiedades>Administración de dispositivos

  

Puerto serial COM del CP2102

  

Una vez seleccionado el tipo de tarjeta, el puerto COM y haber hecho las conexiones correspondientes, solo hace falta hacer clic en "cargar". Si todo es correcto, la programación o carga no debe tener problemas y no debe arrojar ningún tipo de error.

  

Carga terminada con CP2102

  

  

Programar Arduino Pro Mini usando un Conversor sin pin DTR

En este caso dejamos sin conectar el pin DTR del Pro mini, lo demás conectamos igual que en el caso anterior.

  
Pro Mini    PL2303
TXO     ->      RXD
RXI     <-       TXD
VCC    <-       5V    
GND    <-       GND

Pro Mini y PL2303

   * Si el arduino Pro Mini es de 3.3V, el VCC debe conectarse al pin 3V3 del Conversor


Ahora como en el caso anterior seleccionamos en tarjeta al Pro Mini y el puerto COM correspondiente al conversor, el puerto COM del conversor lo puedes ver en “administración de dispositivos” (igual que en el caso anterior):

    

Targeta Pro Mini

   

Seleccion del COM del PL2303

   

Puerto serial COM del PL2303

  

La diferencia con el otro módulo es al momento de Cargar el programa, pues al no tener el Pin DTR, el IDE de Arduino no va a poder resetear automáticamente al Pro Mini, por lo que se tendrá que hacer de forma manual:

Clic en cargar el programa, y después reseteamos manualmente el Arduino justo un segundo antes o en el  cambio de “compilando” a “Cargando”.

Otra forma más fácil puede ser en tener presionado el botón de Reset desde el momento que se da clic en cargar y soltarlo cuando pasa de “compilando” a “cargando”.

Si todo es correcto el IDE debe indicar: "Carga Terminada" 

   

Carga terminada Mini Pro y PL2303

  

Si no se logra resetear el Arduino Pro Mini en el momento adecuado, tendremos el siguiente error:

   

Error de Carga Arduino Mini Pro

   

Si a pesar de indicar "carga terminada" aparecen errores en la consola, significa que no se ha cargado correctamente el programa, por lo que debemos volver a cargar el sketch.

*Nota 1: Si el Arduino Pro Mini ya está alimentado por una fuente de voltaje externa ya no se debe conectar los 5V del conversor.
*Nota 2: el Arduino Pro Mini utilizado en este tutorial es de 5V/16Mhz, pero existen también modelos de 3.3V, por lo que hay que tener cuidado al momento de alimentarlo, si este fuera el caso, VCC se tiene que conectar al pin de 3.3V (3V3) del conversor serial

   

   

Puede adquirir el Arduino Pro Mini y los Conversores Seriales en nuestra tienda:

Arduino Pro Mini 328 - 5V/16MHz

Arduino Pro Mini 328 - 3.3V/8MHz

Módulo CP2102 Conversor USB a TTL

Módulo PL2303 Conversor USB a TTL

   

   

Tags: Pro Mini

11 Comments

    • Avatar
      Daniel Fernandes
      jul 11, 2016

      ¡Hola amigo! ¿Cómo sé si mi Arduino Pro Mini es de 3,3V o 5V? Sólo sé que el cristal es de 16.000; Gracias

      • Avatar
        Naylamp
        jul 12, 2016

        Hola Daniel, si el cristal es de 16 MHz lo más probable es que sea de 5V, un Pro mini de 3.3V generalmente viene con un cristal de 8MHz (Frecuencia recomendada para el ATMEGA328 a 3.3V). Pero si tu Pro mini es de 5V también puedes alimentarlo con 3.3V, en el IDE Arduino lo que importa es la frecuencia, que está definida por el cristal.

    • Avatar
      Gary Marshal
      jul 16, 2016

      Is there a difference between the pro minis on the market? I'm looking to purchase one and it seems that there are a lot of 3rd party manufacturers which make them? Are they any different in terms of quality or performance? Here's the one I want to buy: arduino pro mini.Thanks, Gary

    • Avatar
      Lucas
      jul 27, 2016

      Hola! muy buen post! Tengo el Pro Micro de 16MHZ con un conector MicroUSB, ya hice lo necesario para que aparezca en la lista de placas, pero no se qué Programador debo seleccionar en el Arduino-IDE. ¿me podrían dar alguna sugerencia? Saludos y gracias.

      • Avatar
        Naylamp
        jul 28, 2016

        Hola Lucas, verifica bien qué tipo de placa estas usando, el Arduino Pro Mini y el Arduino Pro Micro son placas distintas, Si el tuyo es el Arduino Pro Micro, en el IDE prueba seleccionando la placa Arduino/Genuino Micro o Arduino Leonardo, ya que estos usan el mismo microcontrolador.

    • Avatar
      Sebastian
      ago 16, 2016

      Hola, muy bueno el post! He probado con todo lo que dices, seguí el paso a paso ( tengo un conversor sin DTR ) pero aún así no he podido hacerlo funcionar. Simplemente estoy intentando probar el programa blink, y no logro hacer que funcione. La computadora me reconoce correctamente al conversor entre sus puertos, he elegido la opcion de Pro Mini 5v 328 ( aunque en mi arduino el microcontrolador dice atmega 328P, no sé si será lo mismo ), y al intentar subirlo me falla. Me aparece este error : avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xa7 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xa7y asi sigue hasta llegar al attempt 10 of 10 : not it sync: resp= 0xa7Tienes idea de qué puede ser? Ya he probado todo y leido en muchos foros. El bootloader debe estar bien , porque ni bien le doy alimentación a la placa y aprieto el boton reset me titila el led del pin 13 ( sin que le haya cargado el programa ).Saludos y muchas gracias, Sebastián.

      • Avatar
        Naylamp
        ago 22, 2016

        Hola Sebastian, ten en cuenta que si estas usando un conversor sin DTR, tienes que resetear manualmente tu arduino, justo antes que empiece a cargar el programa como se explica en el tutorial, Verifica también que tengas seleccionado la tarjeta correcta, en tu caso placa pro mini y en procesador Atmega328(5V,16Mhz), si no seleccionas la placa o frecuencia correcta, no podrás programar tu arduino.

    • Avatar
      salvador
      sep 3, 2016

      buenas, se puede programar una arduino Pro mini para que transmita temperatura via NFC. Gracias

      • Avatar
        Naylamp
        sep 14, 2016

        Hola, eso va a depender del módulo NFC que uses, todo lo que se puede programar con un arduino uno también se lo puede programar en aun Arduino Pro mini, esto porque tienen el mismo Microcontrolador.

    • Avatar
      Luciano
      nov 4, 2016

      Hola, tengo un Arduino Pro Mini pero no se que modelo es. El cristal esta borrado asíque no se la frecuencia. Y atrás de la placa tiene las leyendas 8MHz, 16MHz, 20MHz, 3V3, 5V. Como puedo saber que modelo es? Gracias!

      • Avatar
        Naylamp
        nov 5, 2016

        Hola Luciano, el Arduino Pro Mini tiene un pequeño regulador, el valor de regulador es de 3.3V o de 5V dependiendo del modelo. Alimenta por el pin YAW con 5V y mide el valor del voltaje en VCC si en VCC obtienes 3.3V es porque la placa es de 3.3V/8MHZ. Las dos placas solo se diferencian en el regulador y en el cristal. Saludos

Leave a Reply

* Name:
* E-mail: (Not Published)
   Website: (Site url withhttp://)
* Comment: