Código de Pesquisa

Lição 07: Obtendo 5V e GND Adicionais do Arduino | Curso Arduino Passo a Passo

Lição 07: Obtendo 5V e GND Adicionais do Arduino | Curso Arduino Passo a Passo

Nesta lição do Curso Passo a Passo de Arduino da Robojax, exploramos uma solução prática para um problema comum: ficar sem conexões de 5V e GND na sua placa Arduino. Esteja você construindo um projeto que exija alimentar um servo motor, um display LCD, um sensor ultrassônico ou uma combinação de dispositivos, o número limitado de pinos de alimentação em um Arduino Uno ou Nano pode rapidamente se tornar um gargalo. Este guia demonstra como usar criativamente qualquer pino digital de I/O como uma fonte adicional de 5V ou como uma conexão de terra, proporcionando a flexibilidade para alimentar vários componentes sem precisar de uma fonte de alimentação externa para dispositivos de baixa corrente.

Esta técnica é particularmente útil para várias aplicações do mundo real, incluindo:

  • Alimentar um pequeno display OLED ou LCD juntamente com um servo motor em um único projeto.
  • Fornecer energia a vários sensores, como um sensor ultrassônico e um detector de movimento PIR, simultaneamente.
  • Criar configurações temporárias de teste em uma matriz de contatos (protoboard) onde você precisa de uma fonte de alimentação rápida e fácil para um novo módulo.
  • Acionar LEDs de baixa potência ou circuitos de nível lógico que exigem uma referência limpa de 5V.

Entendendo as Limitações de Alimentação do Arduino

Antes de mergulharmos na solução, é crucial entender a arquitetura de alimentação da sua placa Arduino. Em um Arduino Uno padrão, você normalmente tem um único pino dedicado de 5V. Algumas placas de terceiros, como observado no vídeo, podem apresentar um segundo pino de 5V, mas mesmo assim, você pode precisar de mais (no vídeo em 00:26).

A quantidade de corrente que você pode extrair desses pinos depende da sua fonte de alimentação. Se você estiver alimentando a placa via USB, a corrente é limitada pela porta USB ou carregador que você está usando—por exemplo, um carregador de 1A permitirá até 1A, enquanto um carregador de 2,4A permitirá mais (no vídeo em 01:55). Se você estiver usando o conector jack com uma fonte de 7-12V, a corrente é regulada pelo chip regulador de tensão AMS1117 integrado, que tem um limite típico de corrente de 1,1A (no vídeo em 02:20).

Também é importante observar o header ICSP na placa. Como explicado no vídeo, este header fornece acesso aos pinos SPI (Interface Serial Periférica), e o pino do lado direito é na verdade VCC (5V), enquanto o último pino é GND (no vídeo em 00:54). Isso lhe dá outro local físico para acessar o trilho de 5V.

No entanto, a limitação mais crítica a lembrar é para os pinos digitais de I/O. De acordo com a documentação oficial do Arduino, cada pino digital pode fornecer ou absorver um máximo de 20 miliamperes (mA) (no vídeo em 03:30). Isso é mais do que suficiente para LEDs, circuitos lógicos e muitos sensores, mas é insuficiente para dispositivos de alta corrente, como motores ou servos de alta potência. Para esses, você deve sempre usar o pino principal de 5V ou uma fonte de alimentação externa.

Hardware e Componentes

Para esta demonstração, você precisará dos seguintes componentes:

  • 1x Placa Arduino (Uno, Nano ou similar)
  • 1x LED (qualquer cor)
  • 1x Resistor de 1kΩ
  • 1x Matriz de contatos (Protoboard)
  • Fios jumper
  • (Opcional) Um display LCD 1602 ou um módulo de relé para demonstração

Guia de Conexões

A fiação para este projeto é simples, pois envolve principalmente conectar um pino digital ao trilho de alimentação do seu componente e outro pino digital ao seu terra. No vídeo, o instrutor demonstra isso alimentando um LED.

Aqui está como configurar:

  1. Conecte o LED: Conecte o ânodo (perna mais longa) do LED ao pino digital 5 do seu Arduino através de um resistor limitador de corrente de 1kΩ.
  2. Conecte o Terra: Conecte o cátodo (perna mais curta) do LED diretamente ao pino digital 2 do seu Arduino.

Este circuito simples permite que o pino 5 atue como a fonte de 5V e o pino 2 atue como o terra, completando o circuito (no vídeo em 06:05).

Para uma abordagem mais escalável, você pode usar uma matriz de contatos para distribuir a energia, como mostrado no vídeo. Ao conectar o trilho de alimentação vermelho da matriz ao pino 5 e o trilho de terra azul/preto ao pino 2, você pode facilmente alimentar vários componentes conectando-os aos respectivos trilhos (no vídeo em 06:59).

Explicação do Código

O código fornecido para esta lição é excepcionalmente simples, pois seu único propósito é configurar dois pinos digitais para atuarem como pinos de alimentação. A chave para essa funcionalidade está nas duas constantes de configuração definidas no topo do sketch.

