Artigo visualizado 1976 vezes

Arduino Standalone: Montado em uma Protoboard

Introdução

Contextualização Histórica

Antes de falarmos sobre o Arduino, visitemos rapidamente a origem da categoria de seu principal componente, o microcontrolador.

Microcontroladores são a evolução dos circuitos digitais cuja complexidade teve grande aumento com o decorrer do tempo, chegando ao ponto de ser mais simples, compacto, rápido e barato, englobar toda a lógica em um único circuito integrado que opere sob as ordens de um programa, executando as funções do circuito lógico que substitui, com a vantagem de tornar possível alterar, até certo ponto, a funcionalidade sem modificações nos circuitos físicos, apenas mudando o programa.

Pertencentes à categoria de circuitos integrados VLSI e ULSI, os microcontroladores foram primeiro criados pela Intel no ano de 1977. O primeiro modelo de microcontrolador foi batizado 8048, posteriormente dando origem ao 8051, que foi um grande sucesso da gigante americana.

Os microcontroladores podem ser, em última análise, considerados como um computador em um único chip, contendo: processador; memórias de programa e de dados; interfaces com linhas de entrada e saída para controle e leitura de dispositivos externos; e eventualmente uma série de dispositivos auxiliares como gerador de sinal de sincronismo; temporizadores; contadores; interfaces de comunicação serial tipo USART; conversores de sinais; e uma série de outras possibilidades.

Dependendo do arranjo de memória de um sistema de processamento podemos estar diante da arquitetura chamada Harvard, ou von Neumann.

A arquitetura von Neumann é aquela em que há uma única área de memória na qual ficam armazenados os dados variáveis e o programa a ser executado e, portanto, há apenas um barramento para a leitura/escrita em memória.

Já a arquitetura Harvard é aquela em que há áreas de memória distintas para dados variáveis e programa a ser executado, portanto, há dois barramentos um para os dados da memória de variáveis e outro para os dados da memória de programa.

Processadores baseados na arquitetura Harvard executam programas em menor tempo do que os baseados em arquitetura von Neumann, pois na arquitetura von Neumann a unidade de processamento só pode efetuar uma única ação por vez: ou acessa os dados variáveis ou executa uma instrução de programa, em contrapartida na arquitetura Harvard a unidade de processamento pode acessar dados variáveis e instruções simultaneamente.

A unidade de processamento se compõe de partes especializadas como: banco de registradores onde dados e endereços são armazenados temporariamente para a execução do programa; unidade lógica e aritmética responsável por cálculos e comparações; unidade de controle que coordena a operação das demais partes; e o contador de programa.

Evolução dos modelos e marcas de microcontroladores ao longo do tempo

Esta é uma jornada que se iniciou em 1971 com o primeiro microcontrolador criado pela Texas Instruments, o TMS1000 de 4 bits, que lhe valeu a patente básica do microcontrolador, o primeiro circuito integrado com todos os elementos de um computador funcional em uma única pastilha de silício.

Um ponto marcante desta história aconteceu em 1977, quando a Intel lançou o 8048, um microcontrolador de 8 bits, que equipou praticamente todos os teclados de PCs de toda uma era da computação pessoal, além dos consoles do Magnavox Odyssey e alguns modelos de sintetizadores da Roland.

O próximo marco histórico pertenceu mais uma vez à Intel quando em 1980 lançou o 8051, microcontrolador de 8 bits que tem modelos variantes sendo fabricados até os dias atuais por algo como 2000 diferentes fabricantes.

Posteriormente a Motorola marcou sua presença nesta história quando em 1984 lançou o 6811, em produção até hoje pela Freescale (NXP), muito utilizado em aplicações automotivas

Agora estava chegando a vez da Microchip marcar sua presença e em 1985 lançou sua linha Programmable Interface Controller, ou como é mais conhecida PIC, com microcontroladores de 8, 16 e 32 bits.

Ao mesmo tempo era dado ao mundo conhecer o Acorn RISC MAchine, ou ARM1, que no início dos anos 90 (1991) passou a ser o Advanced RISC Machine agora na versão ARM6.

