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燈

  }

}
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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM