Projeto - 05
Desenvolver um projeto utilizando uma porta analógica e um potenciômetro para controlar a velocidade de iluminação de um LED. Quando o valor do potenciômetro for igual ou menor que 1000, um LED deverá permanecer ligado. Quando esse valor for inferior ou igual a 500, outro LED deverá piscar com uma velocidade proporcional ao valor do potenciômetro.
01 - Arduino Mega 2560
01 - Protoboard
02 - LEDs (Vermelho) (Amarelo)
02 - Resistor 220Ω para os LEDs
01 - Potenciômetro
Jumpers
Componentes
Qtd | Descrição
-Led vermelho na porta digital (10)
-Led amarelo na porta digital (11)
-Potenciômetro na porta analógica (A0)
Os pinos do potenciômetro devem ser conectados da seguinte forma:
O conector central ligado à uma das entradas analógicas. Neste exemplo, utilizaremos a porta A0;
Um dos conectores laterais (não importa qual) conectado ao terra (GND);
O outro conector ligado à saída 5V do Arduino.
Instruções
- Arduino IDE
- Variáveis e Constantes
- Operadores Relacionais
- Operadores Lógicos
- Portas Digitais
- Portas Analógicas
- Construção de Algoritmos: Estrutura de Repetição Teste no Início
- Especificações dos seguintes componentes:
(Protoboard) (Led) (Resistor) (Jumper) (Potenciômetro)
Conhecimentos
Observação:
-
Diagrama de Blocos
%20(5).png)
Protótipo do Circuito

// Projeto Led_luminosidade
const int potenciometro = A0;
int ledVerm = 10;
int ledAmar = 11;
int valor;
void setup() {
// put your setup code here, to run once:
// Serial.begin(9600);
pinMode(ledVerm,OUTPUT);
pinMode(ledAmar,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(ledVerm,LOW);
digitalWrite(ledAmar, LOW);
valor = analogRead(potenciometro);
//Serial.println(valor);
while (valor <= 1000) {
digitalWrite(ledAmar,HIGH);
if (valor <= 500) {
digitalWrite(ledVerm, HIGH);
delay(valor);
digitalWrite(ledVerm,LOW);
delay(valor);
}
valor = analogRead(potenciometro);
//Serial.println(valor);
}
}
Código
Comentários sobre o Código
analogRead(potenciometro);
Nesta linha realizamos a leitura de pino analógico. A placa Arduino contém um conversor analógico-digital, com isto ele pode mapear voltagens de entrada entre 0 e 5 volts para valores inteiros entre 0 e 1023.
Sintaxe:
analogRead(pin)
Parâmetros:
pin: o número do pino analógico que se deseja ler. Em geral, nas placas esses pinos são identificados pela letra A (A0, A1, etc).
Exemplo:
valPino = analogRead(A5); //Lê o valor do pino A5 e guarda esse valor na //variável valPino
// o valor retorno é entre: 0 e 1023.
No programa foi utilizado a Comunicação Serial. Assim, foi possível observar os valores do potenciômetro na tela do computador.
.
.
.
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
.
.
Serial.println(valor);

Comunicação Serial
É possível enviar informações para o Arduino. Neste próximo exemplo enviaremos informações para LIGAR ou DESLIGAR um LED.


