// 一位共阴极数码管显示
int led_a=2;// 连接a 段数码管
int led_b=3;// 连接b 段数码管
int led_c=4;// 连接c 段数码管
int led_d=5;// 连接d 段数码管
int led_e=6;// 连接e 段数码管
int led_f=7;// 连接f 段数码管
int led_g=8;// 连接g 段数码管
int led_dp=9;// 连接dp 段数码管
void setup() {
int i;//定义变量
for(i=2;i<=9;i++)
{
pinMode(i,OUTPUT);//设置2~9 引脚为输出模式
}
}
void loop() {
digital_0();//显示数字0
delay(1000);//延时1s
digital_1();//显示数字1
delay(1000);//延时1s
digital_2();//显示数字2
delay(1000); //延时1s
digital_3();//显示数字3
delay(1000); //延时1s
digital_4();//显示数字4
delay(1000); //延时1s
digital_5();//显示数字5
delay(1000); //延时1s
digital_6();//显示数字6
delay(1000); //延时1s
digital_7();//显示数字7
delay(1000); //延时1s
digital_8();//显示数字8
delay(1000); //延时1s
digital_9();//显示数字9
delay(1000); //延时1s
}
void clearAll()
{
for(int j=2;j<=9;j++)//熄灭所有段
digitalWrite(j,LOW);
}
void digital_0(void) //显示数字0
{
clearAll();
digitalWrite(led_a,HIGH);
digitalWrite(led_b,HIGH);
digitalWrite(led_c,HIGH);
digitalWrite(led_d,HIGH);
digitalWrite(led_e,HIGH);
digitalWrite(led_f,HIGH);
}
void digital_1(void) //显示数字1
{
clearAll();
digitalWrite(led_b,HIGH);
digitalWrite(led_c,HIGH);
}
void digital_2(void) //显示数字2
{
clearAll();
digitalWrite(led_a,HIGH);
digitalWrite(led_b,HIGH);
digitalWrite(led_d,HIGH);
digitalWrite(led_e,HIGH);
digitalWrite(led_g,HIGH);
}
void digital_3(void) //显示数字3
{
clearAll();
digitalWrite(led_a,HIGH);
digitalWrite(led_b,HIGH);
digitalWrite(led_c,HIGH);
digitalWrite(led_d,HIGH);
digitalWrite(led_g,HIGH);
}
void digital_4(void) //显示数字4
{
clearAll();
digitalWrite(led_b,HIGH);
digitalWrite(led_c,HIGH);
digitalWrite(led_f,HIGH);
digitalWrite(led_g,HIGH);
}
void digital_5(void) //显示数字5
{
clearAll();
digitalWrite(led_a,HIGH);
digitalWrite(led_c,HIGH);
digitalWrite(led_d,HIGH);
digitalWrite(led_f,HIGH);
digitalWrite(led_g,HIGH);
}
void digital_6(void) //显示数字6
{
clearAll();
digitalWrite(led_a,HIGH);
digitalWrite(led_c,HIGH);
digitalWrite(led_d,HIGH);
digitalWrite(led_e,HIGH);
digitalWrite(led_f,HIGH);
digitalWrite(led_g,HIGH);
}
void digital_7(void) //显示数字7
{
clearAll();
digitalWrite(led_a,HIGH);
digitalWrite(led_b,HIGH);
digitalWrite(led_c,HIGH);
}
void digital_8(void) //显示数字8
{
clearAll();
digitalWrite(led_a,HIGH);
digitalWrite(led_b,HIGH);
digitalWrite(led_c,HIGH);
digitalWrite(led_d,HIGH);
digitalWrite(led_e,HIGH);
digitalWrite(led_f,HIGH);
digitalWrite(led_g,HIGH);
}
void digital_9(void) //显示数字8
{
clearAll();
digitalWrite(led_a,HIGH);
digitalWrite(led_b,HIGH);
digitalWrite(led_c,HIGH);
digitalWrite(led_d,HIGH);
digitalWrite(led_f,HIGH);
digitalWrite(led_g,HIGH);
}
ESP32系列(包括ESP32-S3)搭载Xtensa双核处理器,默认情况下Arduino框架仅使用单核运行用户代码,通过多核编程,可以充分利用硬件资源来提升系统响应和性能。
在本文中,先解释 MSB(最高有效位)和 LSB(最低有效位)的概念,以及 MSBFIRST 和 LSBFIRST。然后展示了 MSBFIRST 和 LSBFIRST 的使用如何影响移位寄存器的输出。
TB6612是一款双路H桥型的直流电机驱动芯片,可以驱动两个直流电机并且控制其转速与方向,输入电压在3V~12V,因此在集成化、小型化的电机控制系统中,它可以作为理想的电机驱动器件。
Arduino-ESP32项目提供的Preferences库是一个专为ESP32设计的非易失性存储解决方案,它替代了传统的Arduino EEPROM库,提供了更强大、更可靠的数据存储功能。
从一秒一秒的跳动齿条,到能“炫技”的飞返计时,再到用乐高拼出的“七段数码管”
专属教研服务系统,助您构建STEM课程体系,打造一站式教学环境。