資料介紹
描述
從為今年的科學(xué)項(xiàng)目制作原創(chuàng)作品的意愿開(kāi)始,我們齊心協(xié)力,對(duì)現(xiàn)有的LEGO Mindostorms 機(jī)器人 MR.B3AM進(jìn)行了審查設(shè)計(jì)。與該設(shè)計(jì)不同,盡管我們的 LEGO EV3 DNA 掃描儀所做的不僅僅是“咀嚼”一塊單色磚來(lái)說(shuō)明它的長(zhǎng)度,我們的掃描一系列 8 2×2 磚,可以是紅色、綠色、藍(lán)色和黃色,將這個(gè)序列與如果序列與神話生物的序列匹配,則返回內(nèi)部數(shù)據(jù)庫(kù)并報(bào)告。一個(gè)項(xiàng)目怎么樣!
我們?cè)噲D解決什么
基本思想非常簡(jiǎn)單。DNA有四種組合:
- 在
- 助教
- CG
- GC
LEGO EV3 Mindstorms 套裝中的顏色傳感器可以檢測(cè) 8 種顏色,其中包括藍(lán)色、綠色、黃色和紅色。我們?yōu)槊總€(gè)組合分配了一種顏色:
- AT - 藍(lán)色
- 助教 - 綠色
- CG - 黃色
- GC - 紅色
由于我們無(wú)法構(gòu)建太長(zhǎng)的序列,我們決定將自己限制在 8 個(gè) 2x2 的磚塊上,這為我們的生物提供了大量的組合。

我兒子認(rèn)為它們都是神話生物,他想出了 10 個(gè)序列:
Alicorn
Chupacabra
Dragon
Gargoyle
Minotaur
Nessie (Loch Ness monster)
Pegasus
Phoenix
Unicorn
Yeti
每種顏色都與一個(gè)數(shù)字相關(guān)聯(lián),當(dāng)需要將信息存儲(chǔ)在變量中時(shí),該數(shù)字非常方便。當(dāng)時(shí)的序列是:
Alicorn 43255542
Chupacabra 44355232
Dragon 33345422
Gargoyle 43542532
Minotaur 55432224
Nessie (Loch Ness monster) 33225243
Pegasus 35242255
Phoenix 22244535
Unicorn 44352432
Yeti 43255235
構(gòu)建機(jī)器人
現(xiàn)在我們有了我們的樣品,我們必須構(gòu)建機(jī)器人并在此過(guò)程中對(duì)其進(jìn)行修改,以接受比 MR.B3AM 更大的棒。不得不說(shuō),一個(gè)人可以用 1x1 和 1xN 底板制造棒,但這些和平很少發(fā)生,我們不想等待 Bricklink 運(yùn)送我們需要的所有東西,更不用說(shuō)花時(shí)間尋找它們了.

正如您可以從下面的照片中看到的那樣,與最初的 Mr.B3AM 設(shè)計(jì)相比,我們的設(shè)計(jì)略高,4 個(gè)齒輪間距更寬。

其余部分沒(méi)有太大變化,實(shí)際上電機(jī)和 EV3 積木已按照原始說(shuō)明安裝。

不幸的是,我們沒(méi)有記錄構(gòu)建過(guò)程中所需的更改,但其他人應(yīng)該不太難弄清楚。
編碼
在機(jī)械、電子和軟件之間保持適當(dāng)?shù)钠胶饪偸呛芾щy。在某些平臺(tái)上比其他平臺(tái)更多。遺憾的是,對(duì)于 LEGO EV3,電子方面不可用,因?yàn)樵撈脚_(tái)并沒(méi)有真正提供任何方法來(lái)輕松擴(kuò)展定制電路,我認(rèn)為這是一種恥辱,尤其是在 Arduino、ESP 和 Raspberry Pi 的時(shí)代。在我們的例子中,由于構(gòu)建是 MR.B3AM 的模型,因此重點(diǎn)肯定是代碼。
我們沒(méi)有從中獲得靈感的是 MR.B3AM 的代碼,因?yàn)槲覀冏畛跽J(rèn)為我們知道得更好:) 我們沒(méi)有:(

視覺(jué)平臺(tái)非常直觀,這是我兒子大部分時(shí)間都在做的事情。
在第一部分,他的任務(wù)是開(kāi)發(fā)主程序,負(fù)責(zé)將 DNA 棒移動(dòng)到顏色傳感器前,依次檢索 2x2 磚塊的顏色,說(shuō)出顏色并顯示,存儲(chǔ)每種顏色在數(shù)字?jǐn)?shù)組名稱(chēng)樣本上,重復(fù)該過(guò)程 8 次并彈出棒。

