Skip to content

Latest commit

 

History

History

EXP_4

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

实验 4:高级控制

预备知识

OLED

  • 车上搭载的 OLED 为 0.96 寸,128×64 分辨率,使用 I2C 总线进行通讯。

  • 我们使用库 SSD1306 来进行驱动。先新建一个对象:

    SSD1306 oled(OLED_MOSIOLED_CLKOLED_DCOLED_RESET0);
  • 然后基本的操作为清除显示数据和将缓冲区的数据显示出来:

    oled.clear();
    oled.display();
  • 将字符串写入缓冲区的操作为:

    oled.drawstring(char_numline_num"motor");

    第一个参数为从该行第几位开始显示,第二个参数为在第几行显示。

电压

  • 锂电池标准电压为 3.7 V,当电池充满电时为 4.2 V,最低允许放电到 3.6 V,建议放电到 3.7 V 时进行充电(以上均为无负荷时测量值),车上使用的电池为两节串联,也就是充满电理论值为 8.4 V,放电到 7.4 V 时建议进行充电。

  • 因为该电池无保护板进行电池管理,故请同学认真对待电压问题。

  • 电压采集是使用 A0 口,转换函数为: $$ V=\frac{5.371\times D}{100}\ \ \ \ \text{(V单位为伏特)} $$

任务

  • 实现 OLED 显示的驱动,将电压值输出到屏幕上,然后改进显示方式将其它调试参数也一并打印到上面。
  • 当电压低于 7.4 V 时停止使用大功率用电器,如电机与舵机,提醒去充电。
  • 整理代码,理清小车的基本控制思路。