arduino按钮使用的两个小实验
一:按钮控制一个灯 
控制要求:按钮控制灯
实物连接图:
控制代码:

//智慧自动化2018.6.14 int key=7;//设置控制按键的数字IO脚 void setup() { pinMode(key,OUTPUT);//设置数字IO引脚为输出模式 } void loop() { int i;//定义发量 while(1) { i=analogRead(0);//读取模拟0口电压值 if(i>1000)//如果电压值大于1000 digitalWrite(key,HIGH);//设置第七引脚为高电平,点亮led灯 else digitalWrite(key,LOW);//设置第七引脚为低电平,熄灭led灯 } }
二:按钮生产随机数
控制要求:随机数生成
实物连接图:
控制代码:

//智慧自动化2018.6.14 int a=7; int b=6; int c=5; int d=10; int e=11; int f=8; int g=9; int dp=4; //显示数字1 void digital_1(void) { unsigned char j; digitalWrite(c,HIGH);//给数字接口5 引脚高电平,点亮c 段 digitalWrite(b,HIGH);//点亮b 段 for(j=7;j<=11;j++)//熄灭其余段 digitalWrite(j,LOW); digitalWrite(dp,LOW);//熄灭小数点DP 段 } //显示数字2 void digital_2(void) { unsigned char j; digitalWrite(b,HIGH); digitalWrite(a,HIGH); for(j=9;j<=11;j++) digitalWrite(j,HIGH); digitalWrite(dp,LOW); digitalWrite(c,LOW); digitalWrite(f,LOW); } //显示数字3 void digital_3(void) { digitalWrite(g,HIGH); digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(c,HIGH); digitalWrite(d,HIGH); digitalWrite(dp,LOW); digitalWrite(f,LOW); digitalWrite(e,LOW); } //显示数字4 void digital_4(void) { digitalWrite(c,HIGH); digitalWrite(b,HIGH); digitalWrite(f,HIGH); digitalWrite(g,HIGH); digitalWrite(dp,LOW); digitalWrite(a,LOW); digitalWrite(e,LOW); digitalWrite(d,LOW); } //显示数字5 void digital_5(void) { unsigned char j; digitalWrite(a,HIGH); digitalWrite(b, LOW); digitalWrite(c,HIGH); digitalWrite(d,HIGH); digitalWrite(e, LOW); digitalWrite(f,HIGH); digitalWrite(g,HIGH); digitalWrite(dp,LOW); } //显示数字6 void digital_6(void) { unsigned char j; for(j=7;j<=11;j++) digitalWrite(j,HIGH); digitalWrite(c,HIGH); digitalWrite(dp,LOW); digitalWrite(b,LOW); } //显示数字7 void digital_7(void) { unsigned char j; for(j=5;j<=7;j++) digitalWrite(j,HIGH); digitalWrite(dp,LOW); for(j=8;j<=11;j++) digitalWrite(j,LOW); } //显示数字8 void digital_8(void) { unsigned char j; for(j=5;j<=11;j++) digitalWrite(j,HIGH); digitalWrite(dp,LOW); } void setup() { int i; for(i=4;i<=11;i++) { pinMode(i,OUTPUT);//设置4~11口味输出模式 } } void loop() { while(1) { digital_1();//显示数字1 while(analogRead(0)>512);//如果读到模拟0口的值为0则说明有按键按下 delay(200);//延时200ms digital_2(); while(analogRead(0)>512); delay(200); digital_3(); while(analogRead(0)>512); delay(200); digital_4(); while(analogRead(0)>512); delay(200); digital_5(); while(analogRead(0)>512); delay(200); digital_6(); while(analogRead(0)>512); delay(200); digital_7(); while(analogRead(0)>512); delay(200); digital_8(); while(analogRead(0)>512); delay(200); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现