2018年6月19日 星期二

arduino_nano+0.96OLED顯示

完成品如右側顯示,左側是arduino uno,整體而言加了擴充版還是比原來uno小,未來覺得可以推廣nano+擴充版就好。
這次主要想讓整個儀器比較小一點,所以使用arduino_nano這個比較小的板子,配上擴充版,其實整體而言好像比uno更便宜而且好用,唯一要擔心的可能是容量問題(如果是ATMEGA328P的flash應該都是32kb所以一樣大沒問題),還有他要多安裝一個軟體,Arduino UNO 相容版(CH341) Windows 驅動程式(點此下載)

nano的說明可以參考這篇文章
小狐狸事務所-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

沒有留言:

張貼留言