/*
PROJETO: Leitura de LDR analog (Eng da Computação FIAP 2023)
DESCRIÇÃO: Interelacionar as grandezas de luminosidade, corrente e resistência elétrica
por meio da leitura analógica do sinal
AUTOR: Pedro Bazilio
DATA: 03/04/2023
VERSÃO: v1.0
INSTRUÇÕES CRIADAS FORA DAS FUNÇÕES SÃO GLOBAIS, AS CRIADAS DENTRO DE UMA FUNÇÃO
SÓ PODEM SER UTILIZADAS DENTRO DA FUNÇÃO ONDE FOI CRIADA */
//VARIAVEIS GLOBAIS
int valorLDR = 0;
float tensao = 0;
float res = 0;
float lux = 0;
int LDR = A0;
const float GAMMA = 0.7; //VARIAVEIS FORNECIDAS PELO PRÓPRIO WOKWI NO GUIDA DO LDR
const float RL10 = 50;
/*******************************************************************************************************
CONFIG INICIAL
*******************************************************************************************************/
void setup() {
pinMode(LDR, INPUT);
Serial.begin(9600);
}
/*******************************************************************************************************
CÓDIGO PRINCIPAL
*******************************************************************************************************/
void loop() {
valorLDR = analogRead(LDR);
Serial.print("Valor do LDR é de: ");
Serial.println(valorLDR);
//CÁLCULO DA TENSÃO
tensao = (valorLDR / 1024. * 5);
Serial.print("O valor da tensão do sistema é: ");
Serial.print(tensao);
Serial.println(" V");
//CÁLCULO DA RESISTENCIA
res = 2000 * tensao / (1 - tensao / 5);
Serial.print("O valor da resistência do sistema é: ");
Serial.print(res);
Serial.println(" Ohms");
//CÁLCULO DA LUMINOSIDADE
lux = pow(RL10 * 1e3 * pow(10, GAMMA) / res, (1 / GAMMA));
Serial.print("A Intensidade da luz é de: ");
Serial.print(lux);
Serial.println(" lx");
}