using AHT10 temperature and humidity sensor I have already print it's data on a 16*2 lcd display. but now I wants to print only its humidity value on a 7 segment common anode display. that's why I have made a code but fails to do that .. can anyone help me in this project?
#include <Adafruit_AHTX0.h> // Library for AHT10
Adafruit_AHTX0 AHT10;
float AHT10_Humidity;
int a = 3;
int b = 4;
int c = 7;
int d = 6;
int e = 5;
int f = 10;
int g = 8;
int GND1 = 12;
int GND2 = 11;
int GND3 = 13;
int GND4 = 9;
int dig1 = 0;
int dig2 = 0;
int dig3 = 0;
int dig4 = 0;
int Humi;
// Variable to store current time.
unsigned long previousMillis = 0;
// Set interval to read temperature.
const long interval = 5000;
void setup()
{
Serial.begin(9600); // Use a 9600 Baud Rate - basically a speed of communication
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(GND1, OUTPUT);
pinMode(GND2, OUTPUT);
pinMode(GND3, OUTPUT);
pinMode(GND4, OUTPUT);
if (! AHT10.begin()) {
//Removed this info print statement so as not to interfere with the plotting and labels
//You can uncomment it
//Serial.println("Could not find the AHT10 sensor. Please check wiring");
while (1) delay(10);
} else {
//Removed this info print statement so as not to interfere with the plotting and labels
//You can uncomment it
//Serial.println("The AHT10 sensor was found & is ready");
}
}
void loop()
{
Get_AHT10_Data();
Humi = (AHT10_Humidity);
dig1 = Humi / 10;
dig2 = Humi - (dig1 * 10);
dig3 = 12;
dig4 = 12;
// Get current time in milliseconds.
unsigned long currentMillis = millis();
// Read temperature every 2 seconds.
if (currentMillis - previousMillis >= interval) {
// Save the last time we've read the temperature.
previousMillis = currentMillis;
digitalWrite( GND4, HIGH); //digit 4
DisplayNumber(dig4);
delay(1000);
digitalWrite( GND4, LOW);
digitalWrite( GND3, HIGH); //digit 3
DisplayNumber(dig3);
delay(1000);
digitalWrite( GND3, LOW);
digitalWrite( GND2, HIGH); //digit 2
DisplayNumber(dig2);
delay(1000);
digitalWrite( GND2, LOW);
digitalWrite( GND1, HIGH); //digit 1
DisplayNumber(dig1);
delay(1000);
digitalWrite( GND1, LOW);
}
}
void DisplayNumber(int x) {
switch (x) {
case 0: zero(); break;
case 1: one(); break;
case 2: two(); break;
case 3: three(); break;
case 4: four(); break;
case 5: five(); break;
case 6: six(); break;
case 7: seven(); break;
case 8: eight(); break;
case 9: nine(); break;
case 12: oo(); break;
}
}
void zero()
{
digitalWrite( a, LOW);
digitalWrite( b, LOW);
digitalWrite( c, LOW);
digitalWrite( d, LOW);
digitalWrite( e, LOW);
digitalWrite( f, LOW);
digitalWrite( g, HIGH);
}
void one()
{
digitalWrite( a, HIGH);
digitalWrite( b, LOW);
digitalWrite( c, LOW);
digitalWrite( d, HIGH);
digitalWrite( e, HIGH);
digitalWrite( f, HIGH);
digitalWrite( g, HIGH);
}
void two()
{
digitalWrite( a, LOW);
digitalWrite( b, LOW);
digitalWrite( c, HIGH);
digitalWrite( d, LOW);
digitalWrite( e, LOW);
digitalWrite( f, HIGH);
digitalWrite( g, LOW);
}
void three()
{
digitalWrite( a, LOW);
digitalWrite( b, LOW);
digitalWrite( c, LOW);
digitalWrite( d, LOW);
digitalWrite( e, HIGH);
digitalWrite( f, HIGH);
digitalWrite( g, LOW);
}
void four()
{
digitalWrite( a, HIGH);
digitalWrite( b, LOW);
digitalWrite( c, LOW);
digitalWrite( d, HIGH);
digitalWrite( e, HIGH);
digitalWrite( f, LOW);
digitalWrite( g, LOW);
}
void five()
{
digitalWrite( a, LOW);
digitalWrite( b, HIGH);
digitalWrite( c, LOW);
digitalWrite( d, LOW);
digitalWrite( e, HIGH);
digitalWrite( f, LOW);
digitalWrite( g, LOW);
}
void six()
{
digitalWrite( a, LOW);
digitalWrite( b, HIGH);
digitalWrite( c, LOW);
digitalWrite( d, LOW);
digitalWrite( e, LOW);
digitalWrite( f, LOW);
digitalWrite( g, LOW);
}
void seven()
{
digitalWrite( a, LOW);
digitalWrite( b, LOW);
digitalWrite( c, LOW);
digitalWrite( d, HIGH);
digitalWrite( e, HIGH);
digitalWrite( f, HIGH);
digitalWrite( g, HIGH);
}
void eight()
{
digitalWrite( a, LOW);
digitalWrite( b, LOW);
digitalWrite( c, LOW);
digitalWrite( d, LOW);
digitalWrite( e, LOW);
digitalWrite( f, LOW);
digitalWrite( g, LOW);
}
void nine()
{
digitalWrite( a, LOW);
digitalWrite( b, LOW);
digitalWrite( c, LOW);
digitalWrite( d, LOW);
digitalWrite( e, HIGH);
digitalWrite( f, LOW);
digitalWrite( g, LOW);
}
void oo()
{
digitalWrite( a, HIGH);
digitalWrite( b, HIGH);
digitalWrite( c, LOW);
digitalWrite( d, LOW);
digitalWrite( e, LOW);
digitalWrite( f, HIGH);
digitalWrite( g, LOW);
}
void Get_AHT10_Data(){
// Communicate with the humidity and temp sensor and get data
sensors_event_t Humidity, Temp;
// Now get the data
AHT10.getEvent(&Humidity, &Temp); // Get Temp and humidity data
AHT10_Humidity =Humidity.relative_humidity;
}