Projekte und Tutorials für Arduino › Foren › StartHardware-Forum › Temperaturanzeige / 7Segment
- Dieses Thema hat 1 Antwort und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 3 Jahre, 10 Monaten von Stefan Hermann.
Ansicht von 2 Beiträgen - 1 bis 2 (von insgesamt 2)
-
AutorBeiträge
-
TimmTeilnehmer
Hallo, Ich bin leider noch ein Anfänger beim Programmieren. Zurzeit versuche ich über eine
vierstellige 7-Segment anzeige die Temperatur und die Luftfeuchtigkeit im Wechsel anzuzeigen.
Die Temperatur funktioniert schonmal, leider ist das Display nur am blinken da die Segmente nur der reihe nach
aufleuchten.#include "SevSeg.h" #include <SimpleDHT.h> SevSeg sevseg; int pinDHT11 = A4; SimpleDHT11 dht11(pinDHT11); void setup() { Serial.begin(9600); byte numDigits = 4; byte digitPins[] = {2, 3, 4, 5}; byte segmentPins[] = {6, 7, 8, 9, 10, 11, 12, 13}; sevseg.begin(COMMON_CATHODE, numDigits, digitPins, segmentPins); } void loop() { byte temperature; int err = SimpleDHTErrSuccess; if ((err = dht11.read(&temperature, &humidity, NULL)) != SimpleDHTErrSuccess){ sevseg.setNumber(temperature); Serial.print((int)temperature); Serial.print(" *C, "); Serial.print((int)humidity); Serial.println(" H"); } sevseg.refreshDisplay(); }
Vielleicht könnt ihr mir Helfen,
Gruß TimmStefan HermannVerwalterHm, gute Frage. Ich kann es leider nicht nachbauen, aber das Hin- und Her-Schalten kannst du mit einem Timer machen. So sieht der Code dann aus. Wie gesagt, testen kann ich den leider nicht.
#include <SevSeg.h> #include <SimpleDHT.h> SevSeg sevseg; int pinDHT11 = A4; SimpleDHT11 dht11(pinDHT11); void setup() { Serial.begin(9600); byte numDigits = 4; byte digitPins[] = {2, 3, 4, 5}; byte segmentPins[] = {6, 7, 8, 9, 10, 11, 12, 13}; sevseg.begin(COMMON_CATHODE, numDigits, digitPins, segmentPins); } void loop() { byte temperature; int err = SimpleDHTErrSuccess; if ((err = dht11.read(&temperature, &humidity, NULL)) != SimpleDHTErrSuccess) { if (millis()%10000<5000) { sevseg.setNumber((int)temperature); } else { sevseg.setNumber((int)humidity); } Serial.print((int)temperature); Serial.print(" *C, "); Serial.print((int)humidity); Serial.println(" H"); } sevseg.refreshDisplay(); }
-
AutorBeiträge
Ansicht von 2 Beiträgen - 1 bis 2 (von insgesamt 2)