美文网首页Arduino
Arduino Nano 驱动OLED滚动显示

Arduino Nano 驱动OLED滚动显示

作者: TonyCode | 来源:发表于2020-05-13 10:03 被阅读0次
    image

    尽管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)
    Arduino Nano

    2. 0.91寸OLED

    前面的章节中已经对0.96寸OLED进行了讲解,本篇我们使用0.91寸OLED屏,也是IIC通讯方式。其驱动芯片跟0.96寸OLED屏一样,都是SSD1306,区别在于0.96寸OLED为128x64个像素点,而0.91寸OLED则有128x32个像素点。

    0.91寸OLED

    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学习资料

    相关文章

      网友评论

        本文标题:Arduino Nano 驱动OLED滚动显示

        本文链接:https://www.haomeiwen.com/subject/iiignhtx.html