simo96
October 21, 2013, 4:56pm
1
Salve a tutti, dispongo di due sensori mc9700 http://ww1.microchip.com/downloads/en/DeviceDoc/21942e.pdf
e volevo leggere la temperatura di entrambi i sensori con una funzione sola, per evitare di scrivere i doppi comandi e aumentare le dimensioni del tutto.
questo è lo sketch che mi fa da riferimento (How to measure temperature with Arduino and MCP9700 – Starter Kit )
float temp;
void setup() {
Serial.begin(57600);
};
void loop () {
temp = analogRead(0)*5/1024.0;
temp = temp - 0.5;
temp = temp / 0.01;
Serial.println(temp);
delay(500);
};
PaoloP
October 21, 2013, 6:00pm
2
Crei una funzione appunto...
--> Funzioni in C: void, double e le altre | Guida C | Programmazione HTML.it
Esempio:
float temp1;
float temp2;
void setup() {
Serial.begin(57600);
}
void loop () {
temp1 = temperature(A0);
temp2 = temperature(A1);
Serial.println(temp1);
Serial.println(temp2);
delay(500);
}
float temperature(byte _pin) {
float T = (analogRead(_pin) * 5000.0) / 1024.0;
T -= 0.5;
T /= 10;
return T;
}
simo96
October 22, 2013, 8:04pm
3
A cosa si riferisce byte _pin scritto nella funzione float temperature?
simo96:
A cosa si riferisce byte _pin scritto nella funzione float temperature?
fa parte della dichiarazione della funzione
alla funzione devi passare il numero del pin da cui leggere con l'analogRead.
http://arduino.cc/en/Reference/AnalogRead
PaoloP
October 23, 2013, 7:09pm
5
simo96:
A cosa si riferisce byte _pin scritto nella funzione float temperature?
E' tutto spiegato nel link che ti ho indicato.
Ti consiglio di studiarti per bene il linguaggio C, è molto interessante.
Trovi diversi siti internet che trattano guide per il C e anche libri.
In qualche altro topic era stato fatto anche un elenco ma non ricordo in quale.