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() {// 遍历每个引脚并进行操作,例如,打开或关闭LEDfor(int i = 0; i < num_pins; i++) {digitalWrite(pin_list[i], HIGH); // 打开LEDdelay(500); // 延时digitalWrite(pin_list[i], LOW); // 关闭LEDdelay(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秒}
}