儘管Uno R3開發板是Arduino家族中入門級別的首選,但無奈它的體積實在有些大,我們實際中很多設計都需要考慮外形結構,小巧便捷而又功能齊全的Arduino Nano開發板就脫穎而出了。本篇我們使用Arduino Nano開發板來驅動0.91寸OLED滾動顯示。
1. Arduino Nano開發板
Arduino Nano開發板是基於ATmega328的小巧且完整的Arduino系列開發板,兼容Arduino程序,你可以在官網找到它的詳細資料。
它的主要特點如下:
- 微控制器:ATmega328
- 工作電壓:5V
- Flash:32KB,其中2KB用於引導程序
- SRAM:2KB
- 時鐘速度:16M
- 模擬輸入引腳:8個
- EEPROM:1KB
- IO引腳電流:40mA
- 數字IO:22個(其中6個是PWM)
2. 0.91寸OLED
前面的章節中已經對0.96寸OLED進行了講解,本篇我們使用0.91寸OLED屏,也是IIC通訊方式。其驅動芯片跟0.96寸OLED屏一樣,都是SSD1306,區別在於0.96寸OLED爲128x64個像素點,而0.91寸OLED則有128x32個像素點。
3. 實驗材料
- Naon開發板
- 配套USB數據線
- 0.91寸OLED屏
- 杜邦線
4. 實驗步驟
1. 根據原理圖搭建電路圖。
OLED屏的VCC、GND分別連接Nano開發板的3.3V、GND。OLED屏的SDA、SCL分別連接開發板的A4、A5引腳。
實驗原理圖如下圖所示:
實物連接圖如下圖所示:
2. 新建sketch,拷貝如下代碼替換自動生成的代碼並進行保存。
/*
0.91OLED滾動顯示
*/
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(128, 32, &Wire, OLED_RESET);
void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.setTextColor(WHITE);//開像素點發光
display.clearDisplay();//清屏
display.setTextSize(2); //設置字體大小
display.setCursor(0, 8);//設置顯示位置
display.println("TonyCode");
display.display(); // 開顯示
}
void loop() {
display.startscrollright(0x00, 0x0F);
delay(5000);
display.stopscroll();
display.startscrollleft(0x00, 0x0F);
delay(1000);
display.stopscroll();
}
3. 連接開發板,設置好對應端口號和開發板類型,進行程序下載。
值得注意的是,某寶買到的Nano開發板,開發板及處理器按下圖選擇,起碼我手中的是這樣的,我試着將處理器選擇ATmage328P,結果未能成功下載,而選擇帶有Old Bootloader的則正常下載。
5. 實驗現象
程序中使用了OLED驅動庫的左移和右移函數,開啓移動後進行延時操作,顯示內容進行滾動,直到調用停止滾動函數。
關注公衆號「TonyCode」,更多精彩內容分享。
回覆「1024」獲取1000G學習資料。
個人博客