blog-eletrogate-logo-desktop blog-eletrogate-logo-mobile
  • Categorias
    • Voltar
    • INICIANTES
    • INTERMEDIÁRIOS
    • AVANÇADOS
    • divide
    • Automação Residencial
    • Componentes Eletrônicos
    • Impressão 3D
    • IoT
    • Modelagem 3D
    • Módulos Wifi
    • Por trás da tecnologia
    • Projetos
    • Raspberry Pi
    • Robótica
    • Sensores
    • Shields
    • Sistemas Operacionais
    • Tipos de Arduino
    • Tutoriais
  • Apostilas
  • Quem Somos
  • Seja um redator
  • Trabalhe Conosco
    • Categorias
      • Voltar
      • INICIANTES
      • INTERMEDIÁRIOS
      • AVANÇADOS
      • divide
      • Automação Residencial
      • Componentes Eletrônicos
      • Impressão 3D
      • IoT
      • Modelagem 3D
      • Módulos Wifi
      • Por trás da tecnologia
      • Projetos
      • Raspberry Pi
      • Robótica
      • Sensores
      • Shields
      • Sistemas Operacionais
      • Tipos de Arduino
      • Tutoriais
    • Apostilas
    • Quem Somos
    • Seja um redator
    • Trabalhe Conosco
Loja Eletrogate
voltar
  • Introdução
  • Arduino Uno vs Arduino Nano
  • Características do Arduino Nano
  • Driver CH340 e Bootloader
  • Pinout do Arduino Nano
  • Como Fazer Montagens com o Arduino Nano
  • Como Enviar Programas para o Arduino Nano
  • Programa Teste para o Arduino Nano
  • Considerações Finais
  • Referências
  • Sobre o Autor
Tipos de Arduino

Guia Arduino Nano: Driver CH340 e Bootloader

Eletrogate 13 de abril de 2021Atualizado em: 10 nov 2022

Introdução

Você gosta das funcionalidades do Arduino Uno, porém sente que ele pode ser grande demais para determinados projetos? Pois então, apresentaremos aos nossos leitores o Arduino Nano, uma placa Arduino com as mesmas especificações e funcionalidades do Uno, porém extremamente mais compacta. Iremos abordar também outras partes que compõem um Arduino, como o driver CH340 e o bootloader, essencial para o funcionamento do código. E aí, vamos nessa?


Arduino Uno vs Arduino Nano

A placa Arduino Nano é semelhante a uma placa Arduino UNO, incluindo um microcontrolador semelhante, como o Atmega328p. Assim, eles podem compartilhar um programa semelhante. A principal diferença entre os dois é o tamanho, já que a placa do Arduino Uno é praticamente o dobro da placa Nano. Portanto, as placas Uno ocupam mais espaço no sistema. A programação do UNO pode ser feita com um cabo USB enquanto que o Nano utiliza o cabo mini USB. As principais diferenças entre esses dois estão listadas na tabela a seguir.

Especificações Arduino Uno Arduino Nano
Processador ATMega328P ATMega328P
Tensão de Entrada 5V / 7 – 12V 5V / 7 – 12V
Velocidade do Processador 16 MHz 16 MHz
I/O Analógico 6/0 8/0
I/O PWM Digital 14/6 14/6
EEPROM/SRAM [kB] 1/2 1/2
Flash 32 32
USB Normal Mini
USTART 1 1

Características do Arduino Nano

  • Microcontrolador: ATmega328;
  • Conversor USB/Serial: CH340 – Tutorial aqui.;
  • Tensão de Operação: 5V;
  • Tensão de Entrada: 7-12V;
  • Portas Digitais: 14 (6 podem ser usadas como PWM);
  • Portas Analógicas: 8;
  • Corrente Pinos I/O: 40mA;
  • Memória Flash: 32KB (2KB usado no bootloader);
  • SRAM: 2KB;
  • EEPROM: 1KB;
  • Velocidade do Clock: 16MHz;
  • Dimensões: 45 x 18mm.

Driver CH340 e Bootloader

Bootloader

Todos os usuários de placas Arduino podem concordar que sua utilização é bastante simples, já que ela roda projetos com uma grande facilidade. Para isso, basta carregar o código do blink e clicar em upload. Em questão de segundos, o LED do Arduino pisca com muita segurança. Mas você já parou para pensar como o Arduino recebe o código blink? Através do bootloader do Arduino. Todo Arduino tem um bootloader, um pequeno programa que sempre fica armazenado em seu interior para atualizar o código implementado. Ele só é executado uma vez por reinicialização, sempre procurando um novo código a ser carregado no Arduino antes de iniciar o código existente.

O bootloader funciona assim:

Começando pela parte do PC, para acionar um reset no pino RESET, o PC (avrdude.exe ou GNU / Linux equivalente) abre a porta serial para o Arduino quando o upload é feito e o código está pronto para ser carregado. Isso faz com que a linha Data Transmit Ready (DTR) do chip USB / TTL fique LOW. A placa Arduino tem um circuito de carregamento de capacitor que usa este sinal LOW (carregando o capacitor) para puxar momentaneamente para baixo a linha RESET do chip ATMEGA328P antes de retorná-lo para HIGH (carregamento do capacitor concluído). Portanto, o Arduino reinicia cada vez que sua porta serial é aberta.

