猛禽洛的程式筆記庫

在Raspberry Pi中使用Java驅動SH1106 OLED螢幕

如同上一篇SSD1306一樣,本篇是驅動SH1106螢幕的方式,使用的邏輯都是差不多,但差在使用的套件包(驅動)不同。

請參照上一篇將Wiring Pi、I2C連接環境準備好。

I2C的連接方式:

SH1106 Raspberry Pi
GND 任一GND
VCC 任一3.3V
SCL SCL (Pin5)
SDA SDA (Pin3)

SH1106的I2C位址與SSD1306一樣預設都是3c,這邊的範例解析度也是128*64。

準備工作都完成後,即可進到Java專案環節。


首先在pom.xml中增加PI4J:

<dependencies>
  <dependency>
    <groupId>com.pi4j</groupId>
    <artifactId>pi4j-core</artifactId>
    <version>1.4</version>
  </dependency>
</dependencies>

如果專案有使用到module-info.java架構,記得把Lib加進去:

requires pi4j.core;

 

然後至GitHub下載SH1106的驅動:https://github.com/patrickkuo/SH1106

解壓縮後,將SH1106-master\src\main\kotlin\com\pat\driver\sh1106資料夾複製到專案中,如下:

因此套件是使用Kotlin撰寫,如果專案不認識的話就把Kotlin導入專案中,以module-info.java架構為例,增加kotlin與套件會使用到的logging:

requires kotlin.stdlib;
requires java.logging;

 

回到Java主程式中,即可開始使用:

import com.pat.driver.sh1106.SH1106;

try{
  SH1106 sh1106 = new SH1106();
  sh1106.clear();
  sh1106.drawImage(getImg("猛禽洛"), 0, 0);
  sh1106.update();
}catch (Exception e){
  e.printStackTrace();
}

使用上一篇建立BufferedImage的方式將影像顯示到螢幕上。

最終效果:

-END-

One comment

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *