步驟1:您要使用什么組件需要嗎?
1 Arduino Mega(我使用便宜的克隆);
1個2.2英寸SPI TFT顯示模塊240 x 320 ILI9341;
2 SPI 5v至3v3電平轉(zhuǎn)換器;
1個AT24C256串行EEPROM模塊;
1 Arduino Uno原型板;
1母對母接頭電纜;
1母USB連接器;
1被動壓電蜂鳴器;
2個4k7電阻器;
用于ld的1200歐姆電阻器;
1 40針接頭連接器公頭;
1 40針接頭連接器母;
幾種顏色的電線用于連接原型板上的組件;
我自己使用了許多廉價的克隆,如果您想要優(yōu)質(zhì)的組件并且用于《實例Arduino板沒有驅(qū)動程序問題,您可以購買原裝零件,這些便宜的TFT模塊的觸摸界面非常糟糕,以至于我不使用它,因此您還可以訂購更便宜的無觸摸芯片。使用2板的4線電平轉(zhuǎn)換器,我相信也有單板8線的轉(zhuǎn)換器。我使用標(biāo)準(zhǔn)(Arduno Uno,由于尺寸)prot otype板因為易于使用,還可以使用普通的PCB實驗板。蜂鳴器必須是被動的才能將其用作揚聲器。我使用母頭連接器將電平轉(zhuǎn)換器和eeprom模塊放置在板上,您不必這樣做,這樣可以節(jié)省空間和金錢,但是它不那么容易更換零件,也不容易將導(dǎo)線焊接到電路板上。如果沒有板子擋住板子。
步驟2:全部放在一起。
在大多數(shù)情況下,當(dāng)我構(gòu)建項目時,我首先將其構(gòu)建在試驗板上,以查看一切是否都按預(yù)期的方式工作。我進(jìn)行了所有測試,因此您可以跳過此階段。我將eeprom模塊的引腳和電平轉(zhuǎn)換器的引腳焊接在組件側(cè),以便可以將它們上下顛倒放置在原型板上。您可以按照任何方便的順序放置組件,如果要使用原始的3D打印外殼,則唯一需要放置在特定位置的就是USB連接器
步驟3:整個圖
該圖似乎有些混亂,但是很難繪制標(biāo)準(zhǔn)組件之間所有連接的圖。我將嘗試解釋一下,我沒有畫所有的電源線和地線,首先,我將Eeprom板上的插頭引腳,轉(zhuǎn)換板推入,并在原型板上找到一個點(在中間),為布線。然后,我找到了一個合適的區(qū)域來放置用于將電線連接至顯示板的凸頭。然后,我將它們焊接到板上并進(jìn)行所有電源連接,以使事情井井有條。我使用黑色電線接地,紅色使用5V電線,橙色使用3V3電線。在轉(zhuǎn)換板上,您只需要連接一根接地線,它們就內(nèi)部連接在板上。
在左上角,您將看到鍵盤的USB連接器。這是一個標(biāo)準(zhǔn)的母頭USB連接器,外部引腳是電源引腳,另外兩個引腳是data +和data-引腳。我利用了一個事實,即普通USB鍵盤具有“回退”模式到PS2模式(一種簡單的串行協(xié)議),可以由Arduino處理器輕松解釋。當(dāng)兩個數(shù)據(jù)引腳都通過“上拉”電阻器連接到正5電壓時,就會發(fā)生這種“后退”。這解釋了兩個4k7上拉電阻。 USB引腳2是數(shù)據(jù),必須連接到Arduino的引腳2,USB引腳3是必須連接到Arduino引腳3的時鐘。鍵盤CLK在引腳3上非常重要,因為這是讀取鍵盤代碼的中斷例程。
左下角的Eeprom模塊是標(biāo)準(zhǔn)的I2C設(shè)備,可以連接到鍵盤的A4和A5。 Arduino的。在Mega上,這些不是標(biāo)準(zhǔn)的I2C引腳,但我使用非常簡單的軟件I2C,并且占用的內(nèi)存很少,可以使用這些引腳。
壓電蜂鳴器必須是被動類型,并且可以連接在接地和引腳8。該引腳是軟件定義的,您可以使用任何其他引腳。
顯示器的連接要復(fù)雜一些,因為顯示線均為3v3(盡管顯示器電源強大)使用板載電源穩(wěn)壓器時為5V),因此我們必須使用小型轉(zhuǎn)換器板將所有線路從5v轉(zhuǎn)換為3v3并向后轉(zhuǎn)換。這些板具有Hv(高電壓)和Lv(低電壓)側(cè),Hv側(cè)為連接到Arduino,Lv端連接到顯示器。這些轉(zhuǎn)換器是雙向的,因此它們將雙向工作。我使用了來自Arduino Mega中部連接器的SPI信號,該連接器上還有一個額外的電源和接地引腳。將Mosi,Miso和Clk引腳連接到轉(zhuǎn)換器,并將Lv側(cè)連接到顯示器和SD引腳。其他線路(如芯片選擇線,復(fù)位引腳)分別連接至Arduino Mega d5至D10引腳(分別位于Hv側(cè)和Lv一側(cè))至顯示器和SD卡連接器。
用萬用表測試所有連接,通常我至少有一個不良的焊點,看起來像是一個良好的連接,但事實并非如此,在完全組裝完所有零件之后,您可能會永遠(yuǎn)搜索。在給電路板上電之前,還要用萬用表檢查短路情況。
現(xiàn)在是時候測試所有內(nèi)容并加載軟件了。
步驟4:軟件
當(dāng)我開始這個項目時,我打算使用Arduino Nano和盡可能多的標(biāo)準(zhǔn)庫。我發(fā)現(xiàn)(很多次以前)很多標(biāo)準(zhǔn)庫的內(nèi)存占用非常大,它們通常具有比我需要的功能更多的功能,有時并不能提供我需要的所有功能。我自己寫了很多小型庫,例如一個簡單的I2C庫,它不占用大量內(nèi)存,只具有一些功能。我還為顯示器和鍵盤編寫了庫,以便僅用最少的內(nèi)存就可以擁有所需的功能。 Arduino Nano受到限制,因此在項目進(jìn)行到一半時,我將其更改為具有更多I/O引腳和8 K內(nèi)存的Arduino Mega。我現(xiàn)在使用的唯一外部庫是Arduino IDE軟件包中標(biāo)準(zhǔn)的SDcard庫。如果您將文件解壓縮到Arduino項目目錄中,則應(yīng)該能夠?qū)⑵渚幾g為Arduino Mega開發(fā)板并上傳。我提供了完整的源代碼(請保留我的名字),您可以根據(jù)需要進(jìn)行修改或擴(kuò)展。可以從我的網(wǎng)站下載該軟件包的最新版本(1.0.1):https://www.heinpragt.com/techniek/arduino/arduino_basic_computer.php。在Arduino草圖文件夾中,還有一個(Word)文檔,其中包含基本語言的文檔。
在我的網(wǎng)站上,您還可以下載用于3D打印機的一組STL文件,以打印我為我的版本設(shè)計這種情況下具有顯示器的安裝點,外部的Arduino Mega底部具有連接器,用于連接外部設(shè)備。
簡單的示例基本程序
10 REM PROGRAM TO CONVERT FROM FAHRENHEIT TO CELSIUS
15 CLS
20 INPUT “Temperature in Fahrenheit”;F
30 C=5/9*(F-32)
40 PRINT “Temperature in Celsius is : ”;C
50 END
步驟5:已知問題
TFT顯示器不支持水平方向的硬件滾動,因此我不得不創(chuàng)建一個軟件滾動條。由于內(nèi)存緩沖區(qū)較小,因此滾動速度很慢。我的建議是使用屏幕區(qū)域,并盡可能避免滾動。
過一會兒,盒子會變得很容易縮開,使零件變得太容易分開,我在零件重疊的情況下在盒子上鉆了一些小孔,并使用很小的螺釘(1毫米)將所有東西緊密地固定在一起。
責(zé)任編輯:wv
-
計算機系統(tǒng)
+關(guān)注
關(guān)注
0文章
290瀏覽量
24461 -
Arduino
+關(guān)注
關(guān)注
188文章
6485瀏覽量
189629 -
TFT顯示屏
+關(guān)注
關(guān)注
1文章
7瀏覽量
2077
發(fā)布評論請先 登錄
相關(guān)推薦
專業(yè)的第三類醫(yī)療器械經(jīng)營企業(yè)計算機系統(tǒng),確保合規(guī)無憂

評論