From 61ed743ac0e63803588829b1c3055173e4c127f8 Mon Sep 17 00:00:00 2001 From: Stefano Guglielmetti Date: Wed, 30 Dec 2020 15:06:22 +0100 Subject: [PATCH] Update examples --- .../split_flap_serial.ino} | 38 +---------- examples/split_flap_song/split_flap_song.ino | 66 +++++++++++++++++++ 2 files changed, 67 insertions(+), 37 deletions(-) rename examples/{serial_flap_display/serial_flap_display.ino => split_flap_serial/split_flap_serial.ino} (69%) create mode 100644 examples/split_flap_song/split_flap_song.ino diff --git a/examples/serial_flap_display/serial_flap_display.ino b/examples/split_flap_serial/split_flap_serial.ino similarity index 69% rename from examples/serial_flap_display/serial_flap_display.ino rename to examples/split_flap_serial/split_flap_serial.ino index bab85a9..4234ce8 100644 --- a/examples/serial_flap_display/serial_flap_display.ino +++ b/examples/split_flap_serial/split_flap_serial.ino @@ -33,8 +33,6 @@ void setup() { ; // wait for serial port to connect. Needed for native USB } Serial.begin(115200); - - } void loop() { @@ -59,40 +57,6 @@ void loop() { } if (digitalRead(RESET_PIN) == LOW) { - // display.reset(); - // display.print("LAAZ"); - - - // display.flap(); - // delay(LONG_NOTE); - // display.flap(); - // delay(LONG_NOTE); - - // display.flap(); - // delay(SHORT_NOTE); - // display.flap(); - // delay(SHORT_NOTE); - // display.flap(); - // delay(LONG_NOTE); - - // display.flap(); - // delay(SHORT_NOTE); - // display.flap(); - // delay(SHORT_NOTE); - // display.flap(); - // delay(SHORT_NOTE); - // display.flap(); - // delay(LONG_NOTE); - - // display.flap(); - // delay(SHORT_NOTE); - // display.flap(); - // delay(LONG_NOTE); - - // delay(5000); - - display.print('2'); + display.reset(); } - - // display.print('2'); } diff --git a/examples/split_flap_song/split_flap_song.ino b/examples/split_flap_song/split_flap_song.ino new file mode 100644 index 0000000..316f4b8 --- /dev/null +++ b/examples/split_flap_song/split_flap_song.ino @@ -0,0 +1,66 @@ +#include + +// Delay between palette flaps. 80 is a safe value +#define FLAP_DELAY 80 + +// Reset button pin. Doesn't require additional pull up resistors +#define BUTTON_PIN 12 + +// Number of display letters +#define DISPLAY_LENGTH 2 + +#define LONG_NOTE 500 +#define SHORT_NOTE 250 + +// Relay pins of the single letters +int letterPins[] = {10, 11}; + +// Hall sensor pins of the single letters +// They must follow the same order of letterPins +int hallPins[] = {6, 7}; + +// Buffer used to send the serial data to the display +char buf[DISPLAY_LENGTH]; + +// Initialize the display object +SplitFlapDisplay display(DISPLAY_LENGTH, letterPins, hallPins, FLAP_DELAY); + +void setup() { + /// Initialize the reset pin + pinMode(BUTTON_PIN, INPUT_PULLUP); +} + +void loop() { + display.refresh(); + + if (digitalRead(BUTTON_PIN) == LOW) { + + display.flap(); + delay(LONG_NOTE); + display.flap(); + delay(LONG_NOTE); + + display.flap(); + delay(SHORT_NOTE); + display.flap(); + delay(SHORT_NOTE); + display.flap(); + delay(LONG_NOTE); + + display.flap(); + delay(SHORT_NOTE); + display.flap(); + delay(SHORT_NOTE); + display.flap(); + delay(SHORT_NOTE); + display.flap(); + delay(LONG_NOTE); + + display.flap(); + delay(SHORT_NOTE); + display.flap(); + delay(LONG_NOTE); + + delay(5000); + } +}