Programando um Arduino Pro Mini com Arduino Uno

Programando um Arduino Pro Mini com Arduino Uno

Mexer com o Arduino é muito prático quando você está em um ambiente de testes, em cima da bancada, com uma infinidade de fios encaixados na protoboard. Por outro lado, às vezes existe a necessidade de se fazer instalações permanentes do Arduino, em espaços restritos.

Vamos pegar como exemplo um projeto de acionamento de lâmpada utilizando relé e controle remoto IR, controlado pelo Arduino Uno. Se você for utilizar isso em algum cômodo da sua residência, provavelmente vai ter que colocar o Arduino perto do interruptor para ligar os fios, e improvisar uma caixa ou algum tipo de suporte para a placa. Seria bem mais prático se você pudesse colocar todo o circuito dentro da própria caixa do interruptor, embutida na parede.

Para esses casos, existe uma versão reduzida do Arduino chamada Arduino Pro Mini, uma placa de 34 x 19 mm que faz tudo o que um Arduino “normal” faz, sem ocupar tanto espaço.

Arduino Pro Mini

Antes de detalharmos as conexões da placa, vamos dar uma olhada em suas principais características:

  • Microcontrolador ATmega328p
  • 14 Portas digitais, das quais 6 podem ser usadas como PWM
  • 8 portas analógicas
  • Botão de reset
  • Alimentação : 5 à 12v
  • Memória de 32K
  • Led indicador de funcionamento e led ligado à porta 13, como no Arduino Uno
  • Corrente máxima por porta : 40 mA
  • Clock : 16 Mhz

O modelo da imagem acima, que é vendido na FILIPEFLOP, vem com 2 barras de pinos para os conectores das portas laterais, e 1 barra de pinos 90 graus para conexão dos pinos de comunicação com o módulo FTDI, já que essa placa não vem com a parte de comunicação USB embutida.

Os pinos no lado direito (GRN, TX, RX, Vcc, GND e BLK) são usados para alimentação e programação, e devem ser ligados na seguinte ordem :

GRN – Ligado à porta RESET do Arduino
TXD – Ligado ao pino 1 (TX) do Arduino
RX – Ligado ao pino 0 (RX) do Arduino
Vcc – Ligado ao 5v do Arduino
GND – Ligado ao GND do Arduino
BLK – Não conectado

Atenção nessa ligação, pois alguns módulos podem vir com essa pinagem invertida, mas você deve seguir o esquema de ligação listado acima, ok ?

Finalmente, os pinos nas laterais são utilizados pelas portas e também para alimentação do Arduino Mini utilizando uma fonte externa.

Como eu comentei acima, o Arduino Mini vem com 3 barras de pinos, mas elas não vem soldadas. Assim, você pode escolher a configuração que seja mais adequada ao seu projeto, e até mesmo nem usar a barra de pinos, soldando direto os fios nas portas ou utilizando algum outro tipo de conector.

A parte de programação é semelhante às outras placas Arduino, com a diferença que no Arduino Mini o circuito de comunicação USB não está embutido na placa. Logo tem a opção de adquirir um módulo FTDI, como esse…

Modulo FTDI

…ou então, se você tem um Arduino Uno disponível, pode usar o procedimento a seguir para programar seu Arduino Mini.

Antes de mais nada, é necessário retirar o microcontrolador Atmega do Arduino Uno, para evitar qualquer tipo de conflito que atrapalhe o funcionamento do circuito. Retirado o chip, monte o circuito da seguinte maneira :

Arduino Mini - Circuito Programação

Conecte o cabo USB no Arduino Uno e abra a IDE do Arduino. Observe que o Arduino Mini também será ligado, já que está sendo alimentado pelos 5v do Arduino Uno.

Na IDE, vá no menu FERRAMENTAS, depois em PLACA, e escolha “ARDUINO PRO or PRO MINI (5V, 16 Mhz) W/ ATmega328″ :

IDE-Ferramentas

Feito isso, utilize a IDE para carregar normalmente seu programa no Arduino Mini. Para teste, utilizei a porta 7 para piscar um led :

//Programa : Teste Arduino Mini
//Autor : Arduino e Cia

int portaled = 7;

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

void loop()
{
  digitalWrite(portaled, HIGH);
  delay(1000);
  digitalWrite(portaled, LOW);
  delay(1000);
}

Para usar o seu Arduino Mini depois de programado, sem depender do Arduino Uno, conecte uma fonte de alimentação 5v utilizando as portas laterais:

Arduino Mini - Circuito Bateria

Prático, não ? O Arduino Mini também pode se mostrar muito útil em configurações com o Módulo RF 433 Mhz, por exemplo, enviando dados de um sensor para um webserver ou para um outro Arduino, mas isso é assunto para um próximo post. Até lá !

Post feito em parceria com o Blog Arduino & Cia. Faça uma visita!

11
Programando um Arduino Pro Mini com Arduino Uno
11 votos, 4.64 classificação média (92% pontuação)

Formado em Ciência da Computação pela Universidade de Mogi das Cruzes, atualmente responsável pelo departamento técnico da FILIPEFLOP.

Compartilhe este Post

45 Comentários

  1. João D Junior - 26 de junho de 2017

    Olá,

    Eu gostaria de fazer exatamente o inverso do processo. no caso programar um Uno utilizando o micro como intermediário. tentei executar o mesmo processo e não obtive resultado.

  2. Juliana - 9 de junho de 2017

    Olá.
    Dá para fazer o mesmo para o Arduino Pro Mini de 3.3V?!

  3. alex michael baron - 29 de dezembro de 2016

    Ele aceita o leitor de corrente com a inicialização da biblioteca (#include “EmonLib.h”
    )(EnergyMonitor emon1;) como arduino uno?

  4. joao garcia - 14 de outubro de 2016

    Olá, Adilson!!

    Excelente explicação!
    Segui os procedimentos e, na escolha da placa (pro mini 328P), não está disponível a porta COM. Daí escolhi o arduino nano (que usa o mesmo microcontrolador) e carregou normalmente. Essa observação pode ajudar alguns colegas. Uso o Windows 10 com IDE 1.6.2.

    Um abraço,

  5. Francielio Gustavo - 8 de maio de 2016

    qual a diferença pratica entre esses dois módulos?

    &

  6. Adir - 12 de novembro de 2015

    Boa tarde.
    Estou na primeira experiencia com o Arduino, estou usando um Arduini Pro mini com um Buzer, Ja baixei o IDE para configuração , fiz a pré configuração e coloquei alguns comandos para testar, a principio os comandos estão corretos, pois coloquei para carregar e não mostrou erros. Depois que carregar o programa no Software, o Arduino não deveria funcionar? tem mais algum procedimento para fazer? E para mudar valores colocado no programa, basta somente alterar e colocar para carregar novamente? Por favor, poderia me dar com umas dicas.
    Desde já agradeço.

    • FILIPEFLOP - 20 de novembro de 2015

      Boa tarde Adir,

      Você transferiu o programa para o Arduino, correto ? A sequencia é mais ou menos essa: Programa -> Compilação (ok, sem erros) -> Transferência para o Arduino.

      Depois dessa transferência, o programa já estará sendo executado na memória do Arduino.

      Abraço!

      Adilson – Equipe FILIPEFLOP

  7. Thiago Coutinho - 18 de outubro de 2015

    Boa Noite!

    Estou tentando programar utilizando um arduino UNO conforme o circuito, porém aparece a seguinte mensagem de erro:

    avrdude: verification error, first mismatch at byte 0x0006
    0x79 != 0x6e
    avrdude: verification error; content mismatch

    Obrigado

  8. Roberto Carlos - 26 de agosto de 2015

    Adilson bom dia!
    É possivel programar uma placa arduino mega usando FTDI232 ?
    Como seriam as ligações?
    obrigado.

    • FILIPEFLOP - 26 de agosto de 2015

      Boa tarde Roberto,

      Fazendo uma rápida pesquisa, parece que funciona, mas eu precisaria testar. No caso, você apenas conseguiria transferir programas, mas não gravar o bootloader.

      Abraço

      Adilson – Equipe FILIPEFLOP

  9. Filipe - 2 de agosto de 2015

    Boa noite estou utilizando o arduino Mini com o conversor FTDI
    E estou com esse erro:

    Arduino: 1.6.5 (Windows 7), Placa:”Arduino Mini, ATmega328″

    O sketch usa 1.030 bytes (3%) de espaço de armazenamento para programas. O máximo são 28.672 bytes.

    Variáveis globais usam 9 bytes (0%) de memória dinâmica, deixando 2.039 bytes para variáveis locais. O máximo são 2.048 bytes.

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xdb

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xdb

    Problema ao carregar para a placa. Veja http://www.arduino.cc/en/Guide/Troubleshooting#upload para sugestões.

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xdb

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xdb

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xdb

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xdb

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xdb

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xdb

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xdb

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xdb

    Poderia me ajudar?

    Att

  10. Bruno Amadeu dos Santos - 7 de maio de 2015

    Bom tarde, FilipeFlop. Tenho aqui comigo Mini Arduino Pro, ele funciona com uma usb alimentando e comunicando. Sendo que o RXD E TXD, não estão comunicando…quando eu faço o upload de um sketch, ele fica carregando. O que será isto? e você sabe de alguma solução?

    • FILIPEFLOP - 22 de maio de 2015

      Boa tarde Bruno,

      Que tipo de adaptador você está utilizando para alimentar e carregar o programa pela USB ?

      Grato.

      Adilson – Equipe FILIPEFLOP

    • Joel Gomes - 29 de julho de 2015

      Olá Bruno, eu estava com um problema parecido quando eu estava utilizando um conversor serial baseado em Prolific com apenas 4 pinos (TX, RX, GND e VCC), não tinha o DTR. Então depois de pesquisar muito, encontrei uma solução:
      1º Na aba de Ferramentas -> Programador: AVR ISP. Tem que selecionar esse.
      2º Quando vc mandar carregar o código, segure o botão de reset enquanto estiver Copilando Sketch, quando aparecer Carregando… Solte o botão de Reset e espere…
      Pronto, código carregado

  11. eduardo - 6 de maio de 2015

    Boa noite, consigo conectar um módulo Bluetooth?

  12. Ulisses - 20 de abril de 2015

    Eu poderia usar uma porta serial do Arduino Pro Mini com um módulo Bluetooth e a outra para ligar com um Motor Shield, se sim como eu diferenciaria elas na programação?

  13. Wellington - 5 de janeiro de 2015

    Segue vídeo explicando como programar com o MEGA.

  14. Heitor - 2 de janeiro de 2015

    Olá. meu arduino mim não tem a porta GRN. Só uma porta DTR, será a mesma ?

  15. Hector Gabriel - 27 de novembro de 2014

    Mas é necessário outro Arduíno para programar este?

  16. Aurélio Buarque - 26 de outubro de 2014

    Oi! muito bom, mas como é que vcs deixaram a IDE desse jeito ai, com fundo preto?

  17. Guy Sucupria Junior - 20 de setembro de 2014

    Amigo, no meu não funcionou. Tentei com duas placas Arduíno diferentes. A proposito falta algo na sua foto. o Anodo do LED nao esta conectado a lugar nenhum.

  18. Ruani Costa - 5 de agosto de 2014

    Gostaria de saber se posso também utilizar o Arduino Mega ADK para programar o Mini?

    • FILIPEFLOP - 11 de agosto de 2014

      Boa tarde Ruani,

      Não testamos esse procedimento ainda. A principio o ATMega é retirado do Arduino UNO para evitar conflitos, mas isso não pode ser feito no ADK, já que o microcontrolador é soldado. Você pode tentar também utilizar as outras portas seriais do ADK para programar o mini, já que o ADK possui 4 seriais:

      Serial: 0 (RX) and 1 (TX); Serial 1: 19 (RX) and 18 (TX); Serial 2: 17 (RX) and 16 (TX); Serial 3: 15 (RX) and 14 (TX).

      Abraço !

      Adilson – Equipe FILIPEFLOP

  19. Thadeu Munhóz Cesário - 11 de julho de 2014

    Eu poderia conectar uma bateria de 9V para alimentar o arduino pro mini ?

  20. Thadeu Munhóz Cesário - 11 de julho de 2014

    Boa Tarde,

    O arduino pro mini, faz todas as coisas que o arduino uno faz ?

    Eu conseguiria fazer esse projeto no arduino pro mini ?
    Por exemplo, eu tenho uma shield de vibração e toda vez que detectar vibração aciona um buzzer.

    Muito Obrigado

  21. Atari 8Bits + Arduino | RetroWork - 5 de junho de 2014

    […] ensinar ninguém à fazer isso!!! nem adianta chorar… o máximo que vou fazer é postar um LINK ensinando a programar um MINI pelo UNO, caso você não tenha um programador FTDI ( meu caso ), […]

  22. Willian Farago - 26 de março de 2014

    Tem como programar o PRO MINI utilizando o arduino NANO v3?

  23. Placas Arduino - Modelos e características | FILIPEFLOP - 23 de março de 2014

    […] Possui 14 portas digitais, sendo que 6 podem ser usadas como PWM, e 8 portas analógicas. Não possui conexão USB ou conector para alimentação externa. Para comunicação com o computador, pode ser adquirido um módulo USB separadamente, ou utilizada uma placa Arduino para programação, como mostrado no artigo Programando um Arduino Pro Mini com Arduino Uno. […]

  24. Placas Arduino – Modelos e características | Blog FilipeFlop - 3 de fevereiro de 2014

    […] Possui 14 portas digitais, sendo que 6 podem ser usadas como PWM, e 8 portas analógicas. Não possui conexão USB ou conector para alimentação externa. Para comunicação com o computador, pode ser adquirido um módulo USB separadamente, ou utilizada uma placa Arduino para programação, como mostrado no artigo Programando um Arduino Pro Mini com Arduino Uno. […]

Deixe uma resposta