Arduino跑马灯利用8*8点阵显示电压值代码
时间: 2024-06-08 07:11:17 浏览: 169
这是一个基于 Arduino 和 MAX7219 8x8 点阵模块的电压显示程序,可以显示来自模拟输入 A0 的电压值,并将其转换为马赛克形式的图案。
```
#include <LedControl.h>
LedControl lc=LedControl(12,11,10,1);
void setup() {
lc.shutdown(0,false); //打开点阵显示
lc.setIntensity(0,1); //设置亮度(0-15)
lc.clearDisplay(0); //清除显示
}
void loop() {
int val = analogRead(A0); //读取模拟输入A0的电压值
int mappedVal = map(val, 0, 1023, 0, 8); //将电压值映射到8个点阵的范围内
lc.clearDisplay(0); //清除显示
for(int i=0; i<mappedVal; i++) { //根据映射值点亮对应数量的LED
lc.setLed(0,i,0,true);
lc.setLed(0,7-i,0,true);
}
delay(100); //延时等待下一次读取
}
```
该程序使用 `LedControl` 库来控制 MAX7219 8x8 点阵模块。在 `setup()` 中,我们初始化了点阵显示,设置亮度和清除显示。在 `loop()` 中,我们读取模拟输入 A0 的电压值,并将其映射到 0-8 的范围内。然后,我们使用 `setLed()` 函数点亮对应数量的 LED,使得整个点阵显示成为一个马赛克形式的图案。最后,我们使用 `delay()` 函数等待下一次读取。
阅读全文