implemented arduino ehealth platform and added sensors2osc ehealth handler
This commit is contained in:
parent
c9fa341744
commit
7f416fddc2
2 changed files with 95 additions and 2 deletions
68
ehealth_sketch/ehealth_eno/ehealth_eno.ino
Normal file
68
ehealth_sketch/ehealth_eno/ehealth_eno.ino
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
}
|
||||
|
||||
float getTemperature(void)
|
||||
{
|
||||
//Local variables
|
||||
float Temperature; //Corporal Temperature
|
||||
float Resistance; //Resistance of sensor.
|
||||
float ganancia=5.0;
|
||||
float Vcc=3.3;
|
||||
float RefTension=3.0; // Voltage Reference of Wheatstone bridge.
|
||||
float Ra=4700.0; //Wheatstone bridge resistance.
|
||||
float Rc=4700.0; //Wheatstone bridge resistance.
|
||||
float Rb=821.0; //Wheatstone bridge resistance.
|
||||
int sensorValue = analogRead(A3);
|
||||
|
||||
float voltage2=((float)sensorValue*Vcc)/1023; // binary to voltage conversion
|
||||
|
||||
// Wheatstone bridge output voltage.
|
||||
voltage2=voltage2/ganancia;
|
||||
// Resistance sensor calculate
|
||||
float aux=(voltage2/RefTension)+Rb/(Rb+Ra);
|
||||
Resistance=Rc*aux/(1-aux);
|
||||
if (Resistance >=1822.8) {
|
||||
// if temperature between 25ºC and 29.9ºC. R(tª)=6638.20457*(0.95768)^t
|
||||
Temperature=log(Resistance/6638.20457)/log(0.95768);
|
||||
} else {
|
||||
if (Resistance >=1477.1){
|
||||
// if temperature between 30ºC and 34.9ºC. R(tª)=6403.49306*(0.95883)^t
|
||||
Temperature=log(Resistance/6403.49306)/log(0.95883);
|
||||
} else {
|
||||
if (Resistance >=1204.8){
|
||||
// if temperature between 35ºC and 39.9ºC. R(tª)=6118.01620*(0.96008)^t
|
||||
Temperature=log(Resistance/6118.01620)/log(0.96008);
|
||||
}
|
||||
else{
|
||||
if (Resistance >=988.1){
|
||||
// if temperature between 40ºC and 44.9ºC. R(tª)=5859.06368*(0.96112)^t
|
||||
Temperature=log(Resistance/5859.06368)/log(0.96112);
|
||||
}
|
||||
else {
|
||||
if (Resistance >=811.7){
|
||||
// if temperature between 45ºC and 50ºC. R(tª)=5575.94572*(0.96218)^t
|
||||
Temperature=log(Resistance/5575.94572)/log(0.96218);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return Temperature;
|
||||
}
|
||||
|
||||
|
||||
void loop() {
|
||||
int airFlow = analogRead(A1);
|
||||
int emg = analogRead(0);
|
||||
int temp = getTemperature();
|
||||
Serial.print(airFlow);
|
||||
Serial.print(";");
|
||||
Serial.print(emg);
|
||||
Serial.print(";");
|
||||
Serial.println(temp);
|
||||
delay(100);
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue