Go Down

Topic: funzione comune per la lettura della temperatura (Read 299 times) previous topic - next topic

simo96

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 (http://starter-kit.nettigo.eu/2010/how-to-measure-temperature-with-arduino-and-mcp9700/)
Code: [Select]
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

Crei una funzione appunto...
--> http://www.html.it/pag/15409/le-funzioni/
Esempio:
Code: [Select]
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

A cosa si riferisce byte _pin scritto nella funzione float temperature?

ricdata


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
La vera saggezza sta in colui che sa di non sapere. Perché io so di sapere più di te, che pensi di sapere. (Socrate)

PaoloP


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.

Go Up