#include <Arduino.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
Adafruit_SSD1306 display(128, 64, &Wire, -1);
#define DAC_PIN 25
const uint8_t signalData[] = {
128, 140, 152, 164, 175, 185, 194, 202, 209, 214,
218, 220, 221, 220, 218, 214, 209, 202, 194, 185,
175, 164, 152, 140, 128, 115, 103, 91, 80, 70,
61, 53, 46, 41, 37, 35, 34, 35, 37, 41,
46, 53, 61, 70, 80, 91, 103, 115,
128, 140, 152, 164, 175, 185, 194, 202, 209, 214,
218, 220, 221, 220, 218, 214, 209, 202, 194, 185,
175, 164, 152, 140, 128, 115, 103, 91, 80, 70,
61, 53, 46, 41, 37, 35, 34, 35, 37, 41,
46, 53, 61, 70, 80, 91, 103, 115,
128, 140, 152, 164, 175, 185, 194, 202, 209, 214,
218, 220, 221, 220, 218, 214, 209, 202, 194, 185,
175, 164, 152, 140, 128, 115, 103, 91, 80, 70,
61, 53, 46, 41, 37, 35, 34, 35, 37, 41,
46, 53, 61, 70, 80, 91, 103, 115
};
void setup() {
Serial.begin(9600);
pinMode(DAC_PIN, OUTPUT);
Wire.begin(15, 2);
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("Error al iniciar"));
for(;;);
}
display.display();
delay(300);
display.clearDisplay();
}
void loop() {
display.clearDisplay();
display.setCursor(0,0);
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
for (int i = 0; i < sizeof(signalData) - 1; i++) {
int y1 = map(signalData[i], 0, 255, 64 - 1, 0);
int y2 = map(signalData[i + 1], 0, 255, 64 - 1, 0);
display.drawLine(i, y1, i + 1, y2, SSD1306_WHITE);
dacWrite(DAC_PIN, signalData[i]);
delay(100);
}
display.display();
delay(300);
}
Loading
esp32-devkit-c-v4
esp32-devkit-c-v4
Loading
ssd1306
ssd1306