Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Como Fazer um Osciloscópio de Baixo Custo com Arduino

Como fazer osciloscopio com arduino

Para qualquer entusiasta ou profissional da eletrônica, o osciloscópio é uma ferramenta indispensável. Ele é o “olho” que nos permite visualizar a forma de onda de um sinal elétrico, revelando informações cruciais como frequência, amplitude, ruído e distorções. Sem ele, diagnosticar problemas em circuitos ou desenvolver novos projetos se torna uma tarefa de tentativa e erro.

No entanto, osciloscópios profissionais podem ser caros. É aí que entra a magia do Arduino. Neste artigo, apresentaremos um projeto fascinante e acessível que transforma seu Arduino Uno ou Leonardo em um osciloscópio digital simples, ideal para fins didáticos e para a análise de sinais de baixa frequência.

Este projeto é baseado na leitura rápida da entrada analógica do Arduino e no envio desses dados para um computador, onde um software de visualização (neste caso, o Processing) se encarrega de desenhar a forma de onda em tempo real. É importante notar que, devido às limitações de velocidade do conversor analógico-digital (ADC) do Arduino e da taxa de transmissão serial, este osciloscópio é mais adequado para sinais com frequência de até aproximadamente 1 kHz.

Componentes Necessários

A beleza deste projeto reside na sua simplicidade e no baixo custo dos componentes. A lista de materiais é a seguinte:

ComponenteDescriçãoFunção no Circuito
Placa MicrocontroladoraArduino Uno ou LeonardoLeitura do sinal analógico e comunicação serial.
Capacitor C1220 nF (cerâmico ou poliéster)Acoplamento AC, bloqueando a componente DC do sinal de entrada.
Capacitores C2, C3100 µF (eletrolítico)Filtragem e estabilização da tensão de referência de 2,5V.
Resistores R1, R21 MΩ (1/4 W)Divisor de tensão para polarizar o sinal de entrada em 2,5V.
Resistores R3, R41 kΩ (1/4 W)Formam o divisor de tensão para a referência de 2,5V.
Diodo D1Diodo Zener de 5,1VProteção contra sobretensão na entrada analógica do Arduino.
Protoboard1 unidadePara montagem e teste do circuito.
Fios de ConexãoJumpersPara interligar os componentes.

O Circuito de Condicionamento de Sinal (Hardware)

O Arduino possui um Conversor Analógico-Digital (ADC) que pode ler tensões de 0V a 5V. Para que ele possa medir um sinal alternado (AC) que varia de forma simétrica em torno de 0V, precisamos de um circuito de condicionamento que realize duas funções principais: acoplamento AC e polarização (bias).

1. Polarização em 2,5V

Os resistores R1 e R2 (ambos de 1 MΩ) formam um divisor de tensão que, em conjunto com o capacitor C1, polariza a entrada analógica do Arduino (pino A0) em 2,5V.

Por que 2,5V? O ADC do Arduino usa 5V como referência máxima. Ao polarizar o sinal em 2,5V, garantimos que a forma de onda de entrada, mesmo que seja simétrica em torno de 0V, seja deslocada para a faixa de leitura positiva do Arduino (0V a 5V). Um sinal de entrada que varia de -2,5V a +2,5V, por exemplo, será lido pelo Arduino como variando de 0V a 5V.

2. Acoplamento AC

O capacitor C1 (220 nF) é o responsável pelo acoplamento AC. Ele atua como um filtro passa-alta, bloqueando qualquer componente de tensão contínua (DC) que possa estar presente no sinal de entrada. Isso garante que apenas a variação do sinal (a componente AC) seja analisada, o que é o comportamento típico de um osciloscópio tradicional.

3. Tensão de Referência Estável

Os resistores R3 e R4 (1 kΩ) e os capacitores eletrolíticos C2 e C3 (100 µF) formam um circuito que fornece uma tensão de referência mais estável de 2,5V para o circuito de polarização. A inclusão dos capacitores de grande valor ajuda a filtrar ruídos e a manter a tensão de 2,5V constante, o que é crucial para uma medição precisa.

4. Proteção da Entrada

O diodo D1 (Zener de 5,1V) é um componente de segurança essencial. Ele protege a entrada analógica do Arduino contra picos de tensão acidentais que poderiam danificar o microcontrolador. Se a tensão na entrada exceder 5,1V, o diodo Zener entrará em condução, desviando o excesso de corrente para o terra.

Abaixo, você pode conferir o diagrama esquemático e a disposição dos componentes na protoboard:

diagrama osciloscopio
montagem

O Firmware do Arduino (Software)

O código que roda no Arduino é surpreendentemente simples, mas extremamente eficiente para a tarefa. Ele se concentra em duas ações principais: ler o sinal analógico e enviá-lo o mais rápido possível pela porta serial.

