Stap 3: Arduino bedrading
In de stap verslaafd ik aan de arduino draden om ervoor te zorgen dat ze goed gewerkt.
Code:
/*
Kalibratie toont een techniek voor het kalibreren van sensor-ingang. De sensor lezingen tijdens de eerste vijf seconden van de schets uitvoering definiëren de minimum en maximum van verwachte waarden gekoppeld aan de pin van de sensor. De minimale en maximale beginwaarden voor de sensor kunnen achteruit schijnen. Aanvankelijk, u stelt het minimum hoge en luisteren naar iets lager, als de nieuwe minimum op te slaan. Ook u instellen van de maximale lage en luisteren naar iets hoger als het nieuwe maximum. Het circuit: * analoge sensor (potmeter zal doen) aangesloten op de analoge ingang 0 * LED verbonden vanaf digitale pin 9 aan de grond gemaakt 29 okt 2008 door David een Mellis gewijzigd 30 Aug 2011 door Tom Igoe http://arduino.cc/en/Tutorial/Calibration deze voorbeeldcode in het publieke domein is. *
/ Deze constanten niet gewijzigd: const int sensorPin = A0; PIN of de sensor is aangesloten op const int ledPin = 9; PIN die is gekoppeld aan de LED
variabelen: int sensorValue = 0; de sensor waarde int sensorMin = 1023; minimale sensor waarde int sensorMax = 0; maximale sensor waarde
void setup {/ / LED om aan te geven het begin van de periode van de kalibratie inschakelen: pinMode (13, OUTPUT); digitalWrite (13, hoge);
kalibreren tijdens de eerste vijf seconden terwijl (millis() < 5000) {sensorValue = analogRead(sensorPin);
de maximale sensor-waarde opnemen als (sensorValue > sensorMax) {sensorMax = sensorValue;}
de waarde van de minimale sensor opnemen als (sensorValue < sensorMin) {sensorMin = sensorValue;}}
het einde van de periode digitalWrite van kalibratie (13, laag); }
void loop {/ / Lees de sensor: sensorValue = analogRead(sensorPin);
de kalibratie van toepassing op de sensor lezen sensorValue = kaart (sensorValue, sensorMin, sensorMax, 0, 255);
in het geval dat de sensor-waarde is buiten het bereik gezien tijdens de kalibratie sensorValue = beperken (sensorValue, 0, 255);
vervagen de LED met behulp van de geijkte waarde: analogWrite (ledPin, sensorValue); }