// Mapeamento de I/Os
// INPUT
#define BT0 13
// OUTPUT
#define Led_blue 3
#define Led_red 4
#define Led_yellow 5
#define Led_green 6
/*
Entradas analógicas (pinos A0 a A5)
Conversor analógico digital
(Analog-To-Digital Converter - ADC)
No arduino uno temos um ADC de 10 bits,
ou seja, o valor convertido será amarzenado
em uma variável de 0 a 1023
0.00V ---> 00000000000 ---> 0
2.50V ---> 00000000000 ---> 512
5.00V ---> 11111111111 ---> 1023
Função ---> analogRead(pino)
int x = analogRead(A0);
if(x > 500){
}
*/
//Variavel
int valorAnalog;
int limite = 700;
void setup() {
Serial.begin(9600);
// Não é necessario a configuração da entrada
// analógica com pinMode
pinMode(BT0, INPUT_PULLUP);
pinMode(Led_blue, OUTPUT);
pinMode(Led_red, OUTPUT);
pinMode(Led_yellow, OUTPUT);
pinMode(Led_green, OUTPUT);
}
void loop() {
// Ler tensão do pino analogico A0
// (Pino ligafdo ao potenciômentro)
valorAnalog = analogRead(A0);
delay(10);
Serial.println("Valor convertido pelo ADC: " + String(valorAnalog));
if(valorAnalog < 200){
digitalWrite(Led_green, HIGH);
digitalWrite(Led_yellow, LOW);
}
if(valorAnalog >= 200 && valorAnalog <= 650){
digitalWrite(Led_green, LOW);
digitalWrite(Led_yellow, HIGH);
digitalWrite(Led_red, LOW);
}
if(valorAnalog >= 650 && valorAnalog < 950){
digitalWrite(Led_yellow, LOW);
digitalWrite(Led_green, LOW);
digitalWrite(Led_red, HIGH);
}
if(valorAnalog > 950 && valorAnalog < 1000){
digitalWrite(Led_red, HIGH);
digitalWrite(Led_yellow, HIGH);
digitalWrite(Led_green, HIGH);
}
if(valorAnalog >= 1000){
pisca()
}
}
void pisca(){
digitalWrite(Led_blue, HIGH);
digitalWrite(Led_red, HIGH);
digitalWrite(Led_yellow, HIGH);
delay(500);
digitalWrite(Led_blue, LOW);
digitalWrite(Led_red, LOW);
digitalWrite(Led_yellow, LOW);
}