Köpte ett Arduino starter kit och håller på att göra ett projekt i boken med en temp mätare och 3 diodrar. Så som jag fatta det så ska fler diodrar lysa ju varmare temp mätaren blir. Körde igång den och en diod lyser, så tänker att jag sätter väl fingrarna på temp mätare och ser om en till börjar lysa, dum som man är.. Det gjorde ont iaf, ni förstår varför om ni läser mina värden här under.
Enligt boken ska värdena bli följande.
Sensor: 200
Volts: 70
Degrees C: 17
Här är mina värden som jag får: Sensor Value: 604, Volts: 2.95, degrees C: 244.92
Här är koden
const int sensorPin = A0;
const float baselineTemp = 20.0;void setup() {
// put your setup code here, to run once:
Serial.begin(9600); // open a serial port
for(int pinNumber = 2; pinNumber<5; pinNumber++){
pinMode(pinNumber,OUTPUT);
digitalWrite(pinNumber, LOW);
}
}void loop() {
// put your main code here, to run repeatedly:
int sensorVal = analogRead(sensorPin);
Serial.print("Sensor Value: ");
Serial.print(sensorVal);//convert the ADC reading to voltage
float voltage = (sensorVal/1024.0) * 5.0;Serial.print(", Volts: ");
Serial.print(voltage);Serial.print(", degrees C: ");
//convert the voltage to temp in degrees
float temperature = (voltage - .5) * 100;
Serial.println(temperature);if(temperature < baselineTemp){
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
} else if(temperature >= baselineTemp+2 && temperature < baselineTemp+4){
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
} else if(temperature >= baselineTemp+4 && temperature < baselineTemp+6){
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
} else if(temperature >= baselineTemp+6){
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
}
delay(1);
}