O potenciômetro é um simples botão que fornece resistência variável, da qual podemos fazer a leitura através da placa Arduino como um valor analógico. Neste exemplo este valor controla a medida que pisca o LED embutido na placa Arduino.

Conectamos 3 cabos na placa Arduino. O primeiro cabo vai no Terra a partir de um pino de saída do potenciômetro. O segundo vai no pino de 5 volts ao outro pino de saída do potenciômetro. O terceiro vai do pino analógico 2 até o pino do meio do potenciômetro.

Neste exemplo usamos o LED que já vem embutido na placa Arduino. Para usar um LED adicional conecte a perna mais long no pino digital 13 e a perna mais curta no terra ao lado do pino 13. Por conta da baixa corrente que sai do pino 13 não é necessário usar um resistor neste caso particular.

 

Componentes necessários:

  • Arduino
  • 1 potenciômetro 10kΩ
  • Jumpers
  • 1 Cabo USB

Circuito

Arduino Exemplos: Entrada Analógica

Esquema

Código

No começo deste programa a variável sensorPin está configurada para o pino analógico 0, onde o potenciômetro está conectado, e o ledPin está configurado para o pino digital 13. Você também cria outra variável, sensorValue para guardar as leituras do sensor.
O comando analogRead() converte a variação da voltagem de entrada, de 0 a 5 volts, em um valor digital de 0 a 1023. Isso é feito por um circuito dentro do Arduino chamado de conversor analógico digital ou ADC.
Girando a haste do potenciômetro vamos mudar a resistência em cada um dos lados da alavanca de contato que está conectada ao pino central do potenciômetro. Isso muda a relativa estagnação deste pino para o 5 volt e o Terra, dando um dado analógico diferente. Quando girar a haste do potenciômetro até o final em uma direção, não terá resistência entre o pino central e o pino conectado ao terra, então teremos um 0 volt indo para o pino, e portanto analogRead() retorna a leitura 0. Quando a haste é girada até o final na outra direção, não terá resistência entre o pino central e o pino conectado ao 5 volts, então teremos 5 volt indo para o pino, e portanto analogRead() retorna a leitura 1023. No meio, a leitura analógica devolve a medida de um número entre 0 e 1023 que é proporcional à voltagem aplicada sobre o pino.
/*
  Analog Input
 Demonstrates analog input by reading an analog sensor on analog pin 0 and
 turning on and off a light emitting diode(LED)  connected to digital pin 13.
 The amount of time the LED will be on and off depends on
 the value obtained by analogRead().
 
 The circuit:
 * Potentiometer attached to analog input 0
 * center pin of the potentiometer to the analog pin
 * one side pin (either one) to ground
 * the other side pin to +5V
 * LED anode (long leg) attached to digital output 13
 * LED cathode (short leg) attached to ground
 
 * Note: because most Arduinos have a built-in LED attached
 to pin 13 on the board, the LED is optional.
 
 
 Created by David Cuartielles
 modified 30 Aug 2011
 By Tom Igoe
 
 This example code is in the public domain.
 
 http://arduino.cc/en/Tutorial/AnalogInput
 
 */


int sensorPin = A0;    // select the input pin for the potentiometer
int ledPin = 13;      // select the pin for the LED
int sensorValue = 0;  // variable to store the value coming from the sensor

void setup() {
  // declare the ledPin as an OUTPUT:
  pinMode(ledPin, OUTPUT);  
}

void loop() {
  // read the value from the sensor:
  sensorValue = analogRead(sensorPin);    
  // turn the ledPin on
  digitalWrite(ledPin, HIGH);  
  // stop the program for <sensorValue> milliseconds:
  delay(sensorValue);          
  // turn the ledPin off:        
  digitalWrite(ledPin, LOW);  
  // stop the program for for <sensorValue> milliseconds:
  delay(sensorValue);                  
}

O conteúdo desta página é uma tradução para o português a partir do site original do Arduino.