O segredo para a velocidade está na taxa de comunicação serial de 115200 bauds e na forma como os dados são transmitidos. O ADC do Arduino retorna um valor de 10 bits (de 0 a 1023). Para maximizar a velocidade de transmissão, o código comprime esse valor para 8 bits (de 0 a 255), permitindo que cada leitura seja enviada em apenas um byte.

A compressão é feita com a operação de deslocamento de bits para a direita (>> 2), que é equivalente a dividir o valor por 4.

// Sketch do Osciloscópio com Arduino
int analogPin = 0; // Pino analógico A0

void setup() {
  // Inicia a comunicação serial na alta velocidade de 115200 bauds
  Serial.begin(115200);
}

void loop() {
  // 1. Lê o valor da entrada analógica (0 a 1023)
  int value = analogRead(analogPin);

  // 2. Comprime o valor de 10 bits para 8 bits (0 a 255)
  // Desloca 2 bits para a direita (divide por 4)
  byte data = (value >> 2);

  // 3. Envia o byte de dados pela porta serial
  Serial.write(data);

  // O loop roda o mais rápido possível para capturar o máximo de amostras
}

Embora a compressão de 10 bits para 8 bits resulte em uma perda de resolução (o sinal é dividido em 256 níveis em vez de 1024), ela é um compromisso necessário para atingir a taxa de amostragem mais alta possível, o que é fundamental para visualizar sinais de frequência mais elevada.

A Interface de Visualização (Software no PC)

O Arduino envia os dados brutos, mas precisamos de um programa no computador para receber esses dados e transformá-los em um gráfico de forma de onda. Para isso, utilizamos o Processing, um ambiente de programação flexível e popular para projetos visuais e interativos.

O software de visualização, que geralmente é um sketch do Processing, lê continuamente os bytes de dados que chegam pela porta serial e os plota em um gráfico, simulando a tela de um osciloscópio.

Você precisará baixar e instalar o Processing e, em seguida, obter o código do sketch específico para este projeto. O código original pode ser encontrado em sites de projetos de eletrônica, como o mencionado no material de referência (www.arduinoevilgenius.com).

Montagem e Teste

Após montar o circuito na protoboard conforme o diagrama e carregar o sketch no Arduino, o próximo passo é testar o seu novo osciloscópio.

  1. Conecte o Arduino ao seu computador via USB.
  2. Abra o sketch do Processing e execute-o.
  3. Conecte a ponta de prova (o fio de teste) do seu circuito a uma fonte de sinal. Uma forma simples de testar é usar um gerador de funções de smartphone (aplicativos que geram tons de áudio) ou até mesmo o ruído da rede elétrica (com muito cuidado e usando um transformador de isolamento para segurança, se necessário).
  4. Observe a tela do Processing. Você deverá ver a forma de onda do sinal sendo desenhada em tempo real.
osciloscópio montado
onde senoidal osciloscópio arduino

Conclusão: Um Projeto Didático e Poderoso

Este projeto de osciloscópio com Arduino é um excelente ponto de partida para quem deseja entender a fundo o funcionamento de um osciloscópio e a manipulação de sinais analógicos e digitais. Embora não substitua um equipamento profissional para análises de alta frequência, ele é uma ferramenta didática poderosa e perfeitamente capaz de analisar sinais de áudio e outras formas de onda de baixa frequência.

Com este projeto, você não apenas construiu uma ferramenta, mas também aprofundou seus conhecimentos em:

  • Condicionamento de sinal (acoplamento AC e polarização DC).
  • Proteção de entradas analógicas.
  • Comunicação serial de alta velocidade.
  • Processamento de dados (compressão de bits).

Para expandir o projeto, você pode explorar a criação de uma interface gráfica mais robusta, a implementação de um trigger (gatilho) para estabilizar a imagem na tela, ou até mesmo a utilização de um microcontrolador mais rápido para aumentar a frequência máxima de amostragem. O mundo da eletrônica está agora mais visível para você!

 

Picture of Pedro

Pedro

Bacharel em Engenharia Elétrica, com ênfase em Telecomunicações e hobbysta em eletrônica nas horas vagas =).

VOCÊ TAMBÉM PODE GOSTAR

Como Fazer um Osciloscópio de Baixo Custo com Arduino

Como Fazer um Osciloscópio de Baixo Custo com Arduino

Construa seu próprio osciloscópio com Arduino de baixo custo! Aprenda o circuito de condicionamento de sinal e o código para visualizar sinais de até 1kHz.

O que é PWM (Pulse-Width-Modulation)? Funcionamento e aplicações

O que é PWM (Pulse-Width-Modulation)? Funcionamento e aplicações

PWM é a sigla em inglês para “Pulse Width Modulation”, que em português significa “Modulação por Largura de Pulso”. É uma técnica criada com o objetivo de controlar a potência entregue a uma carga elétrica de forma eficiente, ajustando a média de tensão aplicada.

Deixe um comentário

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

ESPERE, antes de sair entre no nosso grupo de whatsapp!

Junte-se à nossa comunidade e se mantenha atualizado sobre o mundo Maker