显示Arduino OLED中的度数符号

问题描述 投票:-2回答:1

要显示在OLED上绘制的度数符号,您可以使用

display.print((char)的247); //度符号

例:

void loop(void){

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);
}
c arduino
1个回答
2
投票

The documentation说:

每个文件名都以面部名称(“FreeMono”,“FreeSerif”等)开头,后跟样式(“粗体”,“倾斜”,无等),字体大小(以9,12,18和提供24个点大小)和“7b”表示它们包含7位字符(ASCII码“”到“〜”); 8位字体(支持符号和/或国际字符)尚未提供,但可能会在以后提供。

换句话说,默认情况下,字体不支持度数符号(U + 00B0,°)。

当然,没有什么可以阻止你重新定义其中一个作为.h文件中与你想要使用的字体相对应的度数符号 - 特别是制作现有文件的副本,重命名副本,并替换一个使用度数符号不需要的ASCII字符。我建议替换`(ASCII代码96),因为它非常类似于更常用的撇号'(ASCII代码39)。

更简单的选择是使用display.drawCircle(xcenter, ycenter, radius, WHITE);在正确的位置绘制一个小圆圈(例如,半径1,2或3像素)。毕竟,度数字形只是一个小圆圈 - 考虑例如25°C或77°F。

对于更复杂的字形,如果您不想创建自己的字体.h文件,则可以使用display.drawBitmap()界面。检查并试验the Adafruit example了解详情。

您可以使用GitHub上的image2cpp网页生成Arduino数据数组。它还支持字体格式,因此您可以使用它来生成度数符号字形的数据,只需在该页面上“绘制”即可。

© www.soinside.com 2019 - 2024. All rights reserved.