timesetup not in void setup()

This commit is contained in:
mrbesen 2022-07-03 12:54:04 +02:00
parent f2120f4df1
commit 499b944173
Signed by: MrBesen
GPG Key ID: 596B2350DCD67504
1 changed files with 125 additions and 113 deletions

View File

@ -11,7 +11,6 @@
DS3231 clock; DS3231 clock;
#define pressed digitalRead(12) == LOW
#define lightsens 1 #define lightsens 1
#if lightsens #if lightsens
#define lightsensorpin A0 #define lightsensorpin A0
@ -39,6 +38,10 @@ bool brightmode = true;
bool houtremp; bool houtremp;
inline bool pressed() {
return digitalRead(12) == LOW;
}
void set(const unsigned char pin, bool on) { void set(const unsigned char pin, bool on) {
if(on) { if(on) {
if(brightmode) { if(brightmode) {
@ -56,12 +59,10 @@ void write(unsigned char m = 255, unsigned char h = 255) {
//write minutes //write minutes
for(unsigned char i = 0; i < 6; i++) { for(unsigned char i = 0; i < 6; i++) {
set(M[i], m & (1 << i)); set(M[i], m & (1 << i));
// analogWrite(M[i], (m & (1 << i)) ? 255 : offtime);
} }
//write hour //write hour
for(unsigned char i = 0; i < 4; i++) { for(unsigned char i = 0; i < 4; i++) {
set(H[i], h & (1 << i)); set(H[i], h & (1 << i));
// analogWrite(H[i], (h & (1 << i)) ? 255 : offtime);
} }
} }
@ -70,7 +71,7 @@ inline void writeTime() {
} }
void setup() { void setup() {
pinMode(13, OUTPUT); pinMode(13, OUTPUT); // Pin 13 LED
//setup clock modul //setup clock modul
Wire.begin(); Wire.begin();
@ -85,18 +86,31 @@ void setup() {
for(unsigned char h = 0; h < 4; h++) { for(unsigned char h = 0; h < 4; h++) {
pinMode(H[h], OUTPUT); pinMode(H[h], OUTPUT);
} }
pinMode(12, INPUT_PULLUP); pinMode(12, INPUT_PULLUP); // button
write();
//setup messure array //setup messure array
int brightness = analogRead(lightsensorpin); int brightness = analogRead(lightsensorpin);
//memset(messure, brightness, messure_size); //does only work for integers!
for(int i = 0; i < messure_size; i++) { for(int i = 0; i < messure_size; i++) {
messure[i] = brightness; messure[i] = brightness;
} }
messure_add = brightness * messure_size; messure_add = brightness * messure_size;
}
while(!pressed) delay(5);//wait for press void blink() {
for(int i = 0; i < 6; i++) {
write(0, 0); // full off
delay(300);
write(); // full on
delay(300);
}
}
void setTime() {
while(pressed()) delay(5); // wait for not pressed anymore
write(); // full on
while(!pressed()) delay(5); //wait for press
//setup time //setup time
char mode = 0;//mode = 0-> set hour, mode = 1 -> set min, mode = 2 -> exit setup char mode = 0;//mode = 0-> set hour, mode = 1 -> set min, mode = 2 -> exit setup
@ -104,7 +118,7 @@ void setup() {
unsigned long timeout = millis(); unsigned long timeout = millis();
writeTime(); writeTime();
while(mode < 2) { while(mode < 2) {
if(pressed) {//button is pressed if(pressed()) { //button is pressed
if(!pres) { //button was not pressed before if(!pres) { //button was not pressed before
timeout = millis(); //reset timeout timeout = millis(); //reset timeout
pres = true; pres = true;
@ -120,14 +134,8 @@ void setup() {
} else { } else {
pres = false; pres = false;
} }
if(millis() - timeout > 10000) {//timed out if(millis() - timeout > 10000) { //timed out (button not pressed for 10s)
//blink 6 times blink();
for(int i = 0; i < 6; i++) {
write(0,0);
delay(300);
write();
delay(300);
}
writeTime(); writeTime();
++mode;//next mode ++mode;//next mode
//reset timeout //reset timeout
@ -150,6 +158,10 @@ void loop() {
delay(500); delay(500);
if(pressed()) {
setTime();
}
//update lighting values //update lighting values
#if lightsens #if lightsens
unsigned short brightness = analogRead(lightsensorpin);//messure unsigned short brightness = analogRead(lightsensorpin);//messure