top of page

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

- Comunicação Serial


- Especificações dos seguintes componentes:
(
Protoboard)  (Led) (Resistor) (Jumper) (Potenciômetro)

Conhecimentos

Observação:
-

Diagrama de Blocos

Diagrama de Blocos

Protótipo do Circuito

Projeto - 05

// 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
Comunicação Serial
É possível enviar informações para o Arduino. Neste próximo exemplo enviaremos informações para LIGAR ou DESLIGAR um LED.
Comunicação Serial
logoTinkercad
Simulador - 05
bottom of page