如同上一篇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-
這個技術可以用在娘娘上嗎