1.连接方法
挨个点亮每个灯
#include <Arduino.h>
int pin_list[] = {4, 5, 19, 21, 22, 2, 15, 18};
int num_pins = sizeof(pin_list) / sizeof(pin_list[0]); // 计算数组中的元素数量
void setup() {
// 设置每个引脚为输出
for(int i = 0; i < num_pins; i++) {
pinMode(pin_list[i], OUTPUT);
}
}
void loop() {
// 遍历每个引脚并进行操作,例如,打开或关闭LED
for(int i = 0; i < num_pins; i++) {
digitalWrite(pin_list[i], HIGH); // 打开LED
delay(500); // 延时
digitalWrite(pin_list[i], LOW); // 关闭LED
delay(500); // 延时
}
}
从1-2-3-4…-9-0 重复显示
#include <Arduino.h>
// 定义连接到数码管段的引脚
int pins[] = {4, 5, 19, 21, 22, 2, 15, 18};
int numPins = sizeof(pins) / sizeof(pins[0]);
// 数码管的0-9数字的段编码,假定为共阴极
// 例如:数字1只点亮b和c段,所以数组是{0,1,1,0,0,0,0,0}
int numbers[10][8] = {
{1,1,1,1,1,1,0,0}, // 0
{0,1,1,0,0,0,0,0}, // 1
{1,1,0,1,1,0,1,0}, // 2
{1,1,1,1,0,0,1,0}, // 3
{0,1,1,0,0,1,1,0}, // 4
{1,0,1,1,0,1,1,0}, // 5
{1,0,1,1,1,1,1,0}, // 6
{1,1,1,0,0,0,0,0}, // 7
{1,1,1,1,1,1,1,0}, // 8
{1,1,1,1,0,1,1,0} // 9
};
// 这个函数负责发送正确的段编码到数码管的引脚
void displayNumber(int num) {
for (int i = 0; i < numPins; i++) {
digitalWrite(pins[i], numbers[num][i]);
}
}
void setup() {
// 初始化所有连接的引脚为输出模式
for (int i = 0; i < numPins; i++) {
pinMode(pins[i], OUTPUT);
}
}
void loop() {
// 遍历0到9的数字,并显示它们
for (int num = 0; num < 10; num++) {
displayNumber(num);
delay(1000); // 等待1秒
}
}