Finalmente chegamos a 1996 e a Atmel lança sua linha AVR de microcontroladores, de onde vem a surgir o ATmega328P o atual microcontrolador usado no Arduino UNO.

Mas é claro a história não parou por aí e em 2016 a Espressif nos brinda com o ESP32, no entanto, hoje nosso foco é o AVR ATmega328P.

Arduino uma introdução

Conceito de computuação física

Segundo João Ledo Fonseca em seu artigo Computação Física, publicado em 07.mar.2009 no blog DREAMFEEL, disponível em <https://dreamfeel.wordpress.com/2009/03/07/computacao-fisica/>, “o campo da computação física engloba todas as disciplinas que permitem construir equipamentos digitais de computação que interagem com, e respondem à, realidade física analógica que os rodeia, usando software e hardware para este fim.

Em sentido lato, computação física é a disciplina que estuda e concebe sistemas digitais, incluindo computadores, controladores e respectivo software que, ligados a sensores e atuadores, permitem construir sistemas e aparelhos autômatos, que percebem a realidade e respondem com ações físicas a esta realidade.

São área próximas à computação física a multimídia, realidade virtual e a realidade aumentada.

Sua utilização torna-se interessante quando são produzidos sistemas que melhoram significativamente experiências que de outra forma seriam corriqueiras, ou mesmo que melhorem a vivência de uma situação. Nesse sentido podemos dizer que sua aplicabilidade encontra terreno fértil em marketing, publicidade, museus, eventos empresariais, culturais e de multimidia e porque não dizer em domótica e diversas ações de automação, seja de produção ou de segurança.

Surgimento do Arduino

Em nível mais popular a computação física teve grande impulso com a criação do Arduino em Ivrea noroeste da Itália em 2005 por um grupo de cinco pesquisadores: Maximo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino e David Mellis. A motivação do grupo tinha propósitos didáticos, no entanto não demorou para que se vislumbrasse as possibilidades de aplicação em diversas situações de trabalhos artísticos a produtos profissionais de linha.

