基于ESP32設(shè)計(jì)井字游戲
大家好,這是我們井字游戲項(xiàng)目背后的故事。
大約六個(gè)月前,我們開(kāi)始考慮我們想要在培訓(xùn)的第二年創(chuàng)建什么樣的項(xiàng)目。起初,我們有用機(jī)器人做點(diǎn)什么的想法,但一段時(shí)間后,我們意識(shí)到這并沒(méi)有真正讓我們興奮。所以我們討論了其他可能性,最終想到了創(chuàng)造一款電子象棋游戲。
然而,在我們考慮制作完整的電子棋盤(pán)之前,我們需要一個(gè)較小的原型來(lái)測(cè)試我們的概念。這就引出了一個(gè)重要的問(wèn)題:哪款桌面游戲使用了一個(gè)簡(jiǎn)單的3×3網(wǎng)格?答案很明顯——一字棋。這是一個(gè)完美的起點(diǎn):小的,可管理的,但仍然具有足夠的挑戰(zhàn)性,教會(huì)我們?cè)诟蟮捻?xiàng)目中所需要的一切。
從那時(shí)起,我們的任務(wù)就明確了。我(Leander)創(chuàng)建了所有的STL文件,并確保硬件組件能夠正確地協(xié)同工作。Simon專(zhuān)注于編程方面,因?yàn)樗诰幋a方面更有經(jīng)驗(yàn),而且更擅長(zhǎng)編程。通過(guò)結(jié)合這兩種技能,我們能夠開(kāi)發(fā)出功能齊全且協(xié)調(diào)良好的原型。
這就是我們?nèi)绾瓮瓿蛇@個(gè)井字游戲項(xiàng)目的。從一個(gè)簡(jiǎn)單的測(cè)試設(shè)置變成了一個(gè)有趣和有教育意義的經(jīng)歷,把我們帶到了今天。
裝配指導(dǎo)
這些都是需要3D打印的部件。你可以用任何你喜歡的顏色打印這些,除了字段必須是半透明的。
1 ×頂蓋:
這是游戲的封面;它覆蓋了大部分的中間部分,但有一個(gè)洞的鈕扣。
1 x中間部分:
這個(gè)部分有用于場(chǎng)地的孔,這是你連接所有電子設(shè)備,led,按鈕,電池和ESP32的地方。
1x底板
這是底部的盤(pán)子,所以不會(huì)掉出來(lái)。
9xField
這些是你按壓的領(lǐng)域。由于LED必須是可見(jiàn)的,所以建議您使用透明燈絲。
步驟1:加熱刀片
中間部分有2根柱子,設(shè)計(jì)用于2 M3加熱插入件。(在第4頁(yè)右邊的圖片中用綠色標(biāo)出)。將加熱后的插入物插入孔中,然后使用熱烙鐵施加壓力,直到完全就位,等待直到它變冷。
步驟2:LED組裝
這是第一排和第三排的LED組件。
下面的圖片是一個(gè)原型。
你需要制作9個(gè)LED背光,放在中間部分,如下圖所示。
按照參考圖片(我們用藍(lán)色標(biāo)記led)。焊接5V到5V, GND到GND, DOUT到DIN使用跳線切割到正確的長(zhǎng)度。之后,剝線結(jié)束,并將其焊接到LED。
請(qǐng)將電纜穿過(guò)紅色孔位。從DIN側(cè)穿過(guò)左孔,從DOUT側(cè)穿過(guò)右孔。確保沒(méi)有l(wèi)ed被覆蓋,所有周?chē)亩幢3智逦?
對(duì)于第二行,情況有點(diǎn)不同:DOUT線應(yīng)該在左邊,這樣你就可以將DOUT連接到下一個(gè)LED的DIN,而DIN線在右邊,如圖所示。
現(xiàn)在我們將進(jìn)入第三步-將led連接在一起。按照下圖所示的布局進(jìn)行操作。
紅線表示如何連接LED -每個(gè)DOUT線應(yīng)連接到下一個(gè)LED的DIN。第一個(gè)孔位于左下方,用藍(lán)色圓圈標(biāo)記,表示第一個(gè)LED的位置。三條綠線代表DIN, GND, VCC連接-這些是您需要連接到第一個(gè)LED的數(shù)據(jù)輸入線。
接下來(lái),將USB-C端口放入左邊的孔中,將按鈕放入右邊的孔中。
之后,組裝電池。將兩個(gè)電池平行焊接到電池PCB上的標(biāo)記點(diǎn)上-紅色表示+,藍(lán)色表示-。
然后將USB-C端口焊接到橙色(+)和綠色(-)標(biāo)記的焊盤(pán)上。最后,將兩根導(dǎo)線焊成兩個(gè)+和-;這兩條線稍后將連接到ESP32。
步驟3:ESP32中的布線
我們沒(méi)有直接將導(dǎo)線焊接到ESP32上,而是將一些條帶焊接到PCB上,這樣如果我們想將ESP32用于其他用途,我們就可以將其移除。
連接電源首先,將電源板上的電源線連接到ESP上的相應(yīng)連接,將+ two連接到3.3V引腳,將-TOU連接到GND引腳。
連接LED和按鈕
首先,將LED 5V引腳連接到相應(yīng)的ESP32引腳,并將GND引腳連接到ESP32 GND引腳。
ESP32的數(shù)據(jù)引腳
基于ESP32的電路板上的所有數(shù)據(jù)引腳可能具有不同的用途和內(nèi)部連接,這意味著并非所有數(shù)據(jù)引腳都能夠用作I/O,用于LED數(shù)據(jù)引腳或按鈕等操作。因此,對(duì)于下一部分,您需要修改代碼,但不用擔(dān)心,這一切都保持得非常簡(jiǎn)單。
首先,找出你有什么ESP32板,并為它找到合適的引腳。在這里,您可以檢查哪些引腳可以用于I/O。確保它們沒(méi)有其他功能,如RxD, TxD, Rst, Boot或任何其他特定選項(xiàng),這取決于板的類(lèi)型。
Neopixel led需要1個(gè)引腳,按鈕需要6個(gè)引腳。
LED引腳
在代碼的第21行,您將發(fā)現(xiàn)。
#定義LEDPIN
在這里,您將用您為L(zhǎng)ED數(shù)據(jù)引腳選擇的任何引腳編號(hào)替換4。然后,將連接到LED上DIN的電線焊接到所選引腳上。
步驟4:編碼
在將代碼上傳到ESP32之前,請(qǐng)下載以下庫(kù)。
Adafruit新像素,esp32。
然后您可以復(fù)制粘貼代碼,調(diào)整代碼中的一些設(shè)置,就像在步驟3中解釋的那樣,然后玩得開(kāi)心。
步驟5:3d打印組裝
在你把所有的東西連接在一起之后,我們就可以開(kāi)始組裝3d打印的部件了。
首先,將頂部覆蓋到中間部分,使厚邊框?qū)R。一旦它們被正確定位,用熱熔膠把它們粘在一起。
接下來(lái),連接底板。確保USB-C端口和按鈕的孔與中間部分的孔對(duì)齊。使用m3 × 6mm螺釘。
然后,把字段放在它們的位置上,它們?cè)诘?頁(yè)上被標(biāo)記為紅色。
原理圖
本文編譯自hackster.io





