Você está na página 1de 3

Experimento: Controlando Brilho do LED com

Potenciômetro

Objetivo
Controlar brilho de um LED usando a função uma entrada analógica controlada
por potenciômetro.

Material utilizado
1 - Arduino Uno R3

2 - Cabo USB

3 - Protoboard

4 – Resistor de 330Ω (1 uni.)

5 – LED (1 uni.)

6 - Alguns jumpers

7 – Potenciômetro (1 uni.)

Ligações
1 – Ligar a porta digital 9 (poderia ser qualquer outra) do arduino no resistor
que, por sua vez, deve ser ligado na perna positiva (anodo) do LED;

2 – Ligar a outra perna do LED no barramento negativo da placa;

3 – Ligar o GND (ground) do arduino no negativo da placa;

4 – Ligar a extremidade direita do potenciômetro ao 5V do arduino;

5 – Ligar a extremidade esquerda do potenciômetro ao barramento negativo do


protoboard;

6 – Ligar a perna do meio potenciômetro (sinal analógico) à porta A0 (entrada


analógica) do Arduino;
Montagem

Código
#define potPin 0 // Define o pino analógico em que o potenciômetro
// vai ser conectado

#define ledPin 9 // Define o pino que terá um LED e um resistência


// ligada ao terra

int valPot = 0; // Variável que armazena o valor da leitura do


// potenciômetro

void setup() {

pinMode(ledPin,OUTPUT); // Configura o pino do LED como saída

void loop() {

valPot = analogRead(potPin); //Faz a leitura analógica do pino


// em que o potenciômetro esta
// ligado

//Utilizando a função map() para transformar uma escala de 0-


// 1023 em uma escala 0 a 255
valPot = map(valPot,0,1023,0,255);

analogWrite(ledPin,valPot ); // Aciona o LED proporcionalmente


// ao valor da leitura analógica

}
analogRead()

Consultando https://www.arduino.cc/en/Reference/HomePage, temos que o


comando analogRead() “... lê o valor de um pino analógico especificado. A
placa Arduino contem um conversor digital de 10 bits com 6 canais. Isso
significa que a placa vai mapear uma entrada entre 0 e 5 volts em um inteiro
entre 0 e 1023. Isso resulta em uma resolução entre leituras de 5 volts / 1024
unidades, ou 0,049 volts (4,9 mV) por unidade. A faixa de entrada e a
resolução podem ser alterados usando o comando analogReference(). Cada
leitura dura cerca de 100 ms, logo a taxa máxima de leitura é em torno de
10.000 vezes por segundo (10 kHz)”

analogWrite()

Consultando https://www.arduino.cc/en/Reference/HomePage, temos que o


comando analogRead() “... escreve um valor analógico (onda PWM – Pulse-
Width Modulation) em um pino. Pode ser usado para acender um led com
variação de brilho ou acionar um motor com diferentes torques. Após chamar o
comando analogWrite(), o pino irá gerar uma onda quadrada constante que irá
perdurar até a próxima chamada ao analogWrite() (ou uma chamada a
digitalRead() ou digitalWrite() no mesmo pino). A frequência do PWM na
maioria dos pinos analógicos é de aproximadamente 490 Hz. No Uno e placas
similares, os pinos 5 e 6 têm frequência de aproximadamente 980 Hz. Os pinos
3 e 11 do Leonardo também funcionam a 980 Hz. Na maioria dos Arduinos
(aqueles com ATMega168 ou ATmega 328), essa função opera nos pinos 3, 5,
6, 9 10 e 11.”