Hi,
I made a sketch for a temparature sensor, but instead of using the serial monitor i want to use 2 7 segment displays. I could make the display count up to 20 whithout a problem but i cant see to use it as an output for the sensor values.
I made some while statements when x equals a certain values the display will give the vallue. I have set x as an integer because it only needs to show values like 1, 10, 20 not 1,1 20,6 etc etc. I also tried declaring it as a float that also didn't work.
this is the sketch
#include "cactus_io_DHT22.h"
#define DHT22_PIN 53 // what pin on the arduino is the DHT22 data line connected to
DHT22 dht(DHT22_PIN);
// eerste segment
int led1 = 2; //rondje rechtsonder
int led2 = 3; //secie D
int led3 = 4; //sectie C
int led4 = 5; //sectie G
int led5 = 6; //sectie B
int led6 = 7; //sectie E
int led7 = 8; //sectie F
int led8 = 9; //sectie A
int x = 0;
// tweede segment
int led9 = 36; //rondje rechtsonder
int led10 = 37; //secie D
int led11 = 35; //sectie C
int led12 = 34; //sectie G
int led13 = 33; //sectie B
int led14 = 32; //sectie E
int led15 = 31; //sectie F
int led16 = 30; //sectie A
void setup() {
pinMode(led9, INPUT);
pinMode(led10, INPUT);
pinMode(led11, INPUT);
pinMode(led12, INPUT);
pinMode(led13, INPUT);
pinMode(led14, INPUT);
pinMode(led15, INPUT);
pinMode(led16, INPUT);
pinMode(led9, LOW);
pinMode(led10, LOW);
pinMode(led11, LOW);
pinMode(led12, LOW);
pinMode(led13, LOW);
pinMode(led14, LOW);
pinMode(led15, LOW);
pinMode(led16, LOW);
Serial.begin(9600);
Serial.println("DHT22 Humidity - Temperature Sensor");
Serial.println("RH\tTemp (C)\tTemp (F)\tHeat Index (C)\tHeat Index (F)");
dht.begin();
}
void loop() {
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
dht.readHumidity();
dht.readTemperature();
x = dht.temperature_C ;
// Check if any reads failed and exit early (to try again).
if (isnan(dht.humidity) || isnan(dht.temperature_C)) {
Serial.println("DHT sensor read failure!");
return;
}
Serial.println(x);
Serial.print(dht.humidity); Serial.print(" %\t\t");
Serial.print(dht.temperature_C); Serial.print(" *C\t");
Serial.print(dht.computeHeatIndex_C()); Serial.print(" *C\t");
Serial.print(dht.computeHeatIndex_F()); Serial.println(" *F");
while ( x >= 20 && x < 21)
{
pinMode(led2, HIGH);
pinMode(led4, HIGH);
pinMode(led5, HIGH);
pinMode(led6, HIGH);
pinMode(led8, HIGH);
pinMode(led10, HIGH);
pinMode(led11, HIGH);
pinMode(led13, HIGH);
pinMode(led14, HIGH);
pinMode(led15, HIGH);
pinMode(led16, HIGH);
}
while ( x >= 21 && x < 22)
{
pinMode(led2, HIGH);
pinMode(led4, HIGH);
pinMode(led5, HIGH);
pinMode(led6, HIGH);
pinMode(led8, HIGH);
pinMode(led10, HIGH);
pinMode(led12, HIGH);
pinMode(led13, HIGH);
pinMode(led14, HIGH);
pinMode(led16, HIGH);
}
while ( x >= 22 && x < 23)
{
pinMode(led10, HIGH);
pinMode(led12, HIGH);
pinMode(led13, HIGH);
pinMode(led14, HIGH);
pinMode(led16, HIGH);
pinMode(led2, HIGH);
pinMode(led4, HIGH);
pinMode(led5, HIGH);
pinMode(led6, HIGH);
pinMode(led8, HIGH);
}
// Wait a few seconds between measurements. The DHT22 should not be read at a higher frequency of
// about once every 2 seconds. So we add a 3 second delay to cover this.
delay(3000);
}
Any ideas how i could solve this or were to look into?
thanks in advance.

