Solving Approach:

 

Code

/*Paste your code here*/
#define ANALOG_PIN A0
#define R1 10000.0   // Known resistor value in ohms (example 10k)

void setup() {
  Serial.begin(9600);
}

void loop() {
  // Read ADC value across R2
  int adc_R2 = analogRead(ANALOG_PIN);

  // ADC value across R1
  int adc_R1 = 1023 - adc_R2;

  // Avoid divide-by-zero
  if (adc_R1 == 0) {
    Serial.println("Error: ADC_R1 = 0");
    delay(500);
    return;
  }

  // Calculate R2 based on formula
  double R2 = (adc_R2 * R1) / adc_R1;

  // Calculate voltage at divider (optional)
  double voltage = (adc_R2 / 1023.0) * 5.0;

  // Print results
  Serial.print("ADC_R2: ");
  Serial.print(adc_R2);

  Serial.print("\tADC_R1: ");
  Serial.print(adc_R1);

  Serial.print("\tVoltage: ");
  Serial.print(voltage, 3);

  Serial.print("\tR2: ");
  Serial.print(R2, 2);
  Serial.println(" ohm");

  delay(200);
}



 

Output

Video

Add video of output (know more)

 

 

 

 

 

Photo of Output

Add a photo of your hardware showing the output.

 

 

 

 

Upvote
Downvote

Submit Your Solution

Note: Once submitted, your solution goes public, helping others learn from your approach!