![北郵arduino實(shí)驗(yàn)報(bào)告_第1頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-9/23/665ac3e1-d1b1-44b5-8fa7-9d0ad5027537/665ac3e1-d1b1-44b5-8fa7-9d0ad50275371.gif)
![北郵arduino實(shí)驗(yàn)報(bào)告_第2頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-9/23/665ac3e1-d1b1-44b5-8fa7-9d0ad5027537/665ac3e1-d1b1-44b5-8fa7-9d0ad50275372.gif)
![北郵arduino實(shí)驗(yàn)報(bào)告_第3頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-9/23/665ac3e1-d1b1-44b5-8fa7-9d0ad5027537/665ac3e1-d1b1-44b5-8fa7-9d0ad50275373.gif)
![北郵arduino實(shí)驗(yàn)報(bào)告_第4頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-9/23/665ac3e1-d1b1-44b5-8fa7-9d0ad5027537/665ac3e1-d1b1-44b5-8fa7-9d0ad50275374.gif)
![北郵arduino實(shí)驗(yàn)報(bào)告_第5頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-9/23/665ac3e1-d1b1-44b5-8fa7-9d0ad5027537/665ac3e1-d1b1-44b5-8fa7-9d0ad50275375.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、電子電路綜合實(shí)驗(yàn)設(shè)計(jì)實(shí)驗(yàn)名稱(chēng):基于 Arduino 的電壓有效值測(cè)量電路設(shè)計(jì)與實(shí)現(xiàn)學(xué)院:班級(jí):學(xué)號(hào):姓名:班內(nèi)序號(hào):實(shí)驗(yàn) 基于Arduino 的電壓有效值測(cè)量電路設(shè)計(jì)與實(shí)現(xiàn)一. 摘要Arduino是一個(gè)基于開(kāi)放原始碼的軟硬件平臺(tái),可用來(lái)開(kāi)發(fā)獨(dú)立運(yùn)作、并具互動(dòng)性的電子產(chǎn)品,也可以開(kāi)發(fā)與PC 相連的周邊裝置,同時(shí)能在運(yùn)行時(shí)與PC 上的軟件進(jìn)行交互。為了測(cè)量正弦波電壓有效值,首先我們?cè)O(shè)計(jì)了單電源供電的半波整流電路,并進(jìn)行整流濾波輸出,然后選擇了通過(guò)Arduino設(shè)計(jì)了讀取電壓有效值的程序,并實(shí)現(xiàn)使用此最小系統(tǒng)來(lái)測(cè)量和顯示電壓有效值。在頻率和直流電壓幅度限定在小范圍的情況下,最小系統(tǒng)的示數(shù)基本和毫伏表
2、測(cè)量的值相同。根據(jù)交流電壓有效值的定義,運(yùn)用集成運(yùn)放和設(shè)計(jì)的Arduino最小系統(tǒng)的結(jié)合,實(shí)現(xiàn)了運(yùn)用少量元器件對(duì)交流電壓有效值的測(cè)量。關(guān)鍵字:半波整流 整流濾波 Arduino最小系統(tǒng)讀取電壓有效值 二. 實(shí)驗(yàn)?zāi)康?、熟悉Arduino 最小系統(tǒng)的構(gòu)建和使用方法;2、掌握峰值半波整流電路的工作原理;3、根據(jù)技術(shù)指標(biāo)通過(guò)分析計(jì)算確定電路形式和元器件參數(shù);4、畫(huà)出電路原理圖(元器件標(biāo)準(zhǔn)化,電路圖規(guī)范化);5、熟悉計(jì)算機(jī)仿真方法;6、熟悉Arduino 系統(tǒng)編程方法。三. 實(shí)驗(yàn)任務(wù)及設(shè)計(jì)要求設(shè)計(jì)實(shí)現(xiàn) Arduino 最小系統(tǒng),并基于該系統(tǒng)實(shí)現(xiàn)對(duì)正弦波電壓有效值的測(cè)量和顯示。1、基本要求(1)實(shí)現(xiàn)Ar
3、duino 最小系統(tǒng),并能下載完成Blink 測(cè)試程序,驅(qū)動(dòng)Arduino 數(shù)字13 口LED 閃爍;(2)電源部分穩(wěn)定輸出5V 工作電壓,用于系統(tǒng)供電;(3)設(shè)計(jì)峰值半波整流電路,技術(shù)指標(biāo)要求如下:l 輸入信號(hào)電壓范圍:01V;l 頻率范圍:500Hz2KHz;l 電源電壓:5V;(4)采用Arduino 最小系統(tǒng)讀取峰值半波整流電路的輸出結(jié)果,并計(jì)算正弦波電壓有效值;(5)測(cè)量出的有效值通過(guò)Arduino 串口監(jiān)視器進(jìn)行讀取。2、提高要求(1)用數(shù)碼管顯示正弦信號(hào)有效值的測(cè)量結(jié)果;(2)用Arduino 最小系統(tǒng)直接讀取正弦信號(hào)計(jì)算有效值,比較不同測(cè)試方法的測(cè)量誤差;(3)自擬其他功能。3
4、、提交材料(1)實(shí)驗(yàn)報(bào)告(含仿真結(jié)果、原理圖)(2)峰值半波整流等相關(guān)電路的仿真文件;(3)Arduino 程序;(4)電路原理圖文件。四. 設(shè)計(jì)思路及結(jié)構(gòu)框圖設(shè)計(jì)思路: 系統(tǒng)組成框圖Arduino 電壓有效值測(cè)量電路包括峰值半波整流電路、最小系統(tǒng)、顯示、穩(wěn)壓電路四部分,其中最小系統(tǒng)包括微處理器、振蕩電路、下載電路和測(cè)試電路。顯示部分Arduino最小系統(tǒng)峰值半波整流電路電源元器件資料本實(shí)驗(yàn)中用到了一個(gè)LM741CN芯片,通過(guò)查找資料了解LM741CN的主要參數(shù),管腳設(shè)置等。 一片ATMEGA8 芯片來(lái)搭建一個(gè)最小系統(tǒng),通過(guò)查找資料了解ATMEGA8的主要參數(shù)和管腳設(shè)置。.分塊電路和總體電路的
5、設(shè)計(jì)(1)半波電路的設(shè)計(jì)本實(shí)驗(yàn)需要的是輸入710V的直流穩(wěn)壓電源,輸出5V。具體電源電路包括整流,濾波等部分,具體的設(shè)計(jì)如下。仿真波形如下圖所示(2)半波電路加上整流濾波的設(shè)計(jì)。交流電經(jīng)過(guò)整流后得到的是脈動(dòng)直流,采用濾波電路可以大大降低這種交流紋波成分,讓整流后的波形變得比較平滑。通過(guò)整流濾波電路得到電壓的峰峰值等于2倍電壓有效值。仿真波形如下圖所示四、功能實(shí)現(xiàn)及擴(kuò)展1基本要求:實(shí)際實(shí)驗(yàn)中的波形截圖及相關(guān)分析:左圖為濾波后實(shí)際實(shí)驗(yàn)圖,從圖中可以看到濾波效果很好,減去抬高的2.55V所得值為毫伏表測(cè)量值的2倍,符合濾波要求。左圖為半波整流實(shí)驗(yàn)圖,從圖中可以看到半波波形無(wú)失真,利用直流抬高2.5V
6、左右,讀數(shù)為2.55V,符合仿真結(jié)果。五. 故障及問(wèn)題分析1.問(wèn)題一:半波整流電路的問(wèn)題1)選擇了不合適的半波電路在使用LM741CN之前嘗試用LM358做半波整流,由于濾波后峰值太低,采用全波整流完成,但仿真和實(shí)驗(yàn)均失真,故最終放棄使用LM358。失真波形圖電路如下半波仿真波形圖如下實(shí)際半波波形比仿真波形好,原因可能是仿真軟件的元件庫(kù)對(duì)元件的性能統(tǒng)計(jì)不完全,導(dǎo)致了與實(shí)際情況不符。但無(wú)論仿真還是實(shí)際操作中都存在明顯失真,故舍棄此電路設(shè)計(jì)。濾波仿真波形圖如下可能和電容值有關(guān)。2)電路沒(méi)有共地(此時(shí)使用LM358)LM358嚴(yán)重失真波形圖此圖也為L(zhǎng)M358實(shí)際濾波圖,原因是電路沒(méi)有全部共地,共地后
7、波形為上面的波形圖。分析及解決方法:器件LM358仿真始終就沒(méi)能找到合適的半波整流電路,所以更換為L(zhǎng)M741最終得到了合適的半波波形。3)在使用LM741時(shí)波形失真,電路沒(méi)有接錯(cuò)。分析及解決方法:LM741四號(hào)管腳沒(méi)有接地。問(wèn)題二:使用Arduino過(guò)程中遇到的問(wèn)題1)第一次接觸Arduino接線(xiàn)接錯(cuò)導(dǎo)致ATMEGA8直接燒毀。解決方法:確認(rèn)下載器接口和圖示的對(duì)應(yīng)關(guān)系,重接導(dǎo)線(xiàn)。2)沒(méi)有把VCC和AREF相接,電壓讀數(shù)是錯(cuò)的。分析及解決方法:AREF是A/D轉(zhuǎn)換的參考電壓輸入端,是5V,不接入?yún)⒖茧妷鹤x數(shù)必然不對(duì)。將兩端連接問(wèn)題解決。問(wèn)題三:讀數(shù)時(shí)將電壓改變范圍擴(kuò)大,出現(xiàn)不能忽略的誤差分析及解
8、決方法:通過(guò)示波器上測(cè)量的輸出電壓值和毫伏表測(cè)量的輸入電壓值的比值發(fā)現(xiàn),輸出和輸入并非完美的線(xiàn)性關(guān)系,即在電路中存在一定的失真,但由于仿真中沒(méi)有問(wèn)題,迫于時(shí)間限制沒(méi)能做出完美的線(xiàn)性輸出,但可通過(guò)改寫(xiě)程序減小誤差,如將電壓值分段,計(jì)算幾組比值,在代碼中給每段不同的參數(shù)。改進(jìn)代碼附在最后(在驗(yàn)收時(shí)未使用)。六實(shí)驗(yàn)改進(jìn)1)將運(yùn)算放大器U1由LM358換成LM741,將電路改為經(jīng)典半波整流電路,觀測(cè)波形,濾波電路最初使用20k電阻,濾波后幅值較低,與毫伏表讀數(shù)相差較多,后改為200,幅值正常。原因是20k消耗能量過(guò)多,電路的負(fù)載能力可能不夠。改小電阻雖能減小損耗,但理論上輸出電流的平滑性會(huì)降低,好在實(shí)
9、驗(yàn)中沒(méi)有出現(xiàn)此類(lèi)現(xiàn)象。2)Arduino程序改進(jìn)。電壓示數(shù)不對(duì):第一次獲得電壓示數(shù)的時(shí)候發(fā)現(xiàn)是毫伏表測(cè)量的有效值的2倍,于是我們?cè)讷@取的電壓上乘以了0.707,使讀數(shù)相對(duì)準(zhǔn)確了許多但誤差依然存在。電壓讀數(shù)存在誤差:為了使讀數(shù)更加準(zhǔn)確,我在不同幅值處都計(jì)算了輸出端和毫伏表示數(shù)的比值并求平均,最終使Arduino讀數(shù)在小范圍內(nèi)零誤差讀數(shù)。但輸入幅值一旦非常小或者非常大之后會(huì)體現(xiàn)出不小的誤差,由于時(shí)間問(wèn)題最終沒(méi)能對(duì)程序進(jìn)行改進(jìn),個(gè)人認(rèn)為由于輸出和輸入并非完全線(xiàn)性關(guān)系,所以對(duì)電壓讀值進(jìn)行分段,每段計(jì)算出不同的輸出/輸入的比例系數(shù),相對(duì)會(huì)減少誤差,但非線(xiàn)性關(guān)系也意味著輸出存在失真,所以電路還應(yīng)進(jìn)行改進(jìn)。
10、同組同學(xué)的濾波電阻都取的較小,相對(duì)的誤差也較小,仿真中并無(wú)區(qū)別,希望還能在實(shí)際操作中進(jìn)行探究。后面附了改進(jìn)之后的代碼,一共進(jìn)行兩次改進(jìn),但最后一次停留在理論,未能進(jìn)行實(shí)際操作的驗(yàn)證。七. 總結(jié)和結(jié)論1.實(shí)驗(yàn)總結(jié):本次試驗(yàn)是綜合設(shè)計(jì)性實(shí)驗(yàn),要求我們將以前學(xué)過(guò)的知識(shí)都綜合運(yùn)用起,并和新接觸的Arduino器件結(jié)合起來(lái)使用,設(shè)計(jì)出具有一定綜合功能的電路。對(duì)Arduino進(jìn)行了解并未花費(fèi)太多時(shí)間,而半波整流電路的設(shè)計(jì)卻是整個(gè)過(guò)程中最難的一部分,由于器件的性能和仿真似乎有出入,不同電路的仿真做了不下十種最終才找到了比較合適的。 2.實(shí)驗(yàn)結(jié)論: 通過(guò)Arduino搭建最小系統(tǒng)和模擬電路的結(jié)合實(shí)現(xiàn)了電壓有效
11、值的讀取,還有許多功能有待嘗試。有程序通過(guò)下載器經(jīng)導(dǎo)線(xiàn)對(duì)ATMEGA8的輸入輸出管腳進(jìn)行控制來(lái)實(shí)現(xiàn)自己的程序是非常有意思的事情,希望日后還有機(jī)會(huì)做此類(lèi)嘗試。3.心得體會(huì):這是一年的模電實(shí)驗(yàn)里最有意義的一次,約了六次實(shí)驗(yàn),跑了9次實(shí)驗(yàn)室,用了非常多的時(shí)間去解決各種問(wèn)題,起初覺(jué)得別人拿著現(xiàn)有的數(shù)據(jù)很快出圖出結(jié)果非常羨慕,但是到后來(lái)一步一步慢慢達(dá)成試驗(yàn)?zāi)康囊搏@得了許多成就感。尤其是很難忘記燒掉一個(gè)ATMEGA8之后第二次連上導(dǎo)線(xiàn)接到電腦成功地進(jìn)行第一次blink之后的喜悅,當(dāng)時(shí)甚至給自己起了個(gè)新名字叫“布令客1號(hào)”,現(xiàn)在回想起來(lái)有點(diǎn)像小學(xué)生做的事情,但真的在完成一個(gè)之前全然不懂的任務(wù)之后非常的有成就
12、感。越到后期進(jìn)步就越緩慢,但和同組的人交流之后發(fā)現(xiàn)并不是在原地踏步,雖然很長(zhǎng)一段時(shí)間沒(méi)能確定下來(lái)電路,但同時(shí)排除了不少錯(cuò)誤的電路設(shè)計(jì)。實(shí)驗(yàn)中收獲的知識(shí)有限,但我覺(jué)得我得到了我?guī)缀鯊膩?lái)沒(méi)有過(guò)的耐心,我甚至在實(shí)驗(yàn)結(jié)束后的五一小長(zhǎng)假前一天認(rèn)真的百度了色環(huán)讀阻值,并且把所有的未知電阻挨個(gè)讀值之后插回了電阻箱,那一刻我覺(jué)得電路實(shí)驗(yàn)是大學(xué)這兩年最珍貴的課程,不能糊弄,不能投機(jī)取巧雖然在一定程度上可以,還培養(yǎng)了耐心,上了北郵之后我也算是第一次真正的覺(jué)得自己的專(zhuān)業(yè)還不錯(cuò)。八. 所用元器件及測(cè)試儀表清單元器件清單名稱(chēng)型號(hào)數(shù)量用途運(yùn)算放大器LM741CN1反相放大二極管1N40092控制單項(xiàng)導(dǎo)通的開(kāi)關(guān)特性,防止反
13、向擊穿,保護(hù)電路電容47F1用于整流濾波10F1用于隔直電阻20k4限流,防止電壓過(guò)大,提供負(fù)反饋,充當(dāng)保護(hù)電阻、負(fù)載電阻等2001面包板1用于搭載電路,充當(dāng)電路的載體用于連接電路導(dǎo)線(xiàn)若干儀器儀表清單儀器名稱(chēng)用途直流穩(wěn)壓電源提供直流信號(hào)函數(shù)信號(hào)發(fā)生器提供交流信號(hào)毫伏表測(cè)量輸入電壓有效值示波器顯示波形萬(wàn)用表測(cè)分壓、二極管正負(fù)等九. 參考文獻(xiàn)1.北郵電路中心電子電路綜合設(shè)計(jì)實(shí)驗(yàn)2.電子電路基礎(chǔ)北京郵電大學(xué)出版社 劉寶玲3.電路中心網(wǎng)站4.極客工房Arduino教程資料附代碼:1) 初次代碼:const int D=5;int a;int V;int Num4;void disp(int pos,i
14、nt num) for(int i(0);i6;i+) digitalWrite(i,LOW); digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,HIGH); digitalWrite(12,HIGH); digitalWrite(13,HIGH); if(num=0) digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,LO
15、W); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); else if(num=1) digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,H
16、IGH); else if(num=2) digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,HIGH); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,HIGH); digitalWrite(12,LOW); digitalWrite(13,LOW); else if(num=3) digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,HIGH); digitalWrite(9,HIGH); di
17、gitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); else if(num=4) digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,HIGH); else if(num=5) digitalW
18、rite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,HIGH); digitalWrite(13,LOW); else if(num=6) digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrit
19、e(11,LOW); digitalWrite(12,HIGH); digitalWrite(13,LOW); else if(num=7) digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); else if(num=8) digitalWrite(6,HIGH); digitalWrite(7,
20、LOW); digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); else if(num=9) digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW
21、); digitalWrite(13,LOW); digitalWrite(pos,HIGH); / the setup routine runs once when you press reset:void setup() / initialize the digital pin as an output. pinMode(0, OUTPUT); pinMode(1, OUTPUT); pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinM
22、ode(7, OUTPUT); pinMode(8, OUTPUT); pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); pinMode(12, OUTPUT); pinMode(13, OUTPUT); pinMode(A0,INPUT); digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite
23、(12,LOW); digitalWrite(13,LOW); for(int i(0);i6;i+) digitalWrite(i,HIGH); delay(500); digitalWrite(i,LOW); / the loop routine runs over and over again forever:void loop() a=analogRead(A0); V=a*(5000.0/1023.0); Num0=V/1000; Num1=(V-Num0*1000)/100; Num2=(V-Num0*1000-Num1*100)/10; Num3=(V-Num0*1000-Num
24、1*100-Num2*10)/1; for(int i(0);i100;i+) disp(2,Num0); delay(D); disp(3,Num1); delay(D); disp(4,Num2); delay(D); disp(5,Num3); delay(D); 2) 實(shí)驗(yàn)時(shí)最終改進(jìn):解決了不停地閃的問(wèn)題/* for measuring voltage */ const int S=5;int adData=0;int V=0,preV=0;int Num4;void disp(int pos,int num) for(int i(0);i6;i+) digitalWrite(i,LO
25、W); digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,HIGH); digitalWrite(12,HIGH); digitalWrite(13,HIGH); /definations of numbers if(num=0) digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,LOW); digitalWrite(9,LO
26、W); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); else if(num=1) digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,HIGH); else if(num=2)
27、digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,HIGH); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,HIGH); digitalWrite(12,LOW); digitalWrite(13,LOW); else if(num=3) digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,LOW); d
28、igitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); else if(num=4) digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,HIGH); else if(num=5) digitalWrite(6,HIGH); digital
29、Write(7,LOW); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,HIGH); digitalWrite(13,LOW); else if(num=6) digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWri
30、te(12,HIGH); digitalWrite(13,LOW); else if(num=7) digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); else if(num=8) digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,
31、LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); else if(num=9) digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LO
32、W); else digitalWrite(11,0); digitalWrite(10,0); digitalWrite(pos,HIGH); / the setup routine runs once when you press reset:void setup() / initialize the digital pin as an output. pinMode(0, OUTPUT); pinMode(1, OUTPUT); pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT);
33、pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(8, OUTPUT); pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); pinMode(12, OUTPUT); pinMode(13, OUTPUT);/ pinMode(A5,INPUT);/ the loop routine runs over and over again forever:void loop() analogReference(DEFAULT); adData=analogRead(A5); V=(a
34、dData*(5000.0/1023.0)-2550); preV=V; Num0=V/1000; Num1=(V%1000)/100; Num2=(V%100)/10; Num3=(V%10); for(int i(0);i10;i+) disp(2,Num0); delay(S); disp(3,Num1); delay(S); disp(4,Num2); delay(S); disp(5,Num3); delay(S); 3) 實(shí)驗(yàn)后制作的改進(jìn)版沒(méi)在實(shí)驗(yàn)中測(cè)試,添加了電壓值范圍的判斷,用紅色標(biāo)記/* for measuring voltage */ const int S=5;int a
35、dData=0;int V=0,preV=0;int Num4;void disp(int pos,int num) for(int i(0);i6;i+) digitalWrite(i,LOW); digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,HIGH); digitalWrite(12,HIGH); digitalWrite(13,HIGH); /definations of numb
36、ers if(num=0) digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); else if(num=1) digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWr
37、ite(10,HIGH); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,HIGH); else if(num=2) digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,HIGH); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,HIGH); digitalWrite(12,LOW); digitalWrite(13,LOW); else if(num=3) digitalWrite(6
38、,HIGH); digitalWrite(7,LOW); digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); else if(num=4) digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11
39、,LOW); digitalWrite(12,LOW); digitalWrite(13,HIGH); else if(num=5) digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,HIGH); digitalWrite(13,LOW); else if(num=6) digitalWrite(6,HIGH); digitalWrite(7,LOW);
40、digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,HIGH); digitalWrite(13,LOW); else if(num=7) digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,LOW); digitalWrite(12,LOW);
41、 digitalWrite(13,LOW); else if(num=8) digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); else if(num=9) digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digi
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度公路運(yùn)輸車(chē)輛檢測(cè)合同標(biāo)準(zhǔn)
- 2025年度智能交通管理系統(tǒng)供應(yīng)商合作協(xié)議
- 2025年度公寓租賃合同物業(yè)服務(wù)質(zhì)量標(biāo)準(zhǔn)協(xié)議
- 2025年地質(zhì)災(zāi)害監(jiān)測(cè)預(yù)警工程勘察鉆井施工合同
- 2025年度建筑工程質(zhì)量保修合同范本
- 2025年度地下綜合管廊勞務(wù)分包補(bǔ)充協(xié)議
- 2025年度新能源公司擴(kuò)大生產(chǎn)所需資金借款合同書(shū)
- 2025年度人工智能教育股權(quán)合作協(xié)議范本
- 2025年度水利工程設(shè)計(jì)施工總承包合作協(xié)議
- 2025年度文化創(chuàng)意產(chǎn)業(yè)版權(quán)保密協(xié)議
- 中國(guó)儲(chǔ)備糧管理集團(tuán)有限公司蘭州分公司招聘筆試真題2024
- 第1課 隋朝統(tǒng)一與滅亡 課件(26張)2024-2025學(xué)年部編版七年級(jí)歷史下冊(cè)
- 提高金剛砂地坪施工一次合格率
- 【歷史】唐朝建立與“貞觀之治”課件-2024-2025學(xué)年統(tǒng)編版七年級(jí)歷史下冊(cè)
- 產(chǎn)業(yè)園區(qū)招商合作協(xié)議書(shū)
- 2024年廣東省公務(wù)員錄用考試《行測(cè)》真題及答案解析
- 2025新譯林版英語(yǔ)七年級(jí)下單詞默寫(xiě)表
- 盾構(gòu)標(biāo)準(zhǔn)化施工手冊(cè)
- 天然氣脫硫完整版本
- 中歐班列課件
- 2025屆高三數(shù)學(xué)一輪復(fù)習(xí)備考經(jīng)驗(yàn)交流
評(píng)論
0/150
提交評(píng)論