From 9be74cc721224651d2492cd2a9fd7a2baf53df40 Mon Sep 17 00:00:00 2001 From: jenoack Date: Wed, 5 Mar 2025 16:18:52 +0100 Subject: [PATCH] modified timeout and DFPlayer handling --- mp3files/Nr5.mp3 | Bin 0 -> 282240 bytes .../.vscode/settings.json | 59 +- vscode/singing_picture_serial/src/main.cpp | 573 +++++++++++------- 3 files changed, 397 insertions(+), 235 deletions(-) create mode 100644 mp3files/Nr5.mp3 diff --git a/mp3files/Nr5.mp3 b/mp3files/Nr5.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..d43ce6d29c0e02db151676313deb235baf7bd58b GIT binary patch literal 282240 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 ijAk90b!gV1S@-+l3-Yt!|2cNv&+g -#define MV_ONE_IS_PLAYING 3100 -#define MS_TO_WAIT_BEFORE_NEXT_MOVE 120000 //ms to wait before new movement is valid -#define MS_TO_WAIT_BEFORE_VALID_NO_MOVEMEVENT 5000 //ms a no movement phase must be -#define MS_TO_WAIT_BEFORE_NEXT_PRESS 200 - -const uint8_t vol_poti_pin = 35; -const uint8_t vol_down_out = 17; -const uint8_t button_vol_down = 5; -const uint8_t button_vol_up = 18; -const uint8_t button_pin = 2; -const uint8_t movesensor_pin = 4; -const uint8_t busyanalog_pin = 36; // to get status of all players -const uint8_t blue_isplaying_led_pin = 22; -const uint8_t red_button_pressed_led_pin = 19; -const uint8_t red_movement_detected_led_pin = 19; -const uint8_t mp3player_control_pin[] = {15,13,12,14,27,26,25,33,32}; -const uint8_t mp3player_nr = sizeof(mp3player_control_pin)/sizeof(mp3player_control_pin[0]); - - - -#include "SoftwareSerial.h" -#include "DFRobotDFPlayerMini.h" - -SoftwareSerial mySoftwareSerial(19, 23); // RX, TX -DFRobotDFPlayerMini myDFPlayer; - -void play_sequence(void); -void check_players_state(void); -void check_button(void); -void check_movement(void); -void set_volume(void); - -void setup() -{ - Serial.begin(115200); - Serial.println("Setting button,movement sensor pin to input."); - pinMode(vol_down_out, INPUT); - digitalWrite(vol_down_out,HIGH); - pinMode(button_vol_up, INPUT_PULLUP); - pinMode(button_pin, INPUT_PULLUP); - pinMode(movesensor_pin, INPUT_PULLDOWN); - Serial.println("Setting all control pins to outputs and disable playing."); - for(uint8_t ix = 0; ix < mp3player_nr; ix++) - { - pinMode(mp3player_control_pin[ix], OUTPUT); - digitalWrite(mp3player_control_pin[ix],HIGH); - pinMode(mp3player_control_pin[ix], INPUT); - } - - mySoftwareSerial.begin(9600); - myDFPlayer.begin(mySoftwareSerial); - if (!myDFPlayer.begin(mySoftwareSerial, false)) { //Use softwareSerial to communicate with mp3. - Serial.println(F("Unable to begin:")); - Serial.println(F("1.Please recheck the connection!")); - Serial.println(F("2.Please insert the SD card!")); - while(true){ - delay(0); // Code to compatible with ESP8266 watch dog. - } - } - Serial.println(F("DFPlayer Mini online.")); - set_volume(); - - - - - -} - -bool movement = false; -bool there_was_no_movement_in_between = true; -bool is_playing = false; -bool button_pressed = false; -bool button_upvol_pressed = false; -bool button_downvol_pressed = false; -unsigned long last_move_ms = 0; -unsigned long last_no_move_ms = 0; -unsigned long last_button_ms = 0; -unsigned long last_upvol_button_ms = 0; -unsigned long last_downvol_button_ms = 0; - -void loop() -{ - check_players_state(); - check_movement(); - check_button(); - set_volume(); - play_sequence(); - delay(100); -} - -void set_volume(void) -{ - static long last_vol = 0; - uint16_t vol_poti = analogRead(vol_poti_pin); - long vol_mp3 = map(vol_poti, 0, 4095, 2 , 30); - if(last_vol != vol_mp3) - { - myDFPlayer.volume(vol_mp3); //Set volume value. From 0 to 30 - last_vol = vol_mp3; - } - -} - - -void check_button(void) -{ - if( MS_TO_WAIT_BEFORE_NEXT_PRESS < millis() - last_button_ms) - { - if(false == button_pressed && LOW == digitalRead(button_pin)) - { - Serial.println("Button pressed ..."); - last_button_ms = millis(); - button_pressed = true; - } - } - - if( MS_TO_WAIT_BEFORE_NEXT_PRESS < millis() - last_upvol_button_ms) - { - if(false == button_upvol_pressed && LOW == digitalRead(button_vol_up)) - { - Serial.println("Volume up button pressed ..."); - last_upvol_button_ms = millis(); - button_upvol_pressed = true; - } - } - - if( MS_TO_WAIT_BEFORE_NEXT_PRESS < millis() - last_downvol_button_ms) - { - if(false == button_downvol_pressed && LOW == digitalRead(button_vol_down)) - { - Serial.println("Volume down button pressed ..."); - last_downvol_button_ms = millis(); - button_downvol_pressed = true; - } - } - -} - -void check_movement(void) -{ - int act_movement = digitalRead(movesensor_pin); - if(act_movement == HIGH) - Serial.println("Movement."); - // Serial.println("No movement."); - //else - - // - if(LOW == act_movement ) - { - if( false == there_was_no_movement_in_between) - { - if(MS_TO_WAIT_BEFORE_VALID_NO_MOVEMEVENT < millis()-last_no_move_ms) - { - there_was_no_movement_in_between = true; - Serial.printf("No movement anymore ...\n"); - } - } - } - else - { - last_no_move_ms = millis(); - } - - if( true == is_playing) - { - last_move_ms = millis(); - } - else - { - if(HIGH == act_movement && true == there_was_no_movement_in_between) - { - there_was_no_movement_in_between = false; - if(MS_TO_WAIT_BEFORE_NEXT_MOVE < millis()-last_move_ms) - { - last_move_ms = millis(); - movement = true; - Serial.printf("New movement detected ...\n"); - } - } - } -} - -void check_players_state(void) -{ - // 0 ... 0V - 4095 ... 3.3V - uint16_t voltage_dig = analogRead(busyanalog_pin); - uint16_t voltage_mV = map(voltage_dig,0,4095,0,3300); - //Serial.printf("Voltage at busy pins is: dig=%d , ana=%dmV\n", voltage_dig, voltage_mV); - if(voltage_mV < MV_ONE_IS_PLAYING) - { - if(false == is_playing) - { - Serial.println("At least one player is playing now."); - } - is_playing = true; - } - else - { - if(true == is_playing) - { - Serial.println("All players off now."); - } - is_playing = false; - } -} - -void play_sequence(void) -{ - if(false == is_playing) - { - //Serial.println("All players still off ."); - if(true == button_pressed || true == movement ) - { - Serial.println("All players starting now."); - for(uint8_t ix= 0; ix < mp3player_nr; ix++) - { - pinMode(mp3player_control_pin[ix],OUTPUT); - digitalWrite(mp3player_control_pin[ix],LOW); - } - Serial.println("All players started."); - delay(500); - for(uint8_t ix= 0; ix < mp3player_nr; ix++) - { - digitalWrite(mp3player_control_pin[ix],HIGH); - pinMode(mp3player_control_pin[ix],INPUT); - } - is_playing = true; - } - } - button_pressed = false; - movement = false; -} + +#include +#define MV_ONE_IS_PLAYING 3100 //voltage level in mV of the busy signal - if there is one player is playing +#define MS_MAX_PLAYING_LENGTH 60000 //if there is one SD card signaling busy all the time - this is the time out for the play detection +#define MS_TO_WAIT_BEFORE_NEXT_MOVE 120000 //ms to wait before new movement is valid +#define MS_TO_WAIT_BEFORE_VALID_NO_MOVEMEVENT 10000 //ms a no movement phase must be +#define MS_TO_WAIT_BEFORE_NEXT_PRESS 200 + +const uint8_t vol_poti_pin = 35; +const uint8_t vol_down_out = 17; +const uint8_t button_stop_pin = 18; +const uint8_t button_play_pin = 2; +const uint8_t movesensor_pin = 4; +const uint8_t busyanalog_pin = 36; // to get status of all players + +const uint8_t green_led_pin = 5; +const uint8_t red_led_pin = 0; +const uint8_t blue_led_pin = 16; + +const uint8_t mp3player_control_pin[] = {15,13,12,14,27,26,25,33,32}; +const uint8_t mp3player_nr = sizeof(mp3player_control_pin)/sizeof(mp3player_control_pin[0]); + + + +#include "SoftwareSerial.h" +#include "DFRobotDFPlayerMini.h" + +SoftwareSerial mySoftwareSerial(19, 23); // RX, TX +DFRobotDFPlayerMini myDFPlayer; + +void play_sequence(void); +void check_players_state(void); +void check_button(void); +void check_movement(void); +void set_volume(void); +void set_leds(void); + +void setup() +{ + Serial.begin(115200); + Serial.println("Setting button,movement sensor pin to input."); + digitalWrite(vol_down_out,HIGH); + pinMode(button_stop_pin, INPUT_PULLUP); + pinMode(button_play_pin, INPUT_PULLUP); + pinMode(movesensor_pin, INPUT_PULLDOWN); + + pinMode(green_led_pin, OUTPUT); + pinMode(red_led_pin, OUTPUT); + pinMode(blue_led_pin, OUTPUT); + + digitalWrite(red_led_pin, HIGH); + delay(500); + digitalWrite(red_led_pin, LOW); + delay(500); + digitalWrite(blue_led_pin,HIGH); + delay(500); + digitalWrite(blue_led_pin,LOW); + delay(500); + digitalWrite(green_led_pin,HIGH); + delay(500); + digitalWrite(green_led_pin,LOW); + delay(500); + + Serial.println("Setting all control pins to outputs and disable playing."); + for(uint8_t ix = 0; ix < mp3player_nr; ix++) + { + pinMode(mp3player_control_pin[ix], OUTPUT); + digitalWrite(mp3player_control_pin[ix],HIGH); + pinMode(mp3player_control_pin[ix], INPUT); + } + + mySoftwareSerial.begin(9600); + myDFPlayer.begin(mySoftwareSerial); + if (!myDFPlayer.begin(mySoftwareSerial, false)) { //Use softwareSerial to communicate with mp3. + Serial.println(F("Unable to begin:")); + Serial.println(F("1.Please recheck the connection!")); + Serial.println(F("2.Please insert the SD card!")); + while(true){ + digitalWrite(red_led_pin, HIGH); + delay(500); + digitalWrite(red_led_pin, LOW); + delay(500); + } + } + + myDFPlayer.outputDevice(DFPLAYER_DEVICE_SD); // Setzt SD-Karte als Quelle + set_volume(); + myDFPlayer.EQ(DFPLAYER_EQ_NORMAL); // Equalizer auf normal setzen + myDFPlayer.disableDAC(); + myDFPlayer.stop(); // Sicherstellen, dass nichts ungewollt abgespielt wird + // myDFPlayer.sleep(); + Serial.println(F("DFPlayer Mini online and sleeping.")); + +} + +bool movement = false; +bool there_was_no_movement_in_between = true; +bool is_playing = false; // forced by software - signals that the play sequence is started +bool is_busy = false; // status of all the busy pins coming from the mp3players itself +bool button_play_pressed = false; +bool button_stop_pressed = false; +unsigned long last_move_ms = 0; +unsigned long last_no_move_ms = 0; +bool movement_detected = false; +bool next_playing_possible = false; + + + +void loop() +{ + check_players_state(); + check_movement(); + check_button(); + set_leds(); + set_volume(); + play_sequence(); + delay(100); +} + +void set_volume(void) +{ + static long last_vol = 0; + uint16_t vol_poti = analogRead(vol_poti_pin); + long vol_mp3 = map(vol_poti, 0, 4095, 2 , 30); + if(last_vol != vol_mp3) + { + digitalWrite(green_led_pin,LOW); + Serial.printf("Over all Volume set from %d to %d \n", last_vol, vol_mp3 ); + myDFPlayer.volume(vol_mp3); //Set volume value. From 0 to 30 + last_vol = vol_mp3; + // myDFPlayer.sleep(); + } + +} + + +void check_button(void) +{ + static unsigned long last_play_button_ms = 0; + static unsigned long last_stop_button_ms = 0; + + unsigned long current_ms = millis(); + if( MS_TO_WAIT_BEFORE_NEXT_PRESS < current_ms - last_play_button_ms) + { + if(false == button_play_pressed && LOW == digitalRead(button_play_pin)) + { + Serial.println("Play button pressed ..."); + last_play_button_ms = current_ms; + button_play_pressed = true; + } + } + + if( MS_TO_WAIT_BEFORE_NEXT_PRESS < current_ms - last_stop_button_ms) + { + if(false == button_stop_pressed && LOW == digitalRead(button_stop_pin)) + { + Serial.println("Stop button pressed ..."); + last_stop_button_ms = current_ms; + button_stop_pressed = true; + } + } + +} + +void check_movement(void) +{ + int act_movement = digitalRead(movesensor_pin); + + if(MS_TO_WAIT_BEFORE_NEXT_MOVE < millis()-last_move_ms) + { + if(next_playing_possible == false) + { + Serial.printf("Playing the sounds after next movement is possible now.\n"); + } + next_playing_possible = true; + } + else + { + next_playing_possible = false; + } + + if(LOW == act_movement ) + { + if(movement_detected == true) + { + Serial.printf("Changed to No movement at %dms.\n", millis()); + } + movement_detected = false; + if( false == there_was_no_movement_in_between) + { + if(MS_TO_WAIT_BEFORE_VALID_NO_MOVEMEVENT < millis()-last_no_move_ms) + { + there_was_no_movement_in_between = true; + Serial.printf("No movement anymore ...\n"); + } + } + } + else + { + if(movement_detected == false) + { + Serial.printf("Changed to Movement at %dms.\n", millis()); + } + movement_detected = true; + + if( false == is_playing) + { + if(HIGH == act_movement && true == there_was_no_movement_in_between) + { + Serial.printf("Movement detected after a while of no movemwnt (last movement before %dms)...\n", millis()-last_move_ms); + there_was_no_movement_in_between = false; + if(true == next_playing_possible) + // if(MS_TO_WAIT_BEFORE_NEXT_MOVE < millis()-last_move_ms) + { + last_move_ms = millis(); + movement = true; + Serial.printf("New movement detected ...\n"); + } + } + } + else + { + last_move_ms = millis(); + } + last_no_move_ms = millis(); + } + +} + +void check_players_state(void) +{ + // 0 ... 0V - 4095 ... 3.3V + uint16_t voltage_dig = analogRead(busyanalog_pin); + uint16_t voltage_mV = map(voltage_dig,0,4095,0,3300); + //Serial.printf("Voltage at busy pins is: dig=%d , ana=%dmV\n", voltage_dig, voltage_mV); + if(voltage_mV < MV_ONE_IS_PLAYING) + { + if(false == is_busy) + { + Serial.println("At least one player is in busy mode (Playing or SD card problem?)."); + } + is_busy = true; + } + else + { + if(true == is_busy) + { + Serial.println("All players off now."); + } + is_busy = false; + is_playing = false; + myDFPlayer.stop(); + // myDFPlayer.sleep(); + } +} + +void play_sequence(void) +{ + static unsigned long start_playing_ms = 0; + + if(true == button_stop_pressed) + { + myDFPlayer.stop(); + // myDFPlayer.sleep(); + is_playing = false; + last_move_ms = 0; + there_was_no_movement_in_between = true; + Serial.println("All players stopped."); + } + else + { + if(true == is_playing) + { + if(MS_MAX_PLAYING_LENGTH < millis()-start_playing_ms){ + is_playing = false; + myDFPlayer.stop(); + // myDFPlayer.sleep(); + } + } + else + { + //Serial.println("All players still off ."); + if(true == button_play_pressed || true == movement ) + { + Serial.println("All players starting now."); + myDFPlayer.play(); + Serial.println("All players started."); + start_playing_ms = millis(); + is_playing = true; + } + } + } + + button_play_pressed = false; + button_stop_pressed = false; + movement = false; +} + +void set_leds(void) +{ + static unsigned long last_update_blue_led = 0; + bool next_play_possible = false; + + if(millis() - last_update_blue_led > 1000) + { + next_play_possible = next_playing_possible; + last_update_blue_led = millis(); + } + + if(is_playing == true) + { + digitalWrite(blue_led_pin, HIGH); + } + else + { + if(next_play_possible == true) + { + digitalWrite(blue_led_pin, HIGH); + } + else + { + digitalWrite(blue_led_pin, LOW); + } + } + + + if(there_was_no_movement_in_between == false) + { + digitalWrite(red_led_pin, HIGH); + } + else + { + digitalWrite(red_led_pin, LOW); + } + + digitalWrite(green_led_pin,HIGH); + + +}