第二部分要復(fù)雜得多,至少對(duì)我來(lái)說(shuō)是這樣 :) 使用從第一部分收集的樣本,他應(yīng)該使用我的自定義塊Find_Sample_DB它返回野獸的名稱(chēng)或未找到以防序列是未知的。然后,他將輸出輸入到一個(gè)開(kāi)關(guān)塊中,該開(kāi)關(guān)塊播放動(dòng)物的噪音并顯示它的名字。未找到任何內(nèi)容時(shí),播放錯(cuò)誤并顯示未知。

在幕后,一系列非平凡的定制塊讓我有時(shí)后悔開(kāi)始這個(gè)項(xiàng)目。例如,數(shù)組是一種以不尋常的方式處理的東西,我不得不花一些時(shí)間來(lái)了解如何使用它們。一旦我完成了陣列比較塊,就可以知道我們收集的樣本實(shí)際上是否與我們的神話生物之一相同。這里的困難是將我在“普通”書(shū)面語(yǔ)言中學(xué)到的東西分塊呈現(xiàn)出來(lái)。

在我看來(lái),塊失敗的地方是,在某些時(shí)候你可以很容易地失去情節(jié),特別是如果 GUI 決定重新路由各種電線 OMG!這是一個(gè)更復(fù)雜的自定義塊的情況,我從“DB”文件中讀取已知樣本并進(jìn)入臨時(shí)數(shù)組。
DB 只是一個(gè)長(zhǎng)文本文件,我在其中一個(gè)接一個(gè)地寫(xiě)下每只野獸的編號(hào)。在 8 的倍數(shù)中,我可以從一個(gè)到另一個(gè),這就是我所做的,因?yàn)樽x取文件塊在每次讀取后將索引移動(dòng)到下一個(gè)元素。
4
4
3
5
2
4
3
2
3
5
前八個(gè) (0..7) 是獨(dú)角獸,然后是飛馬座 (8, 9),依此類(lèi)推。
因此,您打開(kāi)文件并在關(guān)閉它之前,盡管最終您必須關(guān)閉它,但要對(duì)文件中的第 6 個(gè)數(shù)字說(shuō)您調(diào)用讀取文件塊 6 次。
這就是File To Array所做的,因此它不會(huì)錯(cuò)過(guò)第一個(gè)序列 我創(chuàng)建了一個(gè)特殊的開(kāi)關(guān),如果指定的偏移量為 0,它什么也不做
該塊實(shí)際上期望輸入數(shù)據(jù)庫(kù)文件的名稱(chēng),一個(gè)數(shù)字 N 指示從哪里開(kāi)始尋找 DNA 序列和我們收集的樣本。它返回一個(gè)數(shù)組,代表我們文件中第 N 個(gè)野獸的 DNA。

使用這兩個(gè)自定義塊,我可以創(chuàng)建最后三分之一,它需要作為輸入文件的名稱(chēng)和收集的樣本返回一個(gè)字符串,該字符串是未找到的野獸的名稱(chēng)。
如果文件已被讀取超過(guò)其末尾,則File To Array塊將返回 0,這意味著尋找神話野獸的任務(wù)最終沒(méi)有找到。兩個(gè)紅色塊和相鄰的開(kāi)關(guān)處理這種情況,如果不是我們到達(dá)文件末尾的情況,開(kāi)關(guān)告訴我們我們?nèi)匀豢梢圆⑶艺谒阉鳌?/font>
第一次進(jìn)入這個(gè)塊時(shí),我們從頭開(kāi)始讀取數(shù)據(jù)庫(kù)文件,我們得到第一個(gè)已知序列,恰好是獨(dú)角獸,然后我們將它與我們收集的樣本進(jìn)行比較。

如果它們是匹配的,那么我們找到了!如果不是,我們將File_Offset變量增加 8 并通過(guò)在循環(huán)開(kāi)始處返回來(lái)移動(dòng)到下一個(gè)已知序列。

