Display SSD1306 for ESP32
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
2.0 KiB

  1. #include <SPI.h>
  2. #include <Wire.h>
  3. #include <Adafruit_GFX.h>
  4. #include <Adafruit_SSD1306.h>
  5. #define __DEBUG__
  6. #include "DisplayESP32_SSD1306.h"
  7. int i = 0;
  8. int multiplier = 1;
  9. Screen screen;
  10. Keyboard keyboard(13, 12, 14, 27, 30, &screen);
  11. void setup(){
  12. screen.configure(true, 0x3C);
  13. screen.createMenu(128, 13); //Menu 0
  14. screen.createMenu(128, 13); //Menu 1
  15. /*String title, char graphType, double xpos, double ypos, double width, double height,
  16. double yminimum, double ymaximum, double xminimum, double xmaximum, double yStepSize, double xStepSize, double digit*/
  17. screen.createVGraph("Grafica 1", 25, 60, 40, 40, 0, 100, 10, 0); //Graph 0
  18. screen.createHGraph("Grafica 2", 10, 40, 100, 20, 0, 100, 10, 0); //Graph 1
  19. screen.createCGraph("Grafica 3", 30, 50, 75, 30, 0, 100, 0, 1000, 25, 250, 0); //Graph 2
  20. screen.createModifier("Modify variable", &multiplier, 5, 1, 1);
  21. screen.createOption(0, "Vertical graph", 1, 0);
  22. //Creates the first option in Menu 0, directing to a graph (contentType = 1 (Graph)), 0 (Graph 0)
  23. screen.createOption(0, "Horizontal graph", 1, 1);
  24. screen.createOption(0, "Cartesian graph", 1, 2);
  25. screen.createOption(0, "Extra option", 0, 1);
  26. screen.createOption(1, "Test", 1, 3);
  27. screen.createOption(1, "Working?", 2, 2);
  28. screen.createOption(1, "Modify variable", 2, 0);
  29. // screen.increasePos();
  30. // screen.increasePos();
  31. // screen.goTo();
  32. // screen.graphAssignValue(2, 50);
  33. // screen.goBack();
  34. // screen.increasePos();
  35. // screen.goTo();
  36. // screen.goBack();
  37. // screen.decreasePos();
  38. }
  39. void loop(){
  40. screen.control(); //Controls the screen and redraws if needed
  41. keyboard.control();
  42. if(i <= 100){
  43. screen.graphAssignValue(1, i); //Assigning a demo value to Graph 1
  44. screen.graphAssignValue(2, i); //Assigning a demo value to Graph 2
  45. i += multiplier;
  46. }
  47. else
  48. i = 0;
  49. delay(REFRESH); //Refresh time (approx)
  50. }