Arduino AtTiny85 使用SPI驱动8*8 LED点阵

上次分享了《用Arduino IDE USB 驱动 AtTiny 85》,这次记录一下使用Tiny85点亮LED点阵。

准备材料:

1. AtTiny 85芯片一只
2.8*8 LED Matrix一块
3.USB数据线一条

先说接线方式:

VCC——5V
GND——GNDDIN——PB1 MISO ( Master in Slave Out )
CS——PB3
CLK——PB2 SCK/ADC1

接线方式困扰我的是DIN针,之前一直是接在MOSI口上,想当然的理解为主机输出(哎,半路和尚老被欺负),外设输入,却怎么也显示不对;后来换过来试了一下,才正确输出,看来是自己理解的有错误:应该理解为主机(M)负责输出,外设(S)负责接收来自M的输出,不知道这样理解是否正确。

来个接线的图:

Led 点阵针脚接线方式
Led 点阵针脚接线方式
AtTiny85连接Led点阵接线2
AtTiny85连接Led点阵接线2
AtTiny85连接Led点阵接线1
AtTiny85连接Led点阵接线1

如果照着上图接的话,注意对应好颜色就可以了。

再来张运行中的:

Tiny85点亮LED点阵效果图
Tiny85点亮LED点阵效果图

目前只是实现了0-9几个数字的变化,并伴有一个刷新的效果
程序代码如下:

 

AtTiny85是不能直接使用Arduino的SPI库的,这个问题困扰了我很长时间,最后在谷歌找到了答案,并且在github找到了这个类库

然后分享一下用到的取模软件:LED Matrix Animator,感谢geek-workshop@幻生幻灭,虽然使用的板子不一样 :–)

最后看下动画效果:

Leave a Reply

Your email address will not be published. Required fields are marked *

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。