Voltar

Leia Sensores Analógicos no Raspberry Pi Pico com Velxio

Introdução

Bem-vindo a mais um tutorial prático no blog da Velxio! Hoje, vamos mergulhar no ADC (Conversor Analógico-Digital) do Raspberry Pi Pico. O Pico é uma placa pequena e poderosa, e um de seus recursos mais interessantes é a capacidade de ler tensões analógicas — perfeito para sensores, potenciômetros e muito mais. Neste exemplo, vamos ler três sinais analógicos externos de potenciômetros e também capturar o valor do sensor de temperatura interno. Tudo isso roda diretamente no seu navegador com a simulação precisa com SPICE da Velxio.

Diagrama do circuito de leitura ADC do Pico no canvas do simulador Velxio

Explicação do Circuito

Vamos analisar o circuito. Temos um Raspberry Pi Pico (a variante Nano RP2040 na Velxio) conectado a dois potenciômetros e um LED.

Componentes

Detalhes da Ligação

Observação: Os pinos ADC do Pico suportam até 3.3V, então usamos a fonte de 3.3V. Os potenciômetros atuam como divisores de tensão, fornecendo uma tensão variável de 0 a 3.3V em seu terminal central.

Explicação do Código

Agora vamos examinar o código. Ele está escrito em C++ no estilo Arduino para o Raspberry Pi Pico.

// Raspberry Pi Pico — Teste de Leitura ADC
// Lê valores analógicos de A0-A2 (GPIO26-28) e do sensor de temperatura interno

void setup() {
  Serial.begin(115200);
  delay(500);
  Serial.println("=== Leitura ADC do Pico ===");
  Serial.println("A0=GP26  A1=GP27  A2=GP28  Temp=interno");
  Serial.println("Resolução de 12 bits (0-4095), ref. 3.3V");
  Serial.println();

  analogReadResolution(12);
}

void loop() {
  int a0 = analogRead(A0);
  int a1 = analogRead(A1);
  int a2 = analogRead(A2);

  // Sensor de temperatura interno no canal 4
  // T = 27 - (V - 0.706) / 0.001721
  int tempRaw = analogRead(A3); // Canal 4 mapeado para A3 pelo núcleo do Pico
  float voltage = tempRaw * 3.3f / 4095.0f;
  float tempC = 27.0f - (voltage - 0.706f) / 0.001721f;

  Serial.print("A0: "); Serial.print(a0);
  Serial.print("  A1: "); Serial.print(a1);
  Serial.print("  A2: "); Serial.print(a2);
  Serial.print("  Temp: "); Serial.print(tempC, 1); Serial.println(" C");

  delay(1000);
}

Pontos Principais

Conceitos Principais

Armadilhas Comuns e Dicas de Depuração

Extensões Sugeridas

Experimente Você Mesmo!

Pronto para experimentar? Abra o exemplo ao vivo na Velxio e comece a ajustar o circuito ou o código. Clique no link abaixo para iniciar a simulação diretamente no seu navegador.

Inicie o Exemplo de Leitura ADC do Pico na Velxio

Feliz experimentação!


Compartilhar em:
David Montero

Escrito por

David Montero

Creator of Velxio, the open-source circuit and Arduino simulator.

GitHub velxio.dev

Artigos relacionados


Artigo anterior
Demonstração Multi-Protocolo Pico: Serial, I2C, SPI e ADC no RP2040
Próximo artigo
Loopback SPI no Pico: Teste a Comunicação Serial do seu RP2040