Smarta bärbara IOT vaccin (3 / 3 steg)
Steg 3: Program för att visa alla sensorn värden i Arduino följetong Monitor:
Vänligen justera ordentligt
#include < math.h >
#include < Arduino.h >
int a; / / temp float temperatur; int B = 3975; B värdet av termistor float motståndet; //temp
#define LIGHT_SENSOR A1 / / ljus Sensor A0 av Arduino const int thresholdvalue = 10; Tröskelvärde som LED bör aktivera. Ställer in det lägre kommer att göra det gå på i mer ljus, högre för mer mörker float Rsensor; Motståndet av sensorn i K int sensorPin = A3; Välj input PIN-koden för sensor gyro float reference_Value = 0; int sensorValue = 0; lagra värdet kommer från gyro sensor
damm givarstaven int = 8. osignerade långa varaktighet; osignerade långa starttime; osignerade långa sampletime_ms = 2000; //sampe 30-talet; osignerade långa lowpulseoccupancy = 0; float ratio = 0; flyta koncentration = 0;
#define LED 2 void setup() {Serial.begin(9600); pinMode (6, OUTPUT); / / buzzer pin
pinMode (LED, OUTPUT); röd led moule int i; enda axel gyro float summan = 0,0; pinMode (sensorPin, ingång); Serial.BEGIN(9600); Serial.println ("du kan inte rotera det innan kalibrera!"); Serial.println ("få referensvärdet:"); Delay(1000); för (jag = 0; jag < 1000; i ++) {/ / läsa värdet från sensorn: sensorValue = analogRead(sensorPin); summa += sensorValue; delay(2);} Serial.Print ("referensvärdet är:"); Serial.println(Sum/1000); reference_Value = summa/1000; enda axel gyro
pinMode(8,INPUT); damm sensor starttime = millis (); //get den aktuella tiden. } void loop() {int sensorValue; / / uv lång summan = 0; för (int jag = 0; jag < 1024; i ++) {sensorValue=analogRead(A2); / / Ao ch till A2 för UV summan = sensorValue + summan; delay(2);} summan = summa >> 10. Serial.Print ("spänning värdet:"); Serial.Print(Sum*4980.0/1023.0); Serial.println("MV"); Delay(20); Serial.Print ("\n"); //uv a=analogRead(0); / / temp resistance=(float)(1023-a) * 10000/a; få motståndet av sensorn; temperatur = 1 / (log (motstånd/10000) /B+1/298.15)-273.15;//convert till temperatur via databladet. Delay(1000); Serial.Print ("aktuell temperatur är"); Serial.println(temperature); Temp
int sensorValue1 = analogRead(LIGHT_SENSOR); ljussensor analog Rsensor = (float)(1023-sensorValue) * 10/sensorValue; Serial.println ("den analoga Läs data är"); Serial.println(sensorValue); Serial.println ("sensor motståndet är"); Serial.println (Rsensor, DEC); //show ligth intensiteten på den seriella monitor ljus analoga sens
dubbla angularVelocity; gyro sensorValue = analogRead(sensorPin); angularVelocity =((double)(sensorValue-reference_Value) * 4950.0) /1023.0/0.67; Serial.Print(angularVelocity); Serial.println("deg/s"); Delay(500); dröjsmål i läser mellan för stabilitet gyro slutet
längd = pulseIn (pin, låg); damm sensor lowpulseoccupancy = lowpulseoccupancy + varaktighet; om ((millis()-starttime) > = sampletime_ms) //if prov tiden == 30s {ratio = lowpulseoccupancy/(sampletime_ms*10.0); / / heltal andel 0 = > 100 koncentration = 1,1 * pow (förhållande, 3)-3,8 * pow (förhållande, 2) +520 * förhållandet + 0,62; / / använda Specifikationsblad kurva Serial.print ("koncentration ="); Serial.Print(concentration); Serial.println ("datorer/0.01cf"); Serial.println("\n"); lowpulseoccupancy = 0; StartTime = millis(); } / / stoft
digitalWrite (6, hög). Summer digitalWrite (LED, hög); Set LED på delay(500); för 500ms}