From 86d9bf1fa7f83802fbe28e5da2e7306b41325742 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Sun, 8 May 2022 20:08:38 +0300 Subject: [PATCH] arduino-tx : update --- examples/arduino-tx/arduino-tx.ino | 99 ++++++++++++++++++++---------- 1 file changed, 66 insertions(+), 33 deletions(-) diff --git a/examples/arduino-tx/arduino-tx.ino b/examples/arduino-tx/arduino-tx.ino index eb9ef73..3545cb4 100644 --- a/examples/arduino-tx/arduino-tx.ino +++ b/examples/arduino-tx/arduino-tx.ino @@ -1,47 +1,80 @@ #include "ggwave.h" -#define kPinLed0 13 -#define kPinSpeaker 10 +const int kPinLed0 = 13; +const int kPinSpeaker = 10; +const int kPinButton0 = 2; +const int kPinButton1 = 4; void setup() { pinMode(kPinLed0, OUTPUT); pinMode(kPinSpeaker, OUTPUT); + pinMode(kPinButton0, INPUT); + pinMode(kPinButton1, INPUT); + + delay(3000); + + digitalWrite(kPinLed0, HIGH); + GGWave::send(kPinSpeaker, "Hello!", GGWave::TX_ARDUINO_512_FASTEST); + digitalWrite(kPinLed0, LOW); + + delay(2000); + + digitalWrite(kPinLed0, HIGH); + GGWave::send(kPinSpeaker, "This is a", GGWave::TX_ARDUINO_512_FASTEST); + GGWave::send(kPinSpeaker, "ggwave demo", GGWave::TX_ARDUINO_512_FASTEST); + digitalWrite(kPinLed0, LOW); + + delay(2000); + + digitalWrite(kPinLed0, HIGH); + GGWave::send(kPinSpeaker, "The arduino", GGWave::TX_ARDUINO_512_FASTEST); + delay(200); + GGWave::send(kPinSpeaker, "transmits data", GGWave::TX_ARDUINO_512_FASTEST); + delay(200); + GGWave::send(kPinSpeaker, "using sound", GGWave::TX_ARDUINO_512_FASTEST); + delay(200); + GGWave::send(kPinSpeaker, "through a buzzer", GGWave::TX_ARDUINO_512_FASTEST); + digitalWrite(kPinLed0, LOW); + + delay(1000); + + digitalWrite(kPinLed0, HIGH); + GGWave::send(kPinSpeaker, "The sound is", GGWave::TX_ARDUINO_512_FASTEST); + delay(200); + GGWave::send(kPinSpeaker, "decoded in a", GGWave::TX_ARDUINO_512_FASTEST); + delay(200); + GGWave::send(kPinSpeaker, "web page.", GGWave::TX_ARDUINO_512_FASTEST); + digitalWrite(kPinLed0, LOW); + + delay(1000); + + digitalWrite(kPinLed0, HIGH); + GGWave::send(kPinSpeaker, "Press the button!", GGWave::TX_ARDUINO_512_FASTEST); + digitalWrite(kPinLed0, LOW); } -char txt[64]; // used for printf +char txt[16]; +int pressed = 0; +bool isDown = false; void loop() { - char tx[16]; - memset(tx, 0, sizeof(tx)); - strcpy(tx, "Hello World!"); + int but0 = digitalRead(kPinButton0); + int but1 = digitalRead(kPinButton1); - digitalWrite(kPinLed0, HIGH); - GGWave::send(kPinSpeaker, tx, GGWave::TX_ARDUINO_512_FASTEST); - digitalWrite(kPinLed0, LOW); + if (but1 == LOW && isDown == false) { + delay(200); + ++pressed; + isDown = true; + } else if (but1 == HIGH) { + isDown = false; + } - delay(250); + if (but0 == LOW) { + snprintf(txt, 16, "Pressed: %d", pressed); - digitalWrite(kPinLed0, HIGH); - GGWave::send(kPinSpeaker, "This is GGWave!!", GGWave::TX_ARDUINO_512_FASTEST); - digitalWrite(kPinLed0, LOW); - - delay(250); - - digitalWrite(kPinLed0, HIGH); - GGWave::send(kPinSpeaker, "This is NORMAL", GGWave::TX_ARDUINO_512_NORMAL); - digitalWrite(kPinLed0, LOW); - - delay(250); - - digitalWrite(kPinLed0, HIGH); - GGWave::send(kPinSpeaker, "This is FAST", GGWave::TX_ARDUINO_512_FAST); - digitalWrite(kPinLed0, LOW); - - delay(250); - - digitalWrite(kPinLed0, HIGH); - GGWave::send(kPinSpeaker, "This is FASTEST", GGWave::TX_ARDUINO_512_FASTEST); - digitalWrite(kPinLed0, LOW); - - delay(5000); + digitalWrite(kPinLed0, HIGH); + GGWave::send(kPinSpeaker, txt, GGWave::TX_ARDUINO_512_FASTEST); + digitalWrite(kPinLed0, LOW); + pressed = 0; + } }