Stap 6: Diepgaande code voor analoge metingen van de FSR
Dit Arduino schets die wordt verondersteld de FSR bekabeld als hierboven, met een pull-10Kohm down weerstand en de sensor is lezen over analoge 0 pin. Het is vrij geavanceerd en de geschatte Newton kracht gemeten door de FSR zullen meten. Dit kan vrij nuttig zijn voor het kalibreren van wat krachten die u denkt dat de FSR zult ervaren
/ * FSR testen schets.
Sluit het ene uiteinde van de FSR aan de macht, het andere uiteinde op analoge 0.
Sluit één uiteinde van een 10K Ohm weerstand op grond van analoge 0
Voor meer informatie zie www.ladyada.net/learn/sensors/fsr.html * /
int fsrPin = 0; de FSR en 10K pulldown zijn aangesloten op a0
int fsrReading; de analoge lezen van de FSR weerstand scheidingslijn
int fsrVoltage; de analoge lezing geconverteerd naar spanning
unsigned long fsrResistance; De spanning omgezet in weerstand, kan worden heel groot dus zorg "lang"
unsigned long fsrConductance;
lange fsrForce; Tot slot, de weerstand geconverteerd naar kracht
ongeldig setup(void) {}
Serial.begin(9600); We sturen foutopsporingsgegevens via de seriële monitor
}
ongeldig loop(void) {}
fsrReading = analogRead(fsrPin);
Serial.Print ("analoge lezing =");
Serial.println(fsrReading);
analoge spanning lezen varieert van ongeveer 0 tot 1023 die wordt toegewezen aan 0V naar 5V (= 5000mV)
fsrVoltage = kaart (fsrReading, 0, 1023, 0, 5000);
Serial.Print ("spanning lezen in mV =");
Serial.println(fsrVoltage);
Als (fsrVoltage == 0) {}
Serial.println ("geen druk");
} else {}
De spanning = Vcc * R / (R + FSR) waar R = 10K en Vcc = 5V
zo FSR = ((Vcc-V) * R) / V yay math!
fsrResistance = 5000 - fsrVoltage; fsrVoltage is in millivolts zo 5V = 5000mV
fsrResistance * = 10000; 10K Ohm weerstand
fsrResistance / = fsrVoltage;
Serial.Print ("FSR weerstand in Ohm =");
Serial.println(fsrResistance);
fsrConductance = 1000000; We meten in micromhos zo
fsrConductance / = fsrResistance;
Serial.Print ("huidgeleiding in microMhos:");
Serial.println(fsrConductance);
Gebruik de twee grafieken van de FSR gids tot de onderlinge aanpassing van de kracht
Als (fsrConductance < = 1000) {}
fsrForce = fsrConductance / 80;
Serial.Print ("kracht in Newton:");
Serial.println(fsrForce);
} else {}
fsrForce = fsrConductance - 1000;
fsrForce / = 30;
Serial.Print ("kracht in Newton:");
Serial.println(fsrForce);
}
}
Serial.println("---");
delay(1000);
}