• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Arduino的8乘8點(diǎn)陣心形設(shè)計(jì)

      2019-07-08 02:23李英趙書(shū)銳姜欣欣
      電腦知識(shí)與技術(shù) 2019年13期
      關(guān)鍵詞:心形開(kāi)發(fā)板低電平

      李英 趙書(shū)銳 姜欣欣

      摘要:該文使用Arduino硬件開(kāi)發(fā)平臺(tái),以Arduino UNO電路板為中心,配合使用8乘8矩形點(diǎn)陣完成電路的設(shè)計(jì)。在完成的過(guò)程中,本文采納的Arduino UNO電路板,與此同時(shí)配合應(yīng)用Arduino IDE軟件并利用Arduino語(yǔ)言進(jìn)行編程以實(shí)現(xiàn)8乘8點(diǎn)陣上“心形”的顯示。本文提到的8乘8點(diǎn)陣,Arduino電路板以及使用的語(yǔ)言均可供讀者參考學(xué)習(xí)。

      關(guān)鍵詞:Arduino;8乘8“心形”顯示;Arduino語(yǔ)言

      中圖分類(lèi)號(hào):TP311 ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A

      文章編號(hào):1009-3044(2019)13-0247-02

      1 引言

      當(dāng)今社會(huì),電子技術(shù)行業(yè)在不斷的發(fā)展,在不斷的學(xué)習(xí)過(guò)程中,硬件開(kāi)發(fā)不僅可以增加學(xué)習(xí)者的開(kāi)拓思維能力,還可以提高開(kāi)發(fā)者的創(chuàng)新能力。Arduino以其簡(jiǎn)單的開(kāi)發(fā)方式和容易操作的特點(diǎn)成了目前流行的開(kāi)源硬件和硬件開(kāi)發(fā)平臺(tái),更是硬件開(kāi)發(fā)的趨向[1]。這使得使用Arduino的開(kāi)發(fā)者們不再需要大量的時(shí)間學(xué)習(xí)類(lèi)似于單片機(jī)等硬件的復(fù)雜機(jī)理,從而可以節(jié)約學(xué)習(xí)成本,也讓開(kāi)發(fā)者們更加關(guān)注開(kāi)發(fā)本身的創(chuàng)意性和可行性,大大減少了開(kāi)發(fā)需要的時(shí)間周期,從而更快地完成項(xiàng)目的開(kāi)發(fā)。

      總之由于Arduino的多種優(yōu)勢(shì),越來(lái)越多的人開(kāi)始使用Arduino,其中包括專(zhuān)業(yè)的硬件開(kāi)發(fā)者,甚至包括一些軟件開(kāi)發(fā)者通過(guò)使用Arduino來(lái)進(jìn)入硬件等開(kāi)發(fā)的領(lǐng)域[2]。

      本文所提到的8乘8點(diǎn)陣的“心形”顯示實(shí)驗(yàn)就是應(yīng)用Arduino開(kāi)發(fā)板對(duì)8乘8點(diǎn)陣進(jìn)行的控制的一個(gè)實(shí)驗(yàn)。

      2 Arduino簡(jiǎn)介

      Arduino是一個(gè)在可以不需花費(fèi)過(guò)多時(shí)間學(xué)習(xí)就能使用的硬件和軟件的基礎(chǔ)上的一個(gè)開(kāi)源電子平臺(tái)。它是為任何做互動(dòng)項(xiàng)目的人設(shè)計(jì)的。它包含硬件(各種型號(hào)的Arduino板)和軟件(Arduino IDE)。 它構(gòu)建于開(kāi)放原始碼simple I/O介面版,并且具有使用類(lèi)似Java、C語(yǔ)言的Processing/Wiring開(kāi)發(fā)環(huán)境[3]。Arduino包括兩個(gè)主要的部分:一是硬件部分,就是我們?cè)陔娐愤B接過(guò)程中使用到的Arduino電路板;二是軟件部分,即Arduino IDE,就是我們?cè)谟?jì)算機(jī)中編寫(xiě)程序時(shí)使用到的程序開(kāi)發(fā)環(huán)境。 Arduino能通過(guò)各種各樣的傳感器來(lái)感知環(huán)境,也能通過(guò)許多其他的裝置來(lái)影響環(huán)境。Arduino板能夠讀取輸入-傳感器上的燈,按鈕上的手指,或者推特上的信息-并將其轉(zhuǎn)換成輸出-激活馬達(dá),打開(kāi)LED,在線發(fā)布一些信息。通過(guò)Arduino的編程語(yǔ)言來(lái)編寫(xiě)程序后,編譯生成二進(jìn)制文件,可以燒錄進(jìn)Arduino板子上的微控制器,從而達(dá)到程序控制的目的[4]?;贏rduino的一些項(xiàng)目,也可以通過(guò)Arduino和其他一些在PC上運(yùn)行的軟件之間進(jìn)行通信來(lái)實(shí)現(xiàn)。

      總之,Arduino以其靈活性和操作簡(jiǎn)單的特點(diǎn)越來(lái)越受到我們的歡迎,也越來(lái)越受到對(duì)硬件開(kāi)發(fā)有興趣的人的青睞。

      3 硬件電路設(shè)計(jì)

      3.1硬件介紹

      本文使用的硬件主要包括Arduino開(kāi)發(fā)板、面包板兩塊、USB數(shù)據(jù)線、8乘8矩形點(diǎn)陣一個(gè)、連接線若干、220歐姆電阻若干。

      本文使用的Arduino開(kāi)發(fā)板類(lèi)型為Arduino Uno;面包板的作用為使8乘8點(diǎn)陣的引腳可以與Arduino開(kāi)發(fā)板之間可以用導(dǎo)線進(jìn)行連接;USB數(shù)據(jù)線的作用為將Arduino開(kāi)發(fā)板與電腦進(jìn)行連接,從而使得Arduino IDE可以對(duì)Arduino開(kāi)發(fā)板的各個(gè)引腳進(jìn)行控制;8乘8點(diǎn)陣共由64個(gè)發(fā)光二極管組成,并且每個(gè)發(fā)光二極管位于行線和列線的交叉點(diǎn)處,如果要點(diǎn)亮其中一個(gè)發(fā)光二極管則將此二極管對(duì)應(yīng)的行置高電平,對(duì)應(yīng)的列置低電平即可;如要將最后一個(gè)發(fā)光二極管點(diǎn)亮,則5腳接高電平16腳接低電平,則最后一個(gè)發(fā)光二極管就被點(diǎn)亮了[5]。

      3.2電路設(shè)計(jì)

      首先對(duì)8乘8點(diǎn)陣各個(gè)引腳進(jìn)行識(shí)別,點(diǎn)陣共有四個(gè)邊,其中一個(gè)邊上有絲印并且在中間有塑料向下突出,將點(diǎn)陣正向放置,帶有絲印的一邊朝向自己,左側(cè)第一個(gè)引腳為一號(hào)引腳,依次逆時(shí)針排序增加,共有16個(gè)引腳。

      然后將各個(gè)引腳與Arduino開(kāi)發(fā)板進(jìn)行相應(yīng)的連接。連接示意圖如圖1所示,實(shí)際連接情況如圖2所示。電阻主要起到限流作用。

      3.3實(shí)現(xiàn)功能

      在程序驗(yàn)證完成顯示編譯完成后,即可上傳到相應(yīng)的Arduino開(kāi)發(fā)板上,實(shí)現(xiàn)的功能應(yīng)為每隔1秒鐘循環(huán)顯示“心形”。

      4 軟件設(shè)計(jì)

      4.1軟件設(shè)計(jì)流程

      首先需要對(duì)8乘8點(diǎn)陣的各個(gè)與Arduino開(kāi)發(fā)板連接的引腳進(jìn)行行列號(hào)的定義,來(lái)實(shí)現(xiàn)Arduino各個(gè)引腳對(duì)點(diǎn)陣行列的控制,然后將Arduino引腳設(shè)置為輸出模式以控制點(diǎn)陣,并且全部都初始化為低電平,隨后定義了一個(gè)顯示函數(shù),其作用是將點(diǎn)陣的各列依次選通,等待信號(hào)燈被點(diǎn)亮(利用人眼的視覺(jué)暫停作用,選通時(shí)間足夠短的話,會(huì)造成多列同時(shí)點(diǎn)亮的效果),同時(shí)設(shè)置了一個(gè)清除函數(shù)目的是為了減輕信號(hào)燈點(diǎn)亮?xí)r產(chǎn)生的余暉,給出“心形”的數(shù)據(jù)后利用loop()函數(shù)對(duì)“心形”數(shù)據(jù)進(jìn)行顯示。程序流程圖如圖3所示。

      4.2 Arduino語(yǔ)言程序

      const int row1 = 2; // Arduino Pin2 連接點(diǎn)陣 行號(hào)9

      const int row2 = 3; // Arduino Pin3 連接點(diǎn)陣 行號(hào) 14

      const int row3 = 4; // Arduino Pin4 連接點(diǎn)陣 行號(hào)8

      const int row4 = 5; // Arduino Pin5 連接點(diǎn)陣 行號(hào) 12

      const int row5 = 17; // Arduino Pin17 (A3)連接點(diǎn)陣 行號(hào)1

      const int row6 = 16; // Arduino Pin16 (A2)連接點(diǎn)陣 行號(hào)7

      const int row7 = 15; //Arduino Pin15 (A1)連接點(diǎn)陣 行號(hào) 2

      const int row8 = 14; // Arduino Pin14 (A0)連接點(diǎn)陣 行號(hào) 5

      const int col1 = 6; //Arduino Pin6 連接點(diǎn)陣 列號(hào)13 ? ?//the pin to control COl

      const int col2 = 7; // Arduino Pin7 連接點(diǎn)陣 列號(hào)3

      const int col3 = 8; //Arduino Pin8 連接點(diǎn)陣 列號(hào)4

      const int col4 = 9; // Arduino Pin9 連接點(diǎn)陣 列號(hào) 10

      const int col5 = 10; //Arduino Pin10 連接點(diǎn)陣 列號(hào)6

      const int col6 = 11; //Arduino Pin11 連接點(diǎn)陣 列號(hào)11

      const int col7 = 12; // Arduino Pin12 連接點(diǎn)陣 列號(hào)15

      const int col8 = 13; // Arduino Pin13 連接點(diǎn)陣 列號(hào)16

      unsigned char table[8][8] = ? //“心型”的數(shù)據(jù)

      {

      0,0,0,0,0,0,0,0,

      0,0,0,0,0,0,0,0,

      0,0,1,0,0,1,0,0,

      0,1,1,1,1,1,1,0,

      0,1,1,1,1,1,1,0,

      0,0,1,1,1,1,0,0,

      0,0,0,1,1,0,0,0,

      0,0,0,0,0,0,0,0,

      };

      void setup()

      {

      int i = 0 ;

      for(i=2;i<18;i++)

      {

      pinMode(i, OUTPUT); //設(shè)置為輸出(包括模擬口,也設(shè)置為數(shù)字輸出方式)

      }

      for(i=2;i<18;i++) {

      digitalWrite(i, LOW); //拉低

      } }

      5 實(shí)驗(yàn)結(jié)果

      程序?qū)懲旰螅瑢⑵潋?yàn)證,驗(yàn)證無(wú)誤后下載到Arduino的微控制器中后,就會(huì)看到8乘8點(diǎn)陣發(fā)生相應(yīng)的變化,即8乘8點(diǎn)陣每隔1秒鐘循環(huán)顯示“心形”。實(shí)驗(yàn)結(jié)果表明8乘8點(diǎn)陣能夠很好地穩(wěn)定的按照我們?cè)O(shè)計(jì)的程序進(jìn)行“心形”的顯示。實(shí)驗(yàn)結(jié)果如圖4所示。

      參考文獻(xiàn):

      [1] 陳呂洲.Arduino程序設(shè)計(jì)基礎(chǔ)[M]. 2版.北京:北京航空航天大學(xué)出版社,2015:3

      [2] 付久強(qiáng).基于Arduino平臺(tái)的智能硬件設(shè)計(jì)研究[J].包裝工程,2015(10).

      [3] 卞云松.基于Arduino單片機(jī)的避障小車(chē)機(jī)器人[J].自動(dòng)化技術(shù)與應(yīng)用,2014 (1).

      【通聯(lián)編輯:朱寶貴】

      猜你喜歡
      心形開(kāi)發(fā)板低電平
      鐵道車(chē)輛高/低電平信號(hào)智能發(fā)生器設(shè)計(jì)
      心形賀卡
      2017款凱迪拉克2.8L/3.0L/3.2L/3.6L車(chē)型低電平參考電壓總線電路圖
      制作心形賀卡
      Microchip最新推出兩款PIC32 Curiosity開(kāi)發(fā)板
      淺析單片機(jī)開(kāi)發(fā)板的設(shè)計(jì)與制作
      15-MeV電子直線加速器的低電平系統(tǒng)
      Mouser為您呈上開(kāi)發(fā)關(guān)鍵之STMicroelectronics Nucleo開(kāi)發(fā)板
      Arduino和Atmel發(fā)布Arduino Zero開(kāi)發(fā)板
      集成電路靜態(tài)參數(shù)測(cè)試
      黎城县| 桦川县| 文成县| 岳西县| 太康县| 孝义市| 侯马市| 鞍山市| 长海县| 东兴市| 蓬溪县| 南漳县| 若羌县| 凤凰县| 长垣县| 武隆县| 台安县| 宁南县| 江北区| 吉首市| 克拉玛依市| 海伦市| 新干县| 崇礼县| 贵德县| 德安县| 香港| 宜良县| 本溪市| 明水县| 乐亭县| 曲麻莱县| 马关县| 壤塘县| 怀来县| 汉川市| 三穗县| 贞丰县| 曲麻莱县| 贵定县| 东至县|