Após a reinicialização, o Arduino entra no bootloader.

O bootloader examina a fonte que causou a reinicialização. Existem várias fontes que podem causar uma reinicialização. Se a reinicialização foi causada pelo pino RESET, ele aguardará um segundo para que o PC envie os comandos. Ao receber comandos válidos, ele começará a aceitar o novo código do Arduino no formato HEX e apagará o código existente para carregar um novo. Se não receber comandos válidos, ele atinge o tempo limite após um segundo e dispara uma redefinição do Watch Dog Timer (WDT).

Assim que o bootloader for executado novamente, ele examinará a origem da reinicialização. Depois de determinar que foi a redefinição do WDT, ele pula imediatamente para a primeira linha do código real. Dessa forma, se você ligar o Arduino, ele será capaz de executar seu código imediatamente, em vez de esperar no bootloader para atingir o tempo limite de 1 segundo. É muito inteligente!

Driver CH340

CH340 é um conversor TTL (serial) para USB e vice-versa. Este chip tem sido usado em algumas placas como Arduino, ESP8266, etc. As placas que usam o chip CH340 não precisam de um programador para acessar o processador ou para programá-las. Este driver pode ser encontrado na parte de baixo do Arduino Nano, por exemplo.


Pinout do Arduino Nano

Fonte: Arduino


Como Fazer Montagens com o Arduino Nano

A montagem de um Arduino Nano é a mesma Uno, porém a ligação do arduino com o computador deve ser feita através de um cabo mini USB.

Outra característica do Arduino Nano é que um driver extra deve ser instalado antes de começar a trabalhar com estas placas. Se o leitor necessitar instalar este driver, basta conferir nosso tutorial clicando aqui.

A comunicação de uma placa Arduino Nano pode ser feita através de diferentes fontes, como uma placa Arduino adicional, um computador, ou até mesmo usando microcontroladores. O microcontrolador utilizado na placa Nano (ATmega328) oferece comunicação serial (UART TTL). Ela pode ser acessada através dos pinos digitais TX e RX. O software Arduino é composto por um monitor serial para permitir fácil transmissão e recepção de informações textuais da placa.

Os LEDs TX e RX na placa Nano piscarão sempre que as informações estiverem sendo enviadas pelo link FTDI e USB na direção do computador. O SoftwareSerial semelhante a uma biblioteca permite a comunicação serial em qualquer um dos pinos digitais da placa. O microcontrolador também suporta comunicação SPI e I2C (TWI).


Como Enviar Programas para o Arduino Nano

A programação de um Arduino Nano pode ser feita através do ambiente IDE. Clique na opção Ferramentas e selecione a placa nano, como demostrado abaixo. 

O microcontrolador ATmega328 sobre a placa Nano vem com um bootloader pré-programado. Este bootloader permite fazer upload de novos códigos sem usar um programador de hardware externo. A comunicação deste pode ser feita com o protocolo STK500. Aqui, o bootloader também pode ser evitado e o programa do microcontrolador pode ser feito usando o cabeçalho da programação serial no circuito ou ICSP com um ISP Arduino.


Programa Teste para o Arduino Nano

A maneira mais simples de testar um Arduino é usando o programa Blink (Piscar) dos exemplos da IDE do Arduino.  Dessa forma, se a placa estiver OK e se o programa for gravado corretamente, o LED embutido na placa ficará piscando na frequência de 1 Hertz (uma vez por segundo).

Copie o Sketch na Arduino IDE e depois clique no Botão CARREGAR. Após alguns segundos, o programa será gravado no Arduino. Verifique se o LED estará piscando corretamente.

Ou, se preferir, pode copiar o código abaixo:

/*
  Blink

  Turns an LED on for one second, then off for one second, repeatedly.

  Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
  it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
  the correct LED pin independent of which board is used.
  If you want to know what pin the on-board LED is connected to on your Arduino
  model, check the Technical Specs of your board at:
  https://www.arduino.cc/en/Main/Products

  modified 8 May 2014
  by Scott Fitzgerald
  modified 2 Sep 2016
  by Arturo Guadalupi
  modified 8 Sep 2016
  by Colby Newman

  This example code is in the public domain.

  http://www.arduino.cc/en/Tutorial/Blink
*/

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

Considerações Finais

Espero que tenha gostado do post. O objetivo aqui foi apenas iniciar sua jornada de conhecimento sobre o Arduino Nano, porém há ainda muito a aprender. Confira nossos outros post no blog para ficar por dentro de tudo que o Arduino pode nos proporcionar.

Quer saber mais sobre outros tipos de Arduino? Confira os post abaixo e aprenda mais!

  • Guia Completo do Arduino Pro Mini;
  • Guia Completo do ARDUINO MEGA;
  • Guia Completo do Arduino Leonardo;
  • Gamepad de PC: Arduino Pro Micro;
  • O que é Arduino: Para que serve, vantagens e como utilizar;

