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
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.
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).
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
Enviando informação para LIGAR ou DESLIGAR um LED