#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <qrcode.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void setup(void) {
Serial.begin(115200);
if(!display.begin(SSD1306_I2C_ADDRESS, OLED_RESET)) {
Serial.println(F("SSD1306 allocation failed"));
for(;;);
}
display.display();
delay(2000);
display.clearDisplay();
QRCode qrcode;
uint8_t qrcodeBytes[qrcode_getBufferSize(1)];
qrcode_initText(&qrcode, qrcodeBytes, 1, ECC_LOW, "Hello, QRCode!");
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
for (uint8_t y = 0; y < qrcode.size; y++) {
for (uint8_t x = 0; x < qrcode.size; x++) {
if (qrcode_getModule(&qrcode, x, y)) {
display.drawPixel(x, y, SSD1306_WHITE);
}
}
}
display.display();
}
void loop(void) {
// Your loop code here
}