Ich habe nun ein Material für mein Projekt mit der Lagebestimmung über den elektrischen Widerstand einer leitenden Bahn gefunden.
Versuche nun das Ganze über Arduino zu messen, habe mir zu diesem Zweck einen der üblichen Sketches zur Widerstandsmessung über Referenzwiderstände kopiert.
Hier der Code:
Code:
const int sensorPin = A0; // Analog input pin that senses Vout
int sensorValue = 0; // sensorPin default value
float Vin = 5; // Input voltage
float Vout = 0; // Vout default value
float Rref = 1000; // Reference resistor's value in ohms (you can give this value in kiloohms or megaohms - the resistance of the tested resistor will be given in the same units)
float R = 0; // Tested resistors default value
void setup ()
{
Serial.begin(9600); // Initialize serial communications at 9600 bps
}
void loop ()
{
sensorValue = analogRead(sensorPin); // Read Vout on analog input pin A0 (Arduino can sense from 0-1023, 1023 is 5V)
Vout = (Vin * sensorValue) / 1023; // Convert Vout to volts
R = Rref * (1 / ((Vin / Vout) - 1)); // Formula to calculate tested resistor's value
Serial.print("R: ");
Serial.println(R); // Give calculated resistance in Serial Monitor
delay(100); // Delay in milliseconds between reeds
}
Der Refernzwiderstand ist 1MegaOhm, da 1K zu schnell zu heiß werden, irgendwie.
Nun schließe ich das Ganze an und fahre die Bahn ab, bleibe dabei auf einem Punkt stehen und sehe auf dem Seriellen Monitor dass kurz zwei Werte zu sehen sind welche dann wieder verschwinden, das passiert einige Male. Ich öffne dann den Seriellen Plotter und sehe dass sich dies in gleichen Zeitabständen wiederholt, die Werte ändern sich dabei nicht.
Wieso kann ich nicht durchgehend den Widerstand auslesen?
Was habe ich hier übersehen?
Lesezeichen