一:按鈕控制一個燈 
控制要求:按鈕控制燈
實物連接圖:
控制代碼:

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