Você está na página 1de 4

#include "DHT.

h"

#define DHTPIN 7 // what pin we're connected to

#define DHTTYPE DHT22 // DHT 22 (AM2302)

DHT dht(DHTPIN, DHTTYPE);

const int FLEX_PIN = A1;

const float VCC = 4.98;

const float R_DIV = 33000;

const float STRAIGHT_RESISTANCE = 37300.0; // resistance when straight

const float BEND_RESISTANCE = 90000.0; // resistance at 90 deg

int gassensorValue;

int GasSensorPin = A2;

const int trigPin = 5;

const int echoPin = 6;

long duration;

int distance;

const int analogIn = A0;

int mVperAmp = 185; // use 100 for 20A Module and 66 for 30A Module

int RawValue= 0;

int ACSoffset = 2500;

double Voltage = 0;

double Amps = 0;

void setup() {

Serial.begin(9600);
pinMode(FLEX_PIN, INPUT);

pinMode(GasSensorPin, INPUT);

pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output

pinMode(echoPin, INPUT);

dht.begin();

void loop() {

int flexADC = analogRead(FLEX_PIN);

gassensorValue = analogRead(GasSensorPin);

float flexV = flexADC * VCC / 1023.0;

float flexR = R_DIV * (VCC / flexV - 1.0);

float angle = map(flexR, STRAIGHT_RESISTANCE, BEND_RESISTANCE,

0, 90.0);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);

distance= duration*0.034/2;

RawValue = analogRead(analogIn);

Voltage = (RawValue / 1024.0) * 5000; // Gets you mV

Amps = ((Voltage - ACSoffset) / mVperAmp);

float h = dht.readHumidity();

// Read temperature as Celsius


float t = dht.readTemperature();

String string1=String('F');

String string2=String(angle,2);

String string3=String('G');

String string4=String(gassensorValue);

String string5=String('U');

String string6=String(distance);

String string7=String('C');

String string8=String(Amps);

String string9=String('H');

String string10=String(h,2);

String string11=String('T');

String string12=String(t,2);

String
stringprint=String(string1+string2+string3+string4+string5+string6+string7+string8+string9+string10+stri
ng11+string12);

if (Serial.available() > 0) {

// read the incoming byte:

char incomingByte = Serial.read();

if(incomingByte=='b')

Serial.print(stringprint);

incomingByte='0';

}
//delay(500);

Você também pode gostar