#define THERMISTORPIN A0
#define THERMISTORNOMINAL 1000
#define TEMPERATURENOMINAL 25
const float BETA=3950;
#include "DHT.h"
#include "SevSeg.h"
SevSeg sevseg;
#define DHTPIN 18
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
int tonePin=4;
int trigPin= 11;
int echoPin=10;
int diff;
long duration, distance;
int pinA=3;
int pinB=17;
int pinC=15;
int pinD=0;
int pinE=1;
int pinF=2;
int pinG=16;
int pinDP=14;
int D1=9;
int D2=8;
int D3=7;
int D4=6;
double temperature=0;
int temp=0;
int placeValuesofTemp[4];
int TempRefresh=1000;
int sevsegRefresh=5;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode (trigPin, OUTPUT);
pinMode (echoPin, INPUT);
pinMode (tonePin, OUTPUT);
Serial.println("DHTxx test!");
dht.begin();
pinMode(pinA, OUTPUT);
pinMode(pinB, OUTPUT);
pinMode(pinC, OUTPUT);
pinMode(pinD, OUTPUT);
pinMode(pinE, OUTPUT);
pinMode(pinF, OUTPUT);
pinMode(pinG, OUTPUT);
pinMode(D1, OUTPUT);
pinMode(D2, OUTPUT);
pinMode(D3, OUTPUT);
pinMode(D4, OUTPUT);
pinMode(pinDP, OUTPUT);
temperature = analogRead(DHTPIN);
//byte numDigits=4;
//byte digitPins[]={9,8,7,6};
//byte segmentPins[]={3,17,15,0,1,2,16,14};
//bool resistorsOnSegments=true;
//bool updateWithDelaysIn=true;
//byte hardwareConfig = COMMON_CATHODE;
//sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments);
//sevseg.setBrightness(90);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(trigPin,LOW);
delay(5);
digitalWrite(trigPin, HIGH);
delay(10);
digitalWrite(trigPin, LOW);
pinMode(echoPin, INPUT);
duration=pulseIn(echoPin,HIGH);
distance=(duration/2)/29.1;
if (distance <=30){
tone(tonePin, 5000,200);
}
Serial.print(distance);
Serial.print("distance");
delay(250);
float t=dht.readTemperature();
if(isnan(t)){
Serial.println("Failed to read from DHT sensor!");
return;
}
Serial.print("Temperature:");
Serial.print(t);
Serial.print("*C");
int analogValue=analogRead(A0);
float celsius=1/(log(1/(1023./analogValue-1))/BETA+1.0/298.15)-273.15;
Serial.print("TEMP2:");
Serial.print(celsius);
delay(250);
diff=abs(celsius-t);
if ((diff>=5)){
tone(tonePin, 5000,200);
delay(250);
}
//read from temperature sensor
temperature = analogRead(DHTPIN);
temperature = temperature*1100/(1024*10);
temperature = temperature*100;
//put temp digits by their place value
placeValuesofTemp[3] = ((temp)/1)%10;
placeValuesofTemp[2] = ((temp)/10)%10;
placeValuesofTemp[1] = ((temp)/100)%10;
placeValuesofTemp[0] = ((temp)/1000)%10;
} //end millis() if statement
//seven segment 0 - 0 digits
int number [10][7] = {
{1, 1, 1, 1, 1, 1, 0}, //0
{0, 0, 0, 0, 1, 1, 0}, //1
{1, 1, 0, 1, 1, 0, 1}, //2
{1, 1, 1, 1, 0, 0, 1}, //3
{0, 1, 1, 0, 0, 1, 1}, //4
{1, 0, 1, 1, 0, 1, 1}, //5
{1, 0, 1, 1, 1, 1, 1}, //6
{1, 1, 1, 0, 0, 0, 0}, //7
{1, 1, 1, 1, 1, 1, 1}, //8
{1, 1, 1, 0, 0, 1, 1}, //9
};
//
int commonPin [5][4]= {
{0, 1, 1, 1},//enable digit 1
{1, 0, 1, 1},//enable digit 2
{1, 1, 0, 1},//enable digit 3
{1, 1, 1, 0},//enable digit 4
{0, 0, 0, 0},//enable all
};
mega:SCL
mega:SDA
mega:AREF
mega:GND.1
mega:13
mega:12
mega:11
mega:10
mega:9
mega:8
mega:7
mega:6
mega:5
mega:4
mega:3
mega:2
mega:1
mega:0
mega:14
mega:15
mega:16
mega:17
mega:18
mega:19
mega:20
mega:21
mega:5V.1
mega:5V.2
mega:22
mega:23
mega:24
mega:25
mega:26
mega:27
mega:28
mega:29
mega:30
mega:31
mega:32
mega:33
mega:34
mega:35
mega:36
mega:37
mega:38
mega:39
mega:40
mega:41
mega:42
mega:43
mega:44
mega:45
mega:46
mega:47
mega:48
mega:49
mega:50
mega:51
mega:52
mega:53
mega:GND.4
mega:GND.5
mega:IOREF
mega:RESET
mega:3.3V
mega:5V
mega:GND.2
mega:GND.3
mega:VIN
mega:A0
mega:A1
mega:A2
mega:A3
mega:A4
mega:A5
mega:A6
mega:A7
mega:A8
mega:A9
mega:A10
mega:A11
mega:A12
mega:A13
mega:A14
mega:A15
ultrasonic1:VCC
ultrasonic1:TRIG
ultrasonic1:ECHO
ultrasonic1:GND
bz1:1
bz1:2
dht1:VCC
dht1:SDA
dht1:NC
dht1:GND
ntc1:GND
ntc1:VCC
ntc1:OUT
sevseg1:A
sevseg1:B
sevseg1:C
sevseg1:D
sevseg1:E
sevseg1:F
sevseg1:G
sevseg1:DP
sevseg1:DIG1
sevseg1:DIG2
sevseg1:DIG3
sevseg1:DIG4
sevseg1:COM
sevseg1:CLN
r1:1
r1:2
r2:1
r2:2
r3:1
r3:2
r4:1
r4:2