ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

arduino按钮使用的两个小实验

2021-06-15 21:52:52  阅读:212  来源: 互联网

标签:200 arduino int digital analogRead delay while 实验 按钮


 

一:按钮控制一个灯                                                                                                                                                                                                  

 

 

 

控制要求:按钮控制灯

实物连接图:

 

 

 

 

 

控制代码:

//智慧自动化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灯

  }

}
View Code

 

 

二:按钮生产随机数

 

 

控制要求:随机数生成

实物连接图:

 

 

 

 

 

控制代码:

//智慧自动化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);

  }

}
View Code

 

标签:200,arduino,int,digital,analogRead,delay,while,实验,按钮
来源: https://blog.51cto.com/u_15269117/2907095

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有