要显示度数符号以在 OLED 上绘制,您可以使用
显示.print((char)247); // 度数符号
例子:
无效循环(无效){
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0,0);
display.clearDisplay();
display.print("Temperature: ");
display.print("23");
display.print((char)247); // degree symbol
display.println("C");
display.display();
delay(1000);
}
Run Code Online (Sandbox Code Playgroud)
文档说:
\n\n\n\n\n每个文件名以面部名称(\xe2\x80\x9cFreeMono\xe2\x80\x9d、\xe2\x80\x9cFreeSerif\xe2\x80\x9d 等)开头,后跟样式(\xe2\x80\x9cBold\xe2 \x80\x9d、\xe2\x80\x9cOblique\xe2\x80\x9d、无等)、字体大小(当前提供 9、12、18 和 24 点大小)和 \xe2\x80\x9c7b\ xe2\x80\x9d 表示它们包含 7 位字符(ASCII 代码 \xe2\x80\x9c \xe2\x80\x9d 到 \xe2\x80\x9c~\xe2\x80\x9d);8 位字体(支持符号和/或国际字符)尚未提供,但可能稍后提供。
\n
换句话说,\xc2\xb0字体默认不支持度数符号(U+00B0, )。
当然,没有什么可以阻止您将其中之一重新定义为 .h 文件中与您希望使用的字体相对应的度数符号 - 特别是,制作现有文件的副本、重命名该副本并替换一个不需要的 ASCII 字符与度数符号一起使用。我建议替换 `(ASCII 代码 96),因为它与更常用的撇号 \'(ASCII 代码 39)非常相似。
\n\n一个更简单的选择是使用 在正确的位置绘制一个小圆(例如,半径 1、2 或 3 个像素)display.drawCircle(xcenter, ycenter, radius, WHITE);。毕竟,度数字形只是一个小圆圈 - 考虑例如 25\xc2\xb0C 或 77\xc2\xb0F 的外观。
对于更复杂的字形,如果您不想创建自己的字体 .h 文件,则可以使用该display.drawBitmap()界面。检查并试验Adafruit 示例以了解详细信息。
您可以使用GitHub 上的image2cpp网页生成 Arduino 数据数组。它还支持字体格式,因此您可以使用它来生成度数符号字形的数据,只需在该页面上“绘制”它即可。
\n