Schlagwort-Archiv: Countdown

Countdown mit 7-Segment LED Display und Alarm (Arduino)

Ich habe hier ein 7 Segment Display (XH-8401ARW) aus einem defekten Gerät ausgelötet und mal getestet. Aktuell läuft jede Millisekunde der Counter runter, bis der Counter 0 ist und dann gibt es einen Piepston von sich. Man kann natürlich auch eine LED, Motor, Stepper,… auslösen. Das Ganze geht natürlich auch mit anderen 7-Segment LED Displays. Vielleicht kann das ja mal jemand für sein Projekt gebrauchen ;).

1 x Arduino
4 x 1 KOhm Widerstand
1 x Buzzer
1 x 7-Segment LED Display

 

XH-8401ARW 7 Segment Display

Für den Code benötigt man „SevenSeg“ Library.

#include "SevSeg.h" //include Seven Seg. Library
SevSeg sevseg; //init Segment-object

int buzzerPin = A0; //pin for Sound
bool alarm = false;
int number=9999; //Counter value 1-9999

void setup()
{
byte numDigits = 4; //number of digits
byte digitPins[] = {2, 3, 4, 5}; //digit pins
byte segmentPins[] = {6, 7, 8, 9, 10, 11, 12, 13}; //Pins Segment
sevseg.begin(COMMON_CATHODE, numDigits, digitPins, segmentPins);
sevseg.setBrightness(90);
}

void loop()
{
static unsigned long timer = millis();
static int deciSeconds = 0;

if (millis() – timer >= 100) {
timer += 100;
deciSeconds++; // 100 milliSeconds is equal to 1 deciSecond
if(number>0){
number–;
}
if (deciSeconds == 10000) { // Reset to 0 after counting for 1000 seconds.
deciSeconds=0;
}
sevseg.setNumber(number, 4);
}

if(number==0 && alarm==false){
tone(buzzerPin, 1000, 2500);
alarm=true;
}

sevseg.refreshDisplay(); // Must run repeatedly

}

Ich übernehme natürlich keine Verantwortung für irgendwelche Schäden. Alles auf eigene Gefahr.
Code kann auch als ZIP runtergeladen werden.

7Seg-anzeige