Aqui está a parte do código configurável pelo usuário:

#define VCC2  5 // defina o pino 5 ou qualquer outro pino digital aqui como VCC2
#define GND2  2 // defina o pino 2 ou qualquer outro pino digital como Terra 2

Estas duas linhas são o núcleo da personalização. A diretiva #define é um comando de pré-processamento que instrui o compilador do Arduino a substituir cada ocorrência de VCC2 pelo número 5 e cada ocorrência de GND2 pelo número 2 antes que o código seja compilado. Isso torna incrivelmente fácil mudar quais pinos você está usando para alimentação. Se você quiser usar o pino 8 como sua fonte de 5V, basta alterar o 5 para 8 na primeira linha. Da mesma forma, você pode mudar o pino de terra editando a segunda linha.

O restante do código é apenas a lógica de inicialização dentro da função setup(). Ela define o pino identificado como VCC2 como uma SAÍDA (OUTPUT) e, em seguida, o escreve como HIGH, o que gera 5V. Por outro lado, define o pino identificado como GND2 como uma SAÍDA (OUTPUT) e o escreve como LOW, fazendo com que ele atue como uma conexão de terra. Uma vez feito isso no setup(), os pinos manterão seus estados durante todo o tempo em que o Arduino estiver energizado, e você pode adicionar a lógica principal do seu programa à função loop().

Demonstração ao Vivo do Projeto

No vídeo, o instrutor demonstra o conceito carregando o código no Arduino. Após o upload, o LED conectado entre o pino 5 e o pino 2 acende imediatamente, provando que o pino 5 está fornecendo tensão e o pino 2 está absorvendo corrente como terra. Para ilustrar melhor o ponto, ele mostra que mover a conexão de alimentação do LED para um pino digital diferente e não configurado faz com que o LED não acenda, pois esse pino não está definido para fornecer 5V (no vídeo em 06:37).

A demonstração também inclui um exemplo prático usando uma matriz de contatos (protoboard). Ao conectar o pino de 5V ao trilho de alimentação da protoboard e o pino de terra ao trilho de terra, ele energiza simultaneamente um display LCD 1602 e um módulo de relé. Isso mostra como você pode usar essa técnica para criar um pequeno barramento de distribuição de energia dedicado para seus componentes de baixa corrente, mantendo sua fiação limpa e organizada (no vídeo em 06:59).

Conclusão

Esta lição fornece um truque simples, porém poderoso, para expandir as capacidades da sua placa Arduino. Ao redefinir pinos digitais como fontes de alimentação, você pode resolver o problema comum de conexões limitadas de 5V e GND. Lembre-se do limite crítico de 20mA por pino, e você poderá alimentar com segurança uma variedade de sensores e pequenos módulos em seus futuros projetos.

Capítulos

  • [00:00] Introdução e Visão Geral dos Pinos de 5V
  • [00:54] Entendendo o Conector ICSP e os Pinos SPI
  • [01:55] Limitações de Corrente com Base na Fonte de Alimentação
  • [03:30] Limites de Corrente dos Pinos Digitais e Casos de Uso
  • [04:51] Explicação do Código para Criar 5V e GND Extras
  • [06:05] Demonstração de Ligação com um LED
  • [06:59] Ampliando com uma Distribuição de Energia em Protoboard

Imagens

Arduino UNO R3 compatible development board
Arduino UNO R3 compatible development board
538-Lesson 7: Getting Additional 5V and GND from Arduino
Idioma: C++
/*
 * S01-07 Additional 5V or GND pin.
If your Arduino board voltage is 3.3V, then we will get 3.3V and GND pin

 * Arduino Sketch to give you extra 5V pin from Arduino
  Please watch video instruction here https://youtu.be/pQKrl5Kpi50
 This code is available at http://robojax.com/course1/?vid=lecture07

with over 100 lectures Free On YouTube. Watch it here http://robojax.com/L/?id=338
Get the code for the course: http://robojax.com/L/?id=339 
 * Written by Ahmad Shamshiri for Robojax, robojax.com http://youtube.com/robojaxTV
 * on Jan 01, 2019 at 08:54 in Ajax, Ontario, Canada
 * 
 */
#define VCC2  5 // define pin 5 or any other digital pin here as VCC2
#define GND2  2 // define pin 2 or any other digital pin as Ground 2

void setup() {
    
  pinMode(VCC2,OUTPUT);//define a digital pin as output
  digitalWrite(VCC2, HIGH);// set the above pin as HIGH so it acts as 5V

  pinMode(GND2,OUTPUT);//define a digital pin as output
  digitalWrite(GND2, LOW);// set the above pin as LOW so it acts as Ground  

}

void loop() {
	//Robojax Step By Step Arduino Course http://robojax.com/L/?id=338


}

Arquivos📁

Nenhum arquivo disponível.