亲,“电路城”已合并升级到更全、更大、更强的「新与非网」。点击查看「新与非网」

本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于 ATtiny13 的 PoV 展示

发布时间:2021-07-17
分享到:

基于 ATtiny13 的 PoV 展示

发布时间:2021-07-17
分享到:

该项目是一个使用ATtiny13的PoV显示器。PoV显示器基本上是一堆闪烁的LED。

组件

电路图(下载PCB文件

为ATtiny13设置Arduino IDE

要给微控制器ATtiny13编程,需要另一个Arduino,类似Arduino Nano或Arduino Uno。

1、下载并安装ArduinoIDE

2、使用USB电缆将Arduino Nano/Uno连接到计算机。

打开工具->电路板并选择您的电路板(Uno/Nano not ATtiny13)。

3、需将Arduino转换成程序

(1)在Arduino IDE:打开文件->示例->11.ArduinoISP->ArduinoIS

(2)点击上传按钮,如果上传成功,即可以使用Arduino对其他微控制器进行编程。

(3)要在ArduinoIDE上安装ATtiny13的硬件包,因为默认情况下IDE不支持ATtiny13。

         打开文件->首选项->其他Boards Manager URL

(4)粘贴:https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json

(5)打开工具->线路板->线路板管理器,从列表中找到MicroCore并单击install。

(6)从Arduino IDE中选择ATtiny13

         选择Tools(工具)->Board(电路板)->MicroCore(微核心)->ATtiny13(操作)

(7)需要在ArduinoIDE中再改变几个选项

  • 开放式工具
  • 并设置以下值

编程ATtiny13

将ATtiny连接到Arduino,如下所示(在ATtiny中,针脚1将用点标记。)

将引导加载程序烧到ATtiny13

单击工具->刻录引导加载程序(这是一个一次性的设置,你不必每次上传代码到ATtiny时都重复它)

这将把引导加载程序烧到ATtiny,现在可以使用ArduinoIDE上传程序到ATtiny。

将PoV程序上载到ATtiny

在Arduino中打开一个新草图。

复制代码并将其粘贴到新创建的草图中。

如果要更改此行的文本:displayString("HELLO 123 "); // 替换为文本

根据要使用的电机的速度,您可能需要调整代码、更新变量DELAY\u TIME和CHAR\u BREAK

标记

不是用矩阵来表示字符,而是用数组来表示字符。我们的PoV显示有5行5列,所以我们将使用长度为5的数组。

数组中的每个元素都会告诉我们是否需要打开特定的led。

我们为每个LED分配一个数字(枚举),这些数字将是2的幂。

这些数字有一个特殊性,不管是什么组合,如果你把它们加起来,你会得到一个唯一的数字。

例如:如果我们把2,4和8加起来,我们就得到14,没有其他这些数字的组合会产生14。

如果LED熄灭,则用0表示。

让我们看看如何表示字母“A”。

在第一列中,我们必须关闭LED1并打开所有其他的。因此,我们可以用0(LED1关闭)+2+4+8+16=30来表示它。

阵列中的元素将是:

很简单,你对LED的数字和枚举进行位“与”运算,如果结果是枚举,那么我们需要打开相应的LED。
让我们考虑30号。

这个概念通常称为标记枚举

你可以添加的不仅仅是字母和数字。

手动生成这些数组很困难。所以我做了两个应用程序而不是一个。

第一个是写在序言,它是专门为这个项目,它支持多达5个LED。

第二个是用Angular编写的,它可以支持n个led,

 

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论