Bem vindo ao Multilógica Shop, o primeiro site a comercializar os produtos Arduino e artigos de Open Source Hardware no Brasil. Aqui você vai encontrar toda a referência de instalação e programação da plataforma Arduino traduzida para o nosso português, bem como tutoriais e exemplos. Encontre mais informações sobre como comprar clicando aqui.
Entrada Analógica
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 um LED.
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.
Conectamos também um LED como no tutorial Piscar.
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, teremos um 0 volt indo para o pino, e teremos leitura 0. Quando a haste é girada até o final na outra direção, teremos 5 volts indo para o pino e teremos 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.
Circuito

Código
/*
* AnalogInput
* by DojoDave <http://www.0j0.org>
*
* Turns 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(). In the easiest case we connect
* a potentiometer to analog pin 2.
*/
int potPin = 2; // select the input pin for the potentiometer
int ledPin = 13; // select the pin for the LED
int val = 0; // variable to store the value coming from the sensor
void setup() {
pinMode(ledPin, OUTPUT); // declare the ledPin as an OUTPUT
}
void loop() {
val = analogRead(potPin); // read the value from the sensor
digitalWrite(ledPin, HIGH); // turn the ledPin on
delay(val); // stop the program for some time
digitalWrite(ledPin, LOW); // turn the ledPin off
delay(val); // stop the program for some time
}
O conteúdo desta página é uma tradução para o português a partir do site original do Arduino.


