/* Esboce o diagrama de ligações do arduino: circuito sensor com
divisor tensão com LDR em série com resistência 10k, ligado ao pin A5;
e circuito atuador com LED encarnado com tensão condução 2V e
resistência em série 150 Ohms, ligado ao D8.
Implemente código arduino que lê o valor do circuito LDR à 4 Hz
e regula o brilho do LED progressivamente entre 0-100%, sendo que
0% corresponde ao valor 2.5 V no pino do LDR, e
100% aos valores extremos 0V e 5V no pino do LDR.
PWM
https://create.arduino.cc/projecthub/muhammad-aqib/arduino-pwm-tutorial-ae9d71
*/
const int LDR = A5; // Pino analógico que o sensor está conectado
const int led = 8; // Pino Referente ao led ou rele
int valorsensor ; // valor que sera armazenado o valor do LDR
int duty;
void setup() {
pinMode(led, OUTPUT); // Coloca variavel luz é um sinal de saidad
pinMode(LDR, INPUT); // Coloca a variavel LDR como entrada
Serial.begin(9600); // inicializa a comunicação serial com a taxa de 9600 bps
}
void loop() {
valorsensor = analogRead(LDR); // Faz a leitura do pino analógico LDR e armazena o valor na variavel valorsensor
Serial.print("Sensor : " ); // Mostra o valor no monitor serial
Serial.println(valorsensor);
if (valorsensor < 512) { // Se o valor de VALORSENSOR for menos que 500
duty = map(valorsensor, 0, 511, 0, 255);
analogWrite(led, duty);
Serial.print("Duty : " );
Serial.println(duty);
}
if (valorsensor > 511) {
duty = map(valorsensor, 511, 1024, 255, 0);
analogWrite(led, duty);
Serial.print("Duty : " );
Serial.println(duty);
}
delay(250); // Faz 4 vezes por segundo
}