Provavelmente o primeiro prot[otipo do Arduino, ainda baseado no ATmega8 do ano de 2005
Figura 1: Provável Primeiro Protótipo do Arduino | Fonte: https://arduinohistory.github.io/
Primeiro modelo de Arduino (Arduino Serial) do ano de 2005
Figura 2: Arduino Serial | Fonte: https://www.arduino.cc/en/Main/ArduinoBoardSerial

O nome não tem qualquer conexão com o mundo da tecnologia, Arduino vem do nome de uma cafeteria em Ivrea onde alguns dos fundadores do projeto costumavam se reunir.

Fachada da cafeteria Arduino na cidade de Ivrea, Itália
Figura 3: Fachada da pasticceria Arduino em Ivre | Fonte: Pietro Aiuola

A cafeteria, por sua vez, tem esse nome por causa de Arduino de Ivrea, que em 990 se tornou Marquês de Ivrea, em 991 Conde do Palácio de Latrão e em 1002 foi eleito Rei da Itália até 1014.

Gravura representando Arduino d'Ivrea
Figura 4: Arduino d’Ivrea | Fonte: wikipedia

Não obstante, há uma eminência parda na história oficial da criação do Arduino que é o Sr. Hernando Barragán, criador do projeto Wiring em 2003, que visava simplificar para um público não técnico, o acesso a ferramentas de prototipagem para eletrônica e programação. Desse trabalho resultou a linguagem de programação do Arduino, atribuição que é omitida pelo grupo criador do Arduino.

A versão de Barragán da história pode ser lida em http://arduinohistory.github.io/.

Caracetrísticas gerais do Arduino

Aquele Arduino denominado “serial” evoluiu para o que hoje conhecemos como Arduino UNO R3 (revisão 3) cujas principais características são:

  • Microcontrolador ATmega328P
  • Tensão de operação 5V
  • Tensão recomendada de entrada 7-12V
  • Tensão limite de entrada 6-20V
  • Pinos de E/S digital 14 (6 fornecem saída PWM)
  • Pinos de entrada analógica 6
  • Corrente DC por pino de E/S 20mA
  • Corrente DC para o pino 3,3V 50mA
  • Memória Flash 32 KB (1/2 KB usado pelo bootloader)
  • SRAM 2 KB
  • EEPROM 1 KB
  • Velocidade do relógio 16 MHz
  • LED_BUILTIN 13
  • Comprimento 68,6 mm
  • Largura 53,4 mm
  • Peso 25g

Diagrama de pinos

Funções dos pinos do Arduino
Figura 5: Pinos do Arduino UNO R3 | Fonte: https://arduino.cc

Motivos do sucesso do Arduino

Todo o sucesso do Arduino vem, principalmente, de cinco fatores que são:

  • Alta funcionalidade;
  • Baixo custo;
  • Facilidade de programação;
  • Suporte nas três mais populares plataformas de computação (Windows; Macintosh e Linux); e
  • Licenciamento livre de royaties por ser open hardware.

Na esteira desse sucesso vem todo um ecossistema de modelos de Arduinos, melhor adaptados a diferentes aplicações. Hoje conta-se com diversos modelos, dezesseis deles mostrados na Tabela 1: Modelo, preços, e principais especificações de Arduinos.

ModeloPreço
[US$]
CategoriaAlimentação
(externa)
FLASH
bytes
RAM
bytes
EEPROM
bytes
Velocidade
[MHz]
UNO23,00Entrada5V32K2K1K16
Leonardo20,70Entrada5V32K2K51K16
Micro20,70Entrada5V32K2K51K16
Nano20,70Entrada5V32K2K1K16
Mega40,30Aprimorados5V256K8K4K16
Due40,30Aprimorados3,3V512K96K84
Nano 33 BLE20,20Aprimorados3,3V1M256K64
Nano 33 BLE Sense31,10Aprimorados3,3V1M256K64
MKR Zero25,20Aprimorados5V256K32K48
Nano 33IOT18,40IoT3,3V256K32K48
MRK Wan 130040,30IoT5V256K32K48
MKR WiFi 101032,10IoT5V256K32K48
MKR NB 150077,00IoT5V256K32K48
MKR VIDOR 400072,40IoT3,3V2M8M48-200
MKR100036,80IoT5V256K32K48
UNO WiFi Rev244,80IoT5V48K614425616
Tabela 1: Modleos, preços e principais especificações de Arduinos | Fonte: http://arduino.cc
Arduinos originais mias populares: UNO; Leronardo; Nano e MEGA
Figura 6: Arduinos originais mais populares | Fonte: arduino.cc

Por ser open hardware seu projeto pode ser utilizado livremente, abrindo possibilidade para a aparição de diferentes placas, que só não podem usar o nome Arduino, que é uma marca registrada, mas as variações são múltiplas (Franzino; Freeduino; Richduino; YourDuinoRodoRed; Microduino, e outras mais, sem citar os nomes não foneticamente derivados).

Placas baseadas no Arduino UNO de fabricantes alternativos: EasyBlack; RoboCore; Franzino; e RGBDuino
Figura 7: Placas genéricas baseadas no Arduino | Fontes diversas entre fabricantes e vendedores

Planejando e construindo um Arduino Standalone

Planejando o que queremos obter

Antes mesmo de planejar o que faremos é muito importante termos claro o que desejamos alcançar. Neste ponto o que queremos é um Arduino de hardware simplificado o suficiente para ser usado na confecção de nossos projetos na prototipação um pouco mais próximo ao que será o nosso produto, sem os adicionais de placa do Arduino, como reguladores de tensão, microcontrolador de comunicação USB, desde que não sejam necessários em nosso produto.

Outros pontos importantes são que exista flexibilidade para montar e alterar os circuitos e  ocupação de espaço reduzida. O diagrama esquemático de nosso standalone é mostrado na Figura 8: Diagrama Eletrônico do Arduino Standalone, presente a seguir.

Diagrama Elétroc do Arduino Standalone
Figura 8: Diagrama Elétrico do Arduino Standalone | Fonte: próprio autor

A fim de emprestar o máximo de flexibilidade à montagem física do circuito, opta-se pela montagem em proboard (placa de experimentação), de tal forma que outros circuitos que façam parte do produto possam ser ensaiados juntamente com o standalone, o que indica o uso de uma placa de experimentação de 830 pontos de contato.

Análise financeira da construção pretendida

Com está decisão torna-se possível fechar uma lista de materiais para nossa montagem conforme segue na Tabela 2: Lista de materiais com custo médio estimado a seguir.

#QtdeDescriçãoCusto médio
(estimado)
101CI ATmega328PR$ 28,00
202LED vermelho 3mmR$ 0,50
301Cristal oscilador de 16MHz (caneca baixa)R$ 1,80
402Capacitor cerâmico disco 22pF/50VR$ 0,36
503Capacitor cerâmico disco 100nF/50VR$ 0,60
601resistor 470ohm 1/8WR$ 0,15
701Resistor 1kohm 1/8WR$ 0,15
801Resistor 10kohm 1/8WR$ 0,15
901Protoboard de 830 pontosR$ 19,40
100,3mFio 0,3mm (22AWG) pretoR$ 0,90
110,3mFio 0,3mm (22AWG) vermelhoR$ 0,90
120,2mFio 0,3mm (22AWG) qualquer outra cor R$ 0,90
TotalR$ 58,31
Tabela 2: Lista de materiais incluindo custo estimado | Fonte: Pesquisano comércio

Adicionalmente necessitaremos de um, e um único conversor USB-TTL (que tenha o sinal DTR disponível) para facilitar a gravação dos sketchs em nosso Arduino Standalone, ao custo médio de R$ 28,00 (máximo de R$ 36,00 e mínimo de R$ 16,90).

Deve-se ponderar que no mercado nacional podemos encontrar Arduino Nano compatível por preços razoáveis como R$ 40,00, abaixo do custo do Standalone e já incluindo a comunicação USB.

Dolarizando os valores encontrados temos um Arduino Standalone ao custo de US$ 11,50 mais o conversor por US$ 5,55. É importante levar em conta que um Arduino Nano original no site da Arduino custa US$ 20,70 e um Arduino Nano Every US$ 12,90, colocando em dúvida a viabilidade econômica de montar um Arduino Standalone, situação que se torna mais evidente se considerarmos Arduinos Nano não originais que podem ser encontrados por menos de US$ 5,00, muito embora ainda haja o custo de frete a ser cotado. Tendo em mãos estes dados a tomada de decisão pela montagem do Arduino Standalone pode ter outras motivações além de seu custo, portanto você está plenamente consciente quanto à decisão que tomará.

Construindo o Arduino Standalone

Preliminares da montagem

Uma vez decidido que a construção será levada a cabo, o material constante da Tabela 2 deve ser adquirido em sua integralidade, podendo haver substituição de alguns materiais, tais como LEDs de 3mm por 5mm, difusos, por alto brilho e suas cores, pois não causará qualquer efeito na operação do Standalone.

Alguns itens opcionais, portanto, não incluídos na lista de materiais são:

1 Resistor de 1Mohm 1/8W

1 barras de pinos 180 graus 14mm

1 etiqueta para aderir ao ATmega328P identificando os pinos equivalentes do Arduino UNO

O resistor de 1Mohm pode ser montado em paralelo com o cristal oscilador para garantir maior estabilidade à operação do oscilador.

As barras de pinos, fragmentadas em grupos de 2 ou 3 pinos por fragmento, facilitam a ligação de fontes de alimentação de bancada com cabos terminados por garras jacaré, ou podem ser utilizados para facilitar o acesso de pontas de prova para medições.

Por uma questão de padronização fios vermelhos são usados para as conexões de +5V, pretos para conexões de 0V e outra cor para demais conexões. A etiqueta com a correspondência dos pinos do Arduino UNO para o ATmega328P pode ser impressa a partir do arquivo que pode ser descarregado neste link. Ela pode ser impressa com resolução de 600 dpi para que fique perfeitamente legível e após recortada, ser colada (por exemplo, com adesivo PVA) sobre o ATmega328P, resultando como mostrado na Figura 9: ATmega adesivado.

CI ATmega328P com etiqueta de identificação de funções dos pinos
Figura 9: ATmega328P adesivado | Fonte: próprio autor

Iniciando a montagem

É importante saber que muitos, não todos, protoboards de 830 pontos tem seus barramentos de alimentação divididos em dois segmentos cada, assim certifique-se se o protoboard em mãos tem, ou não, esta característica, caso tenha inicie por conectar os segmentos correspondentes como ilustra a Figura 10: Conectando barramentos de alimentação.

Conexão entre barramento de alimentação do protoboard
Figura 10: Conectando barramentos de alimentação | fonte: próprio autor

Visando liberar a máxima área de protoboard para as montagens dos protótipos posiciona-se toda a montagem próxima a uma das bordar do protoboard, iniciando pela chave de reset e pelo ATmega328P, conforme mostra a Figura 11: Posicionamento do ATmega e do Reset.

Posicionamento do botão de reset e do microcontrolador na protoboard
Figura 11: Posicionamento ao ATmega e do Reset | Fonte: próprio autor

A seguir posiciona-se os LEDs de Ligado (Power On) e o Built-In, o primeiro próximo à chave de Reset e último logo após o circuito integrado, como ilustra a Figura 12: Posicionamento dos LEDs.

Posicionamento dos LEDs Ligado e Built-In na Protoboard
Figura 12: Posicionamento dos LEDs | Fonte: próprio autor

Agora fazemos a ligação do “LED Ligado” com o resistor de 1K Ohm e a conexão ao 0V (ou GND), como mostrado na Figura 13: Ligações do LED Ligado.

Ligações do LED Ligado
Figura 13: Ligações do LED Ligado | Fonte: próprio autor

Em seguida são feitas ligações do resistor de pull-up do Reset e conexão do pino de Reset (pino 1 do componente) à chave e pull-up, como ilustra a Figura 14: Circuito de Reset.

Ligações do circuito de reset manual
Figura 14: Circuito de Reset | Fonte: próprio autor

Efetua-se a ligação do  LED Built-In (marcado como L nas placas de Arduino) ao pino 5 do Port B (pino 19 do componente) com um resistor de 470 Ohm, e a inserção do capacitor de acoplamento do Reset para a geração do pulso de Reset para a gravação de sketch, como na Figura 15: Resistor do LED Built-In e capacitor de Reset.

Ligação do LED Built-In e do capacitor do reset
Figura 15: Resistor do LED Built-In eo capacitor do Reset | Fonte: próprio autor

As conexões da alimentação de +5V aos pinos Vcc (pinos 7) e AVcc (pino 20 do componente), são feitas com fios vermelhos para facilitar a identificação do que está sendo ligado, como mostrado na Figura 16: Ligações de +5V.

Ligações do +5V
Figura 16: Ligações de +5V | Fonte: próprio autor

Agora em preto as conexões do 0V aos pinos GND (pinos 8 e 22 do componente), deixando claro que são ligações ao referencial de energia. Isto está mostrado na Figura 17: Ligações de GND.

Ligações de GND do microcontrolador - ATENÇÃO  a ligação de GND colateral ao resistor de reset está errada nesta imagem. Deveria estar no pinos 8 e não pino 6.
Figura 17: Ligações de GND | Fonte: próprio autor

Importante não esquecer de instalar os capacitores de desacoplamento da alimentação o mais próximo possível do ATmega238P, como ilustrado na Figura 18: Capacitores de desacoplamento da alimentação.

Capacitores de desacoplamento da alimentação do microcontrolador - ATENÇÃO  a ligação de GND colateral ao resistor de reset está errada nesta imagem. Deveria estar no pinos 8 e não pino 6.
Figura 18: Capacitores de desacoplamento da alimentação | Fonte: próprio autor

De forma a garantir a distribuição de energia pelos dois barramentos é provido um par de jumperes nas cores correspondentes ao +5V e ao 0V. A Figura 19: Pontes de alimentação mostra isso.

Pontes entre barramentos de alimentação - ATENÇÃO  a ligação de GND colateral ao resistor de reset está errada nesta imagem. Deveria estar no pinos 8 e não pino 6.
Figura 19: Pontes de alimentação | Fonte: próprio autor

Iniciando a montagem do oscilador a cristal os dois capacitores de 22pF são montados, um ligado entre pino X1 (pinos 9 do componente) e 0V como ilustra a Figura 20: Componentes do conjunto oscilador a cristal e o outro entre o pino X2 (pino 10 do componente) e 0V, conforme ilustra a Figura 22: Ligação dos componentes do oscilador a cristal.

Capacitores do conjunto oscilador a cristal - ATENÇÃO  as ligações de +5V e GND colaterias ao resistor de reset estão erradas nesta imagem. Deveriam estar nos pinos 7 e 8 e não 8 e 9.
Figura 20: Componentes do conjunto oscilador a cristal | Fonte: próprio autor

Agora entra o cristal no conjunto do oscilador entre os pinos X1 e X2 já citados, como mostra a Figura 21: Cristal do conjunto oscilador a cristal.

Cristal do oscilador - ATENÇÃO  as ligações de +5V e GND próximas ao cristal oscilador estão erradas nesta imagem. Deveriam estar nos pinos 7 e 8 e não 8 e 9.
Figura 21: Cristal do conjunto oscilador a cristal | Fonte: próprio autor

Finalizando as conexões elétricas do conjunto oscilador conecta-se o pino X2 ao segundo capacitor de 22pF já posicionado e sua respectiva ligação ao 0V, ligações mostradas na Figura 22: Ligação dos componentes do oscilador a cristal.

Ligação dos componentes do oscilador a cristal - ATENÇÃO  as ligações de +5V e GND próximas ao cristal oscilador estão erradas nesta imagem. Deveriam estar nos pinos 7 e 8 e não 8 e 9.
Figura 22: Ligação dos componentes do oscilador a cristal | Fonte: próprio autor

Finalizando a montagem do Arduino Standalone, a última ligação faltante é a conexão do LED Built-In ao 0V, o que é feito com fio preto. O toque final fica por conta dos dois pedaços de terminais em linha a 180° para facilitar a conexão da alimentação externa do Standalone. Todos estes detalhes finais mostrados na Figura 23: Arduino Standalone concluído.

Arduino Standalone concluído
Figura 23: Arduino Stand Alone concluído | Fonte: próprio autor

A detalhada conferência da montagem deve ser empreendida antes de energizar o equipamento.

Segue aqui a lista de ligações elétricas efetuadas na montagem para auxiliar na conferência.

Lista de conexões da montagem

Ligado: Barramento positivo (+5V) para resistor de 1K Ohm. Resistor de 1K Ohm para ânodo do LED. Cátodo do LED para o barramento negativo usando, preferencialmente, fio preto (0V).

Botão de RESET:         Par de pinos conectados internamente para o 0V. Outro par de pinos ligados internamente para um resistor de 10K Ohm, também para o pino 1 do circuito integrado ATmega328P, usando fio de uma terceira cor, e para o capacitor de 100nF. Resistor de 10K Ohm para o +5V. Capacitor de 100nF para uma fileira de pontos sem conexão (futuramente usado para carregar sketchs via USB).

Alimentação do ATmega328P:          +5V para o pino 7 e para o pino 20 do circuito integrado (use fio vermelho). 0V para o pino 8 e para o pino 22 do circuito integrado (use fio preto). Um capacitor de 100nF entre os pinos 7 e 8. Mais um capacitor de 100nF entre os pinos 20 e 22.

Oscilador a cristal:      Capacitor de 22pF entre os pinos 8 e 9 do circuito integrado. Cristal oscilador entre os pinos 9 e 10 do circuito integrado. Também do pino 10 um fio (da terceira cor) até outro capacitor de 22pF. Do capacitor de 22pF para o 0V com um fio preto.

Ao energizar o circuito do Arduino Standalone

Ao conectar o polo negativo da fonte de alimentação de 5V ao barramento negativo e o polo positivo da fonte de alimentação de 5V ao barramento positivo, é esperado apenas que o “LED Ligado” acenda ao energizar o circuito. Caso o ATmega328P conte com o bootloader previamente carregado, ao soltar o botão de Reset o “LED Built-In” deve piscar provavelmente por três vezes. Caso isto não aconteça considere duas possibilidades, ou o bootloader não está carregado, ou há algum erro de montagem do circuito.

Instalando o conversor USB/TTL

Encontram-se no mercado ao menos três modelos de conversores USB/TTL. Um baseado no chip FTDI (Future Technology Devices International Ltd.) FT232; outro baseado no chip da WCH (Nanjing Qinheng Microeletctornics Co. Ltd.)  CH340 ; e por último no chip da Silabs (Silicon Labs) CP210x, com qualquer deste que se baseie o conversor a ser utilizado importa que conte no mínimo com a disponibilidade dos sinais TR; RX; e DTR, além, é claro, das conexões para 5V e 0V.

As ligações a serem feitas entre o conversor e o Arduino Standalone são estas cinco:

  • 0V do conversos no barramento negativo do standalone;
  • 5V do conversor no barramento positivo do standalone;
  • TX do conversor no pino RX do ATmega328P (pino 2 do CI);
  • RX do conversor no pino TX do ATmega328P (pino 3 do CI);
  • DTR do conversor o terminal livre (sem conexão) do capacitor de 100nF ligado ao RESET do ATmega328P (pino 1 do CI).

Feitas as conexões ao ligar o USB do conversor ao USB do computador executando a IDE do Arduino, o Arduino Standalone será alimentado pelo conversor, dispensando no momento a fonte de alimentação de 5V externa.

Gravando um sketch

O procedimento aqui é bastante padrão, se podemos chamar assim.

Trabalhando com o Windows inicie o programa Gerenciador de Dispositivos (Device Manager) e no item Portas (COM e LPT), caso exista, identifique qual(is) COM está(ão) presente(s).

A seguir energize o Arduino Standalone. Conecte o cabo USB entre o computador e o conversor USB/TTL.

Observe qual porta COM foi adicionada, essa é a porta de conexão do Arduino Standalone.

Na IDE do Arduino no menu “Ferramentas/Placa” selecione a opção “Arduino UNO/Genuino”. No menu “Ferramentas/Porta” selecione a COM correspondente a que foi determinada no passo anterior. Não nos adianta usar a opção de menu “Ferramentas/Obter Informações da Placa” pois na melhor das hipóteses, obteremos a seguinte indicação: “BN: Placa não identificada”.

Próximo passo enviar um sketch para o recém-construído Standalone. É sugerido iniciar com o consagrado Blink. Então carregue-o na IDE e a seguir faça a carga para o Arduino Standalone.

A menos que o ATmega328P adquirido não contenha o bootloader pré-gravado, tudo funcionará e o LED Built-In estará agora piscando num ciclo de uma vez a cada dois segundos. Se o microcontrolador não tiver o bootloader gravado previamente a carga do sketch não terá sucesso, mas se dispusermos de um outro Arduino é possível gravar o bootstarp, veja no artigo “Gravando o bootstrap no Arduino Standalone” como efetuar a operação.

Considerações finais

Interpretação ordinária

Foi avaliada a viabilidade econômica da construção de um Arduino Standalone, e visto que não existe justificativa econômica, no entanto, o ganho de familiaridade com o hardware do Arduino, ou em última análise de uma aplicação típica do ATmega328P, confere acréscimo significativo de experiência com o uso deste versátil microcontrolador.

Referências

PENIDO, Édilus C. C.; TRINDADE, Ronaldo S. Microcontroladores. Ouro Preto: Instituto Federal de Educação, Ciência e Tecnologia de Minas Gerais. 2013. 80 p. il. 28cm

Texas Instruments. Disponível em <https://web.archive.org/web/20051105012050/http://www.ti.com/corp/docs/company/history/microcomputer.shtml> acesado em 05/jun./2021

FABRI JUNIOR, Luiz Ariovaldo. O Uso de Arduino na Criação de Kit para oficinas de robótica de baixo custo para escolas públicas. Limeira: [s.n.], 2014,  p. 20

FONSECA, João Ledo. Computação Física. 2009. Disponível em <https://dreamfeel.wordpress.com/2009/03/07/computacao-fisica/>, acesso em 15 de set. de 2019.

Lista de abreviaturas

ARMAcorn RISC Machine (Máchina RISC Acorn) ou Advanced RISC Machine (Máquina RISC Avançada)
AVccAnalogic Volts Continous Current (Tensão de Corrente Continua Analógica)
BLEBlueTooth Low Energy (BlueTooth de Baixa Energia)
CICircuito Integrado
COMCommunicator (comunicador)
DCDirect Current (Corrente direta ou contínua)
dpidots per inch (pontos por polegada)
DTRData Terminal Ready (TYerminal de Dados Pronto)
EEPROMEletricaly Erasable Programmable Read Only Memory (Memória Apenas de Leitura Programável Eletricamente Apagável)
E/SEntrada e Saída
FTDIFuture TYechnology Devices International
ggrama
GNDGround (Terra)
HzHertz
IDEIntegrated Development Environment (Ambiente de Desenvolvimento Integrado)
IOTInternet of Things (Internet das Coisas)
kkilo
KBkilo bytes (1024 bytes)
LEDLight Emiting Diode (Diodo Emissor de Luz)
LPTLine Printer (Impressora de Linha)
MMega
mAmiliampere
mmmilimetros
nFnano Farads (10-9 Farads)
pFpico Farads (10-12 Farads)
PICProgrammable Interface Controller (Controlador de Interface Programável)
PVAPoliacetato de Vinila
PWMPulse Width Modulation (Modulação por Largura de Pulso)
RISCReduced Instruction Set Computer (Computador de Conjunto de Instruções Reduzido)
SRAMStatic Random Access Memory (Memória Estática de Acesso Aleatório)
TTLTransistor Transistor Logic (Lógica Transistor Transistor)
ULSIUltra Large Scale Integration (Ultra Alta Escala de Integração)
USARTUniversal Sincronous and Assincronous Receiver and Transiver (Receptor e Transmissor Sincrono e Assincrono Universal)
VVolts
VccVolts Continous Current (Tensão de Corrente Continua Analógica)
VLSIVery Large Scale Integration (Muito Alta Escala de Integração)
WWatts
WANWide Area Network (Rede de Grande Área)
WiFiWireless Fidelity (Fidelidade Sem Fio)

Glossário

DomóticaTecnologia responsável pela gestão de recursos habitacionais. O termo nasceu da fusão da palavra Domus, que significa casa, com a palavra robótica, que está ligada ao ato de automatizar.
HardwareConjunto de circuitos constituintes de equipamentos
Pull-UpResistor usado para garantir nível lógico alto às entradas de sinais digitais
SketchDenominação dos programas no universo de prototipação baseado em Wiring
SoftwareConjunto de programa constituintes de equipamentos
WiringPlataforma de prototipagem eletrônica de hardware livre composta por uma linguagem de programação, um ambiente de desenvolvimento integrado e um microcontrolador de placa única

6 thoughts on “Arduino Standalone: Montado em uma Protoboard

    1. Obrigado Wagner, muito agradecido mesmo, as postagens aqui são menos frequentes do que eu gostaria, mas são muitos afazeres. Quanto às minhas respostas no grupo secreto Mestres do Arduino do Prof. Marlon Nardi são um esforço em tentar mostrar o caminho, orientar nas dúvidas e compartilhar conhecimento, que aliás é uma coisa que quanto mais se divide, mais aumenta.

    1. Mas que boa notícia Paulo, é o cumprimento do objetivo do blog, ajudar a quem precise, divulgar conhecimento, impulsionar enfim. E agradeço também pelo seu constante incentivo, muito obrigado!

Deixe um comentário para Chico Lopes Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.