Avalie o post e deixe um comentário sobre seu interesse em Arduino e se esse artigo te ajudou a descobrir mais sobre essa plataforma.

Siga-nos também no Instagram para receber conteúdos diários sobre Arduino e eletrônica: @eletrogate.

Até mais!


Referências

  • How Arduino bootloader works – Liudr’s Blog;
  • Arduino Bootloader, What is it? – Bald Engineer;
  • Getting Started with the Arduino Nano – Arduino;
  • Pinout – Arduino;
  • An Overview of Arduino Nano Board – Elprocus;
  • Arduino Nano – Components101;

Tenha a Metodologia Eletrogate na sua Escola! Conheça nosso Programa de Robótica Educacional.


Sobre o Autor


Ricardo Lousada
@ricardo_lousada

Graduando em Engenharia de Controle e Automação pela UFMG. Ocupo meu tempo aprendendo cada vez mais sobre eletrônica e programação, áreas que mais gosto. Meus hobbies são cinema e livros.


Eletrogate

13 de abril de 2021 Atualizado em: 10 nov 2022

A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.

Conheça a Metodologia Eletrogate e Lecione um Curso de Robótica nas Escolas da sua Região!

Projetos

Jogo da Velha na TV!

Eletrogate19 de setembro de 2023

Este é um jogo de quebra-cabeça para dois jogadores, identificados como “X” e “O”, que se revezam marcando os espaços em uma área 3 × 3.
Alguma vez na vida você já deve ter jogado este clássico jogo conhecido como Jogo-da-Velha ou Tic-Tac-Toe.

Neste post, você vai aprender a montar e programar uma versão digital deste jogo, com saída de imagem para TV, utilizando apenas alguns componentes eletrônicos básicos, uma placa Arduino UNO e um Teclado Matricial de 16 teclas.

Projetos

Jogo da Velha na TV!

Eletrogate19 de setembro de 2023

Este é um jogo de quebra-cabeça para dois jogadores, identificados como “X” e “O”, que se revezam marcando os espaços em uma área 3 × 3.
Alguma vez na vida você já deve ter jogado este clássico jogo conhecido como Jogo-da-Velha ou Tic-Tac-Toe.

Neste post, você vai aprender a montar e programar uma versão digital deste jogo, com saída de imagem para TV, utilizando apenas alguns componentes eletrônicos básicos, uma placa Arduino UNO e um Teclado Matricial de 16 teclas.

IoT

LittleFS: Alto Desempenho para RP Pico, ESP32 e ESP8266

Eletrogate12 de setembro de 2023

Aprenda neste post, a usar o sistema de arquivos LittleFS, que possui mais desempenho do que o sistema SPIFFS, nas placas Raspberry Pi Pico, ESP32 e ESP8266.

IoT

LittleFS: Alto Desempenho para RP Pico, ESP32 e ESP8266

Eletrogate12 de setembro de 2023

Aprenda neste post, a usar o sistema de arquivos LittleFS, que possui mais desempenho do que o sistema SPIFFS, nas placas Raspberry Pi Pico, ESP32 e ESP8266.

Sensores

Como Utilizar o Módulo Sensor de Cor RGB TCS34725

Eletrogate5 de setembro de 2023

Você já precisou de algum sensor para detectar as cores de objetos? Venha conferir o post de hoje! Nós vamos utilizar o sensor RGB TCS34725.

Sensores

Como Utilizar o Módulo Sensor de Cor RGB TCS34725

Eletrogate5 de setembro de 2023

Você já precisou de algum sensor para detectar as cores de objetos? Venha conferir o post de hoje! Nós vamos utilizar o sensor RGB TCS34725.

Projetos

Controlando o Braço Robótico em MDF via Bluetooth

Eletrogate29 de agosto de 2023 Atualizado em: 01 set 2023

Que tal montar um braço robótico e controlá-lo pelo celular? Entre para dicas de montagem e aprender a controlar servos e conectar sua placa.

Projetos

Controlando o Braço Robótico em MDF via Bluetooth

Eletrogate29 de agosto de 2023 Atualizado em: 01 set 2023

Que tal montar um braço robótico e controlá-lo pelo celular? Entre para dicas de montagem e aprender a controlar servos e conectar sua placa.

Eletrogate Robô

Cadastre-se e fique por
dentro de novidades!

blog-eletrogate-logo-footer

Rua Rio de Janeiro, 441 - Sala 1301
Centro - Belo Horizonte/MG
CEP 30160-041
*Não temos atendimento físico

ANWAR SLEIMAN HACHOUCHE - ME
CNPJ: 18.917.521/0001-73

Atendimento

(31) 3142-3800

[email protected]


Seg a Sex - das 8h às 17h

Institucional

  • Apostilas
  • Quem Somos
  • Privacidade
  • Seja um Redator
  • Trabalhe Conosco

Nos acompanhe

Facebook Instagram Youtube

© ELETROGATE 2023 - Todos os direitos reservados. Termos de uso e Política de privacidade.