這次主要想讓整個儀器比較小一點,所以使用arduino_nano這個比較小的板子,配上擴充版,其實整體而言好像比uno更便宜而且好用,唯一要擔心的可能是容量問題(如果是ATMEGA328P的flash應該都是32kb所以一樣大沒問題),還有他要多安裝一個軟體,Arduino UNO 相容版(CH341) Windows 驅動程式(點此下載)
小狐狸事務所-Arduino Nano 開機測試
接下來0.96吋的oled顯示,我一樣丟"arduino 0.96 led"進去餵狗,找到這些文章
Arduino通過I2C(SSD1306)驅動0.96寸12864OLED
阿玉maker研究區-09-OLED顯示器
然後本來想顯示中文,可是目前失敗中,未來可參考這些文章持續改進
Arduino Uno 驱动OLED进阶 显示中英文字
Step By Step系列 - 番外篇 OLED圖片取檔方法, 使用LCD Assistant
運用SSD1306 OLED模組顯示圖像
使用 LCD Assistant轉換字體
发一个 绘图 Adafruit GFX图形库(這個感覺很厲害,所以備份了文章內容,以後應該用的到)
總之最後就可以顯示我要的訊息了
以下是我修改的有關0.96吋oled的顯示部分
需要準備的東西
1.安裝一個軟體,Arduino UNO 相容版(CH341) Windows 驅動程式(點此下載)
2.安裝新的Library程式庫
Adafruit_SSD1306
Adafruit-GFX-Library
3.把下面的程式碼倒進去就可以了
--------------以下是程式碼部分--------------
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
//OLED設定
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
//螢幕設定,定義顯示高度跟寬度
#define LOGO16_GLCD_HEIGHT 16
#define LOGO16_GLCD_WIDTH 16
#if (SSD1306_LCDHEIGHT != 32)
#error("Height incorrect, please fix Adafruit_SSD1306.h!");
#endif
void setup() {
Serial.begin(9600);
// by default, we'll generate the high voltage from the 3.3v line internally! (neat!)
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3D (for the 128x64)
// init done
display.clearDisplay();
}
void loop() {
//英文字符显示
display.setTextSize(1); //设置字体大小
display.setTextColor(WHITE); //设置字体颜色白色
display.setCursor(0,0); //设置字体的起始位置
display.println("test"); //输出字符并换行
display.setTextSize(2); //设置字体大小
display.print("Hello_world"); //输出文字
display.setTextColor(BLACK, WHITE); //设置字体黑色,字体背景白色
display.setCursor(72,8);
display.print("test"); //输出文字
display.display();
display.clearDisplay();
}
-------------------以下是露天網購材料與價錢,非廣告,僅供參考-------------
XTWduino nano V3.0 ATMEGA328P 改進板 90元
http://goods.ruten.com.tw/item/show?21519333276248
Arduino NANO UNO 多用 擴展板 48元
http://goods.ruten.com.tw/item/show?21550342023467
0.96寸 黃藍雙色 I2C IIC通信 12864 OLED液晶屏模塊 130元 (別家有120元的)
http://goods.ruten.com.tw/item/show?21715781107651
大大您好~
回覆刪除本人是新手,
請問Adafruit_SSD1306 display語法是甚麼意思呢?
感謝你解說。
那兩行是載入0.96吋oled並且重設螢幕的語法吧(我猜)
刪除因為很多時候我只是拷貝別人的案子,再進行整併而已,其實對每一行語法也不是很能夠全盤了解