From ee2821ca637d9d5a79a37249275f54cf5b567d53 Mon Sep 17 00:00:00 2001 From: gregor herrmann Date: Mon, 26 Oct 2020 05:20:42 +0100 Subject: [PATCH] factor out buzzer calls into a function --- airingbutler.ino | 34 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/airingbutler.ino b/airingbutler.ino index ef2d874..075db34 100644 --- a/airingbutler.ino +++ b/airingbutler.ino @@ -22,6 +22,14 @@ int co2 = 0; int temp = 0; int lastppm = 0; +void buzz(unsigned long pause, int count) { + for (int i = 0; i <= count; i++) { + digitalWrite(buzzer_pin, HIGH); + delay(pause); + digitalWrite(buzzer_pin, LOW); + if (i < count - 1) delay(pause); + } +} void setup() { @@ -38,11 +46,10 @@ void setup() lcd.setCursor(0, 1); lcd.print("says hello!"); - // LEDs + buzzer + // LEDs pinMode(led_green_pin, OUTPUT); pinMode(led_yellow_pin, OUTPUT); pinMode(led_red_pin, OUTPUT); - pinMode(buzzer_pin, OUTPUT); digitalWrite(led_green_pin, HIGH); delay(500); digitalWrite(led_green_pin, LOW); @@ -52,9 +59,10 @@ void setup() digitalWrite(led_red_pin, HIGH); delay(500); digitalWrite(led_red_pin, LOW); - digitalWrite(buzzer_pin, HIGH); - delay(200); - digitalWrite(buzzer_pin, LOW); + + // buzzer + pinMode(buzzer_pin, OUTPUT); + buzz(200, 1); lcd.clear(); } @@ -78,23 +86,11 @@ void loop() digitalWrite(led_green_pin, co2 < co2_warning_thr); if (co2 >= co2_alarm_thr && lastppm < co2_alarm_thr) { - digitalWrite(buzzer_pin, HIGH); - delay(100); - digitalWrite(buzzer_pin, LOW); - delay(100); - digitalWrite(buzzer_pin, HIGH); - delay(100); - digitalWrite(buzzer_pin, LOW); - delay(100); - digitalWrite(buzzer_pin, HIGH); - delay(100); - digitalWrite(buzzer_pin, LOW); + buzz(100, 3); } if (co2 >= co2_warning_thr && lastppm < co2_warning_thr) { - digitalWrite(buzzer_pin, HIGH); - delay(500); - digitalWrite(buzzer_pin, LOW); + buzz(500, 1); } lcd.setCursor(0, 0); -- 2.39.5