Analog stil temperatur mätaren och DataLogger med Intel Edison (4 / 4 steg)
Steg 4: kod!
Nu, dags för programmering. Väljer du att återskapa det själv, kommer du sannolikt behöva justera vissa värden för att detta ska fungera för dig. Den ursprungliga .ino filen finns nedan för nedladdning. Jag har också tänkt för koden är modulärt, så du kan ta ut bitar att använda i din egen mjukvara om du vill ha.
#include
#include
#include < SPI.h >< br > #include < SD.h >
int a;
float tempcelsius;
int B = 3975; B värdet av termistor (ändra inte!)
float resistens.
Double tempfarenheit = 0;
Servo tempservo;
int temptoservo = 0;
Loop - slingan är den kod som kommer att köras flera gånger
Börjar temperaturen koden < br > a=analogRead(0);
Resistance=(float)(1023-a) * 10000/a; få motståndet av sensorn;
tempcelsius = 1 / (log (motstånd/10000) /B+1/298.15)-273.15; konvertera motstånd till Celsius via databladet.
tempfarenheit = ((tempcelsius*9)/5) + 31; TILLVAL - konvertera från Celsius till Fahrenheit
End temperatur-kod
Temperaturen koden som visas här är från Grove temperaturgivare datablad att bestämma temperaturen från de termistor motstånd.
Data loggningsmöjligheter
Börja SD logga koden < br > Fil dataLog = SD.open ("datalog.txt", FILE_WRITE);
om (dataLog) {
dataLog.print ("Temp:");
dataLog.println(tempfarenheit);
dataLog.print ("ljudnivå:");
dataLog.println(soundLevel);
dataLog.print ("ljus nivå:");
dataLog.println(lightLevel);
Delay(5000);
dataLog.close()
Slutet SD loggning kod
Denna kod kommer att dumpa den nuvarande sensordata till en txt-fil varje 5 sekunder. Om du önskar kan du ändra väntetiden mellan soptippar.