標題: oled arduino [打印本頁]

作者: NEVERNEVER    時間: 2025-4-8 15:27
標題: oled arduino
0.96的oled為啥用u8g2的庫能點亮,用1306的庫一直亮不了屏,掃描地址也出不來

作者: NEVERNEVER    時間: 2025-4-8 15:30
#include <Arduino.h>
#include <U8g2lib.h>
#include <Wire.h>

//iic驅(qū)動方式
U8G2_SSD1306_128X64_NONAME_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);   

void setup(void) {
  u8g2.begin();
}

uint8_t m = 24;

void loop(void)
{
  char m_str[3];
  strcpy(m_str, u8x8_u8toa(m, 2));    /* convert m to a string with two digits */
  u8g2.firstPage();
  do {
    u8g2.setFont(u8g2_font_logisoso62_tn);
    u8g2.drawStr(0,63,"9");
    u8g2.drawStr(33,63,":");
    u8g2.drawStr(50,63,m_str);
  }

  while ( u8g2.nextPage() );
  delay(2000);
  m++;
  if ( m == 60 )
    m = 0;
}
用這個可以點亮
#include <SPI.h>
#include <Wire.h>
#include "Adafruit_GFX.h"
#include "Adafruit_SSD1306.h"
#define SCREEN_WIDTH 128
#define SCREEN_HIGHT 64
#define OLED_REST -1
#define SCREEN_ADDRESS 0x78
Adafruit_SSD1306 display(SCREEN_WIDTH,SCREEN_HIGHT,&Wire,OLED_REST);
void setup()
{
    Serial.begin(9600);
    if(!display.begin(SSD1306_SWITCHCAPVCC,SCREEN_ADDRESS))
    {
      Serial.println(F("ssd1306 allocation failed"));
    }
    display.clearDisplay();
    display.setCursor(0,28);
    display.setTextSize(1);
    display.println(123456789);
    display.display();
    delay(2000);
   
}

void loop() {
}
這個不行




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1