arduino光敏+LED+数码管+蜂鸣器综合实验
生活随笔
收集整理的這篇文章主要介紹了
arduino光敏+LED+数码管+蜂鸣器综合实验
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
內容
用光敏控制LED的明暗程度,光敏值在3位數碼管上顯示,串口輸出光敏值,蜂鳴器到一定的值會didi
話不多說,直接上代碼,那幾個部分拼到一起,多了個數的拆分,讓k1k2k3分別等于百位十位個位
代碼
void setup(){ Serial.begin(9600); int ledpin=9; for(int i=0;i<7;++i){pinMode(i+2,OUTPUT);}pinMode(12,OUTPUT);pinMode(13,OUTPUT);pinMode(11,OUTPUT); } int a2g[10][9]={{0,0,0,0,0,0,1}, //0{1,0,0,1,1,1,1}, //1{0,0,1,0,0,1,0}, //2{0,0,0,0,1,1,0}, //3{1,0,0,1,1,0,0}, //4{0,1,0,0,1,0,0}, //5{0,1,0,0,0,0,0}, //6{0,0,0,1,1,1,1}, //7{0,0,0,0,0,0,0}, //8{0,0,0,0,1,0,0}, //9 }; void loop(){int sv=analogRead(A0);Serial.println(sv);analogWrite(9,255*sv/300);if(sv<60){tone(10,40);}else {noTone(10);} int a=sv;int i=0;while(a>0){i=i+1; a=a/10;} int k1,k2,k3;if(i==2) {k3=0;for(int j=0;j<i;++j){if(j==0) {k1=sv%10;}else if(j==1){k2=sv%10;}sv=sv/10;}}else if(i==3){for(int j=0;j<i;++j){if(j==0) {k1=sv%10;}else if(j==1){k2=sv%10;}else {k3=sv%10;}sv=sv/10;}}for(int j=0;j<30;++j){digitalWrite(13,1);digitalWrite(12,0);digitalWrite(11,0);for(int i=0;i<7;++i){digitalWrite(i+2,a2g[k1][i]);}delay(10);digitalWrite(13,0);digitalWrite(12,1);digitalWrite(11,0);for(int i=0;i<7;++i){digitalWrite(i+2,a2g[k2][i]);}delay(10);digitalWrite(13,0);digitalWrite(12,0);digitalWrite(11,1);for(int i=0;i<7;++i){digitalWrite(i+2,a2g[k3][i]);}delay(10);}//delay(100); }實物圖
總結
以上是生活随笔為你收集整理的arduino光敏+LED+数码管+蜂鸣器综合实验的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构:顺序栈
- 下一篇: DFS实现floodfill算法