|
/* |
|
MIT License |
|
|
|
Copyright (c) 2018-2019, Alexey Dynda |
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy |
|
of this software and associated documentation files (the "Software"), to deal |
|
in the Software without restriction, including without limitation the rights |
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|
copies of the Software, and to permit persons to whom the Software is |
|
furnished to do so, subject to the following conditions: |
|
|
|
The above copyright notice and this permission notice shall be included in all |
|
copies or substantial portions of the Software. |
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
|
SOFTWARE. |
|
|
|
#include "lcdgfx.h" |
|
|
|
DisplaySSD1306_128x64_I2C display(-1, {1, 0x3C, 4, 5, 0}); // or (-1,{busId, addr, scl, sda, frequency}). This line is suitable for most platforms by default |
|
// The parameters are RST pin, BUS number, CS pin, DC pin, FREQ (0 means default), CLK pin, MOSI pin |
|
|
|
|
|
uint32_t lastMillis; |
|
uint8_t hours = 10; |
|
uint8_t minutes = 35; |
|
uint8_t seconds = 0; |
|
|
|
int LED = 16; |
|
String serialval = "69"; |
|
|
|
#include "BluetoothSerial.h" |
|
BluetoothSerial SerialBT; |
|
|
|
void printSeconds() |
|
{ |
|
if (seconds & 1) |
|
{ |
|
display.printFixed(54, 8, ":", STYLE_NORMAL); |
|
} |
|
else |
|
{ |
|
display.printFixed(54, 8, " ", STYLE_NORMAL); |
|
} |
|
} |
|
|
|
void printMinutes() |
|
{ |
|
char minutesStr[3] = "00"; |
|
minutesStr[0] = '0' + minutes / 10; |
|
minutesStr[1] = '0' + minutes % 10; |
|
display.printFixed(78, 8, minutesStr, STYLE_NORMAL); |
|
} |
|
|
|
void printHours() |
|
{ |
|
char hoursStr[3] = "00"; |
|
hoursStr[0] = '0' + hours / 10; |
|
hoursStr[1] = '0' + hours % 10; |
|
display.printFixed(6, 8, hoursStr, STYLE_NORMAL); |
|
} |
|
|
|
void setup() |
|
{ |
|
pinMode(LED, OUTPUT); |
|
display.begin(); |
|
display.fill(0x00); |
|
display.setFixedFont(comic_sans_font24x32_123); |
|
display.print(42); |
|
|
|
Serial.begin(115200); |
|
/* If no name is given, default 'ESP32' is applied */ |
|
/* If you want to give your own name to ESP32 Bluetooth device, then */ |
|
/* specify the name as an argument SerialBT.begin("myESP32Bluetooth"); */ |
|
SerialBT.begin("turn-a-round-table"); |
|
Serial.println("Bluetooth Started! Ready to pair..."); |
|
|
|
} |
|
|
|
void loop() |
|
{ |
|
if (SerialBT.available()){ |
|
serialval = SerialBT.readString(); |
|
|
|
} |
|
display.fill(0x00); |
|
display.setTextCursor(0,0); |
|
display.print(serialval.toInt()); |
|
delay(1000); |
|
} |
ESP32 Pinout Reference: Which GPIO pins should you use?
(https://randomnerdtutorials.com/esp32-pinout-reference-gpios/)