#define ntcPin 2
#define ldrPin 4

const float GAMMA = 0.7;
const float RL10 = 50;
const float BETA = 3950;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  Serial.println("Hello, ESP32!");
  analogReadResolution(12);
}

void loop() {
  int analogLDRValue = analogRead(ldrPin);
  float voltage = analogLDRValue / 4096. * 5;
  float resistance = 2000 * voltage / (1 - voltage / 5);
  float lux = pow(RL10 * 1e3 * pow(10, GAMMA) / resistance, (1 / GAMMA));
  Serial.print("Brightness: ");
  Serial.print(lux);
  Serial.print(" lux");

  int analogTempValue = analogRead(ntcPin);
  float celsius = 1 / (log(1 / (4095. / analogTempValue - 1)) / BETA + 1.0 / 298.15) - 273.15;
  Serial.print(" - Temperature: ");
  Serial.print(celsius);
  Serial.println(" celsius");
  delay(500);
}