圖 1 摸高裝置
#項(xiàng)目起源#
小朋友正處在身體發(fā)育期時(shí),特別喜歡爬低上高。多運(yùn)動(dòng)對(duì)孩子身體發(fā)育自然是有好處的,尤其是對(duì)于父母身高沒有天然優(yōu)勢(shì)的孩子來說,更要注重體育鍛煉。作為一名創(chuàng)客奶爸就想讓孩子能夠多跳一跳,多去摸高,同時(shí)還在思考如果能夠在孩子摸高的時(shí)候增加一些趣味性,那樣孩子應(yīng)該會(huì)漸漸喜歡運(yùn)動(dòng),于是旺仔爸爸自制了一款摸高裝置,本期分享我們就一起來看一下此裝置是如何制作完成的。
圖 2 摸高裝置我們先通過下面視頻來看一下摸高裝置的設(shè)計(jì)制作過程
#方案介紹#
作品設(shè)計(jì)的第一步,需要確定設(shè)計(jì)方案。這次設(shè)計(jì)的摸高裝置最大的特點(diǎn)就是為了吸引孩子,摸高的同時(shí)要能夠增加趣味性,并且可以適應(yīng)不同年齡、不同身高的孩子使用。我們將摸高裝置設(shè)計(jì)為圓形的盒子,背部安裝磁吸螺母,只需要吸附在金屬的防盜門或者冰箱上即可使用。
為了增加趣味性,在裝置中設(shè)計(jì)一個(gè)具有按下回彈效果的面板,并且能夠?qū)崿F(xiàn)計(jì)數(shù),最好還能將摸高的次數(shù)顯示在屏幕中,同時(shí)伴隨燈光和聲音的提示效果。初步確定方案后,下面我們選擇能夠滿足設(shè)計(jì)需求的器材
電子部件
本次作品的功能是能夠?qū)崿F(xiàn)在屏幕中顯示數(shù)字,檢測(cè)按鍵狀態(tài)并計(jì)數(shù),同時(shí)伴隨燈光和蜂鳴器發(fā)出聲音。在前段時(shí)間旺仔爸爸正好收到了一款國(guó)內(nèi)團(tuán)隊(duì)自主研發(fā)的主控——研坤板。它具有小巧的外觀,集成了彩色屏幕、數(shù)字按鍵、RGB燈、蜂鳴器和手勢(shì)識(shí)別傳感器等眾多功能,非常符合我們本次作品設(shè)計(jì)的要求,研坤板如下
圖 3研坤板
要實(shí)現(xiàn)觸碰計(jì)數(shù)的功能,只有控制器還不行,我們還需要外接一個(gè)輕觸開關(guān)來實(shí)現(xiàn)面板按下回彈的效果
電控部分方案確定后, 接下來確定摸高裝置的外觀結(jié)構(gòu)
外觀結(jié)構(gòu)
摸高裝置的外觀結(jié)構(gòu)我們?cè)O(shè)計(jì)為圓形盒子,采用激光切割技術(shù)來加工制作,下圖4為效果圖本次我們制作的摸高裝置的特點(diǎn)是體積只有手掌大小,背后安裝有磁吸螺母,可以隨意調(diào)節(jié)高度和安裝位置
圖 4 摸高裝置的效果仿真圖
摸高裝置外觀結(jié)構(gòu)的關(guān)鍵部位是按下回彈的結(jié)構(gòu),我們?cè)谠O(shè)計(jì)外觀結(jié)構(gòu)時(shí)加入輕觸開關(guān)的孔位,在輕觸開關(guān)的上方放置透明亞克力的面板,面板通過金屬合頁(yè)與圓形盒子連接在一起,這樣就實(shí)現(xiàn)了既可以開合又可以按壓的效果。
圖 5按壓結(jié)構(gòu)設(shè)計(jì)
#設(shè)計(jì)制作#
方案確定后,我們便可開始設(shè)計(jì)制作了首先來設(shè)計(jì)外觀結(jié)構(gòu)的圖紙
圖紙?jiān)O(shè)計(jì)
為了驗(yàn)證裝配細(xì)節(jié),我們先使用Fusion360計(jì)算機(jī)輔助設(shè)計(jì)軟件設(shè)計(jì)三維模型,再將模型轉(zhuǎn)換為適合激光切割機(jī)加工的二維圖紙。其中材料選擇3mm的椴木板和亞克力板
圖 6 三維仿真效果圖
三維模型設(shè)計(jì)完成后,將圖紙加載至LaserMaker激光建模軟件中做處理關(guān)于LserMaker建模軟件可以登錄官方提供的網(wǎng)址下載:https://www.lasermaker.com.cn/ 在軟件中設(shè)置激光切割加工工藝,其中紅色為描線、黑色為切割,為了方便連接電源數(shù)據(jù)線,我們?cè)谄渲幸粔K豎板中設(shè)計(jì)一個(gè)矩形穿線孔位,處理完成的設(shè)計(jì)圖如下
圖 7 摸高裝置設(shè)計(jì)圖
加工零件
圖紙?jiān)O(shè)計(jì)完成后我們使用激光切割機(jī)把它加工出來,切割完成后的零件如下圖8所示
圖 8 激光切割加工完成后的零件實(shí)物圖
器材清單
除了以上外觀結(jié)構(gòu)外,本次摸高裝置還需要使用到如下器材
- 研坤板*1輕觸開關(guān)*1Type-C數(shù)據(jù)線*13mm椴木板*1(40cm*60cm)3mm亞克力板*1(40cm*60cm)杜邦線若干五金件若干
圖 9 摸高裝置的器材清單
器材準(zhǔn)備完成,接下來我們看一下電控部分是如何接線的
電路接線
接線圖如下,從接線圖中我們可以看出,在摸高裝置中我們采用了一個(gè)輕觸開關(guān)作為觸發(fā)檢測(cè)裝置,輕觸開關(guān)的工作原理和按鍵類似,這里我們可以將輕觸開關(guān)與研坤板板載的A鍵并聯(lián)。當(dāng)按下輕觸開關(guān)時(shí)就相當(dāng)于按下了A鍵,這樣就可以在不需要制作傳感器外圍電路的情況下達(dá)到檢測(cè)按下狀態(tài)的效果了。
圖 10 摸高裝置電路接線示意圖
一切準(zhǔn)備工作就緒,現(xiàn)在就可以開始進(jìn)入激動(dòng)人心的組裝環(huán)節(jié)了
#組裝#
摸高裝置的組裝不算很復(fù)雜,只需兩步即可完成第一步 安裝電子部件首先我們安裝電子部件,本次摸高裝置的電子部件只有研坤板和輕觸開關(guān)兩個(gè),我們將這兩個(gè)部件安裝在頂層木板中,零件如下圖11
圖 11 電路板安裝電子部件安裝完成如下圖所示
圖 12 電子部件安裝完成第二步 組裝框架結(jié)構(gòu)
電子部件安裝完成,下面安裝亞克力面板,使用金屬合頁(yè)將亞克力板與頂層木板進(jìn)行安裝,下圖是所需的零件
圖 13 安裝電位器亞克力面板安裝完成如下圖所示
圖14 亞克力面板安裝完成
接下來,我們將側(cè)面的木板和底層木板進(jìn)行安裝,零件如下圖15所示
圖 15 側(cè)面和底層木板
側(cè)板和底板安裝完成如下圖16所示
圖 16 側(cè)面和底層木板安裝完成
最后,在底層木板和上層木板中安裝四個(gè)尼龍柱,起到連接固定兩塊木板的作用
圖 17頂層和底層木板合體
頂層木板和底層木板合體后效果如下圖所示
圖 18 安裝完成
圖 19
最后,我們?cè)诘撞堪惭b四顆磁吸螺母,摸高裝置就組裝完成了
圖 20 磁吸螺母
安裝了磁吸螺母的裝置可以很輕松的吸附在冰箱上
圖 21 摸高裝置吸附在冰箱上
作品組裝完成,最后我們編寫程序?yàn)樽髌纷⑷腱`魂
#程序設(shè)計(jì)#
編程思路
本次我們制作的摸高裝置,程序設(shè)計(jì)的重點(diǎn)在于如何計(jì)數(shù)并顯示在屏幕中,然后伴隨聲音和燈光的效果提示下面是編程思路,我們根據(jù)編程思路來一步步完成
圖 22 程序設(shè)計(jì)思維導(dǎo)圖
準(zhǔn)備工作
為降低編程的門檻我們使用Mind+圖形化編程環(huán)境進(jìn)行程序設(shè)計(jì)編程環(huán)境需要使用研坤板團(tuán)隊(duì)定制版本的Mind+環(huán)境,可以到下面鏈接中下載鏈接:https://pan.baidu.com/s/1N2ta3xL-omKoJGQVb-Pk6w提取碼:ABCD解壓后即可雙擊打開軟件,首先我們需要加載研坤板的用戶庫(kù),在Mind+編程環(huán)境中選擇上傳模式,選擇“掌控板”作為主控板
圖 23 選擇主控板
隨后,點(diǎn)擊用戶庫(kù),按照下圖所示步驟,導(dǎo)入已經(jīng)下載好的研坤板用戶庫(kù)文件
圖 24 加載用戶庫(kù)
當(dāng)加載完成后,就可以看到如下圖所示的研坤板用戶庫(kù)了
圖 25 研坤板用戶庫(kù)
這樣,準(zhǔn)備工作就完成了。現(xiàn)在就可以將研坤板通過數(shù)據(jù)線連接到電腦隨心所欲的編寫程序了。當(dāng)連接好數(shù)據(jù)線后,軟件上方的“連接設(shè)備”選項(xiàng)中將出現(xiàn)一個(gè) COM 口,點(diǎn)擊“COMxx-CP210x”連接即可,如果完成物理連接后,未出現(xiàn)圖示中的COMXX 則需要安裝串口驅(qū)動(dòng)??梢缘较螺d的資源庫(kù)文件夾找到ESPUploader依賴文件并安裝。軟件成功連接研坤板后,點(diǎn)擊軟件左側(cè)的用戶庫(kù)即可看到研坤板編程時(shí)需要用到的程序塊,程序塊如下圖26
圖 26研坤板程序塊
程序設(shè)計(jì)的重點(diǎn)是按下裝置的亞克力面板可以進(jìn)行計(jì)數(shù),并伴隨燈光和蜂鳴器的提示效果。
板載傳感器測(cè)試
首先我們來測(cè)試一下板載的按鍵、蜂鳴器、RGB燈以及彩色屏幕的使用方法RGB燈的使用方法我們?cè)谲浖芯帉懭缦聢D27的測(cè)試程序,設(shè)置板載的RGB燈亮一秒滅一秒
圖 27 RGB燈測(cè)試程序
研坤板載了3顆RGB燈,可以通過修改燈號(hào)和顯示的顏色來點(diǎn)亮不同的燈
圖 28 板載RGB燈的編程方法
RGB燈珠的顏色除了可以從內(nèi)置的顏色中進(jìn)行選擇以外,也可以通過下面的模塊調(diào)節(jié)RGB的數(shù)值來修改顏色。如果要生成隨機(jī)的顏色,可以通過變量賦值隨機(jī)數(shù)來實(shí)現(xiàn)
圖 29 RGB數(shù)值調(diào)節(jié)燈珠顏色
蜂鳴器的使用方法學(xué)會(huì)了RGB燈的使用,下面我們學(xué)習(xí)蜂鳴器的使用方法蜂鳴器是一種最簡(jiǎn)單的發(fā)聲裝置,只要簡(jiǎn)單的高低電平信號(hào)就能夠驅(qū)動(dòng)。它結(jié)構(gòu)簡(jiǎn)單、應(yīng)用豐富,能夠模擬我們生活中許多聲音和音樂。我們可以編寫如下圖30的測(cè)試程序,通過設(shè)置不同的音符來發(fā)出不同的聲音
圖 30 蜂鳴器的使用
板載按鍵使用方法
下面,我們來學(xué)習(xí)板載按鍵的使用方法,由于我們將輕觸開關(guān)與按鍵A進(jìn)行了并聯(lián),所以學(xué)會(huì)了按鍵A的使用,自然就學(xué)會(huì)了輕觸開關(guān)的使用。我們編程如下圖31的測(cè)試程序,設(shè)置當(dāng)按鍵A被按下后播放音符和點(diǎn)亮全部的RGB燈,否則既不發(fā)聲也不亮燈
圖 31 板載按鍵的使用
彩色屏幕的使用方法
最后,我們來學(xué)習(xí)研坤板板載的彩色屏幕的使用方法,我們可以在上面的程序中加入顯示圖片的程序,當(dāng)檢測(cè)到按鍵A被按下后播放聲音和點(diǎn)亮RGB的同時(shí)顯示圖片
圖 32 屏幕測(cè)試
這里需要注意的是,研坤板顯示的字體和圖片是需要提前加載到控制板的內(nèi)存中的。方法如下圖33所示,使用官方提供的下載工具,電腦連接研坤板,選擇正確的COM口,波特率修改為最大1152000,字體根據(jù)需要選擇(注意一般可以同時(shí)選擇2種字體,但是特大字體只能選擇1種),之后選擇需要上傳data文件夾,根據(jù)mind+下使用的用戶庫(kù)類型選擇模式,選擇arduinoC模式,最后點(diǎn)擊打包并上傳,當(dāng)出現(xiàn)“上傳成功”字樣代表上傳完成
圖 33 研坤板加載文件
注意一定要選擇正確的文件路徑,有可能data文件中還會(huì)有一個(gè)同名的data文件夾,需要仔細(xì)查看
圖 34 data文件夾
當(dāng)需要用到的素材都已加載完畢后,現(xiàn)在就可以調(diào)用文字或圖片進(jìn)行顯示測(cè)試了
圖 35 圖片顯示
關(guān)于研坤板板載傳感器的基本使用方法都已掌握后,我們就可以設(shè)計(jì)摸高裝置的程序了批量生成圖片要實(shí)現(xiàn)摸高計(jì)數(shù),可以設(shè)計(jì)一個(gè)變量用來存放計(jì)數(shù)值,并將記錄的數(shù)字顯示在屏幕中,為了讓數(shù)字盡可能的充滿整個(gè)屏幕,最大號(hào)的文字已經(jīng)不能滿足我們的需求,這里我們需要將數(shù)字制作成圖片進(jìn)行顯示,下面提供兩種制作圖片的方法
第一種是打開電腦系統(tǒng)自帶的畫圖工具,在畫圖工具中設(shè)置不同數(shù)字的內(nèi)容,并保存,這種方法簡(jiǎn)單但有點(diǎn)繁瑣
圖 36 使用畫圖軟件制作圖片
第二種是編寫Python程序自動(dòng)生成不同數(shù)字的圖片,特點(diǎn)就是需要一定的編程門檻,但可以節(jié)約時(shí)間提高效率。關(guān)于Python批量生成圖片的程序代碼如下,程序運(yùn)行之前需要提前安裝圖片處理庫(kù)Pillow
from PIL import Image,ImageDraw,ImageFont # pip install pillow
#字體
setFont = ImageFont.truetype('李旭科書法.ttf', 220)
#字體顏色
fillColor = "#000000" #black
for i in range(1,101):
#新建像素為240*240的白色背景圖片
newImg = Image.new('RGB', (240, 240), (255, 255, 255))
#新建繪圖對(duì)象
draw = ImageDraw.Draw(newImg)
text = str(i)
if i < 10:
x = 100
name = "00"+text
elif i > 99:
x = 0
name = text
else:
x = 50
name = "0"+text
#在圖片中繪制文字
draw.text((x,00),text,font=setFont,fill=fillColor,direction=None)
#保存圖片
newImg.save('Img{}.jpg'.format(i))
運(yùn)行Python程序即可生成如下1-100的圖片,當(dāng)然生成圖片的數(shù)量可以在程序中進(jìn)行修改
圖 38 Python批量制作圖片
關(guān)于制作圖片的方法這里大家可以自行選擇
當(dāng)圖片素材制作完成后,我們還需要按照之前加載文件的方法將圖片加載到研坤板中才可以使用,這里需要注意的是,研坤板在ArduinoC模式下的可用空間為9MB,內(nèi)存大小有限,所以能夠存放的圖片或音頻文件的數(shù)量是有限制的,根據(jù)實(shí)際使用需求來調(diào)整,并且圖片只支持BMP和JPG格式,需要設(shè)定成240*240像素的真彩形式 s
完整程序
最后,附上摸高裝置的完整程序
圖 39 完整程序
至此,摸高就制作完成了跳多了真能長(zhǎng)高嗎?我想多運(yùn)動(dòng)總歸是好事情。
#總結(jié)#
在本次的摸高裝置作品中,我們學(xué)會(huì)了使用Python程序批量制作圖片的方法,學(xué)會(huì)了使用研坤板計(jì)數(shù)并顯示的方法。更重要的是,要留意觀察生活中的細(xì)節(jié),將所掌握的技能應(yīng)用在生活中,為生活添加趣味,保持一顆熱愛生活的心希望朋友們能夠發(fā)現(xiàn)生活中的美好,制作更精彩的作品
以上就是本次分享的全部?jī)?nèi)容了造物讓生活更美好,我們下期再見