當(dāng)我們找到樣本時(shí),或者如果我們?cè)跊](méi)有匹配的情況下遍歷整個(gè) DB 文件,我們會(huì)中斷Sample_in_DB循環(huán)。退出循環(huán)后,我們以數(shù)字方式計(jì)算匹配的序列并使用開(kāi)關(guān)返回正確的 DNA 序列。例如,如果我們的變量File_Offset是 24,那么我們知道第 3 個(gè)生物是匹配的,我們返回一個(gè)字符串為 Dragon。返回一個(gè)刺痛而不是一個(gè)數(shù)值讓我兒子的事情變得更容易,所以雖然不是最好的方法,但它對(duì)我們的需求是有效的。
最后的想法
這是一段很棒的旅程,我和我的兒子在這個(gè)平臺(tái)上學(xué)到了很多東西,這個(gè)平臺(tái)既強(qiáng)大又有趣。看看 EV3 如何與MicroPython和Scratch一起工作將會(huì)很有趣,以便能夠?qū)Ρ群捅容^每個(gè)平臺(tái)的優(yōu)缺點(diǎn),這些平臺(tái)顯然具有不同的年齡目標(biāo),但仍然可以提供一些重疊的范圍。
我希望傳感器和配件不要那么貴,我們喜歡樂(lè)高,但這個(gè)平臺(tái)的成本并不能幫助休閑愛(ài)好者或不那么富有的人負(fù)擔(dān)得起。在我們的案例中,我認(rèn)為我們不會(huì)輕易冒險(xiǎn)購(gòu)買(mǎi)陀螺儀、超聲波傳感器或電池組。
平臺(tái)不開(kāi)放以方便擴(kuò)展的事實(shí)有點(diǎn)打擊,我的意思是樂(lè)高畢竟是一塊磚上的磚,我知道有保護(hù)品牌的愿望和需要,但我我不是封閉系統(tǒng)的忠實(shí)擁護(hù)者,我認(rèn)為它們是有限的,而且主要是有限的。
總而言之,這很有趣,如果你碰巧有一輛 EV3,你當(dāng)然應(yīng)該花時(shí)間探索它的可能性。這個(gè)平臺(tái)已經(jīng)存在了很長(zhǎng)一段時(shí)間,也許一個(gè)新的平臺(tái)很快就會(huì)出現(xiàn),事實(shí)上我看到其中有很多在 eBay 上出售,所以也許現(xiàn)在是投資的好時(shí)機(jī)一。
- LEGO EV3 Baby Yoda-Alexa控制的EV3機(jī)器人
- 由Mindstorms EV3和Alexa提供支持的LEGO Target Practice
- 由Alexa控制的Lego Mindstorms EV3機(jī)器人
- 如何讓Lego Ev3機(jī)器人與BluPants一起工作
- 3D掃描儀的構(gòu)建
- 英特爾愛(ài)迪生WiFi掃描儀開(kāi)源分享
- 使用LEGO MINDSTORMS EV3 Amazon Alexa構(gòu)建的Shelly解決方案
- Alexa EV3糖果機(jī)開(kāi)源分享
- 基特掃描儀開(kāi)源分享
- DAVID 3D激光掃描儀的中文使用說(shuō)明書(shū)免費(fèi)下載 11次下載
- 掃描儀電路圖 13次下載
- 掃描儀開(kāi)關(guān)電源電路 0次下載
- TL(TL2)型光幕掃描儀
- 基于USB接口的彩色掃描儀的優(yōu)化設(shè)計(jì)
- 生物芯片掃描儀設(shè)計(jì)
- 大幅掃描儀掃描地圖怎么操作 746次閱讀
- 何為電磁干擾(EMI)掃描儀,哪里需要它? 472次閱讀
- 如何選擇電磁干擾(EMI)掃描儀,看看這幾點(diǎn) 579次閱讀
- 3D三維掃描儀的光學(xué)測(cè)量技術(shù)知識(shí) 583次閱讀
- 工業(yè)級(jí)gom三維掃描儀的工作原理 981次閱讀
- 多功能安全掃描儀工具介紹 831次閱讀
- 利用GT511C3指紋傳感器模塊的指紋掃描儀設(shè)計(jì) 1101次閱讀
- 工業(yè)和醫(yī)療市場(chǎng)通過(guò)無(wú)線充電實(shí)現(xiàn)真正的無(wú)線條碼掃描儀 1198次閱讀
- 掃描儀驅(qū)動(dòng)的安裝步驟 1.6w次閱讀
- 掃描儀使用注意事項(xiàng) 3904次閱讀
- 自制手機(jī)電影掃描儀教程 6516次閱讀
- 高拍儀和掃描儀有何區(qū)別_高拍儀和掃描儀哪個(gè)好 1.8w次閱讀
- 三維掃描儀的工作原理 1.8w次閱讀
- 三維掃描儀使用方法及操作技巧 2.2w次閱讀
- 三維掃描儀的應(yīng)用 6054次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論