PROJETO 05

Utilizando a porta Analógica

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 menor ou igual a 1000, um LED deverá permanecer ligado. Quando esse valor for menor ou igual a 500, outro LED deverá piscar em uma velocidade proporcional ao valor do potenciômetro.

Componentes

Qtd Descrição
01 Arduino Mega 2560
01 Protoboard
02 LEDs ( 01 Vermelho – 01 Amarelo)
02 Resistores 220Ω para os Leds
01 Potenciômetro
- Jumpers

Instruções

  • 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.

Conhecimentos Requeridos

Observações Técnicas

-

Diagrama de Blocos

Diagrama de Blocos

Protótipo do Circuito

Protótipo do Circuito

Código do Projeto

Baixar .INO

// 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);
       }
}
                    

Comentários sobre o Código

Aprenda a ler sinais do mundo real e visualizar os dados no seu computador:

analogRead(pin)

Nesta linha, realizamos a leitura de um pino analógico. O Arduino possui um Conversor Analógico-Digital (ADC) interno que mapeia tensões entre 0V e 5V para valores inteiros entre 0 e 1023.

Sintaxe: analogRead(pin);
  • pin: O número do pino analógico (identificados pela letra A, como A0, A1, etc).
  • Retorno: Um número inteiro entre 0 (0V) e 1023 (5V).
Exemplo:
valPino = analogRead(A5);
// Lê o pino A5 e guarda o valor na variável valPino.

Comunicação Serial

Utilizamos a Comunicação Serial para "conversar" com o computador, permitindo observar os valores captados pelos sensores em tempo real na tela através do Monitor Serial.

Serial.begin(9600);

Inicia a comunicação e define a velocidade de transmissão em 9600 bits por segundo (baud rate). Deve ser colocada dentro do void setup().

Serial.println(valor);

Envia o valor para o computador e pula para a próxima linha no Monitor Serial. Ideal para monitorar variáveis no void loop().

Comunicação Serial

Protótipo do Circuito

Enviando informação para LIGAR ou DESLIGAR um LED

Protótipo do Circuito

Ambiente de Simulação

Protótipo Digital