資料介紹
描述
從為今年的科學項目制作原創作品的意愿開始,我們齊心協力,對現有的LEGO Mindostorms 機器人 MR.B3AM進行了審查設計。與該設計不同,盡管我們的 LEGO EV3 DNA 掃描儀所做的不僅僅是“咀嚼”一塊單色磚來說明它的長度,我們的掃描一系列 8 2×2 磚,可以是紅色、綠色、藍色和黃色,將這個序列與如果序列與神話生物的序列匹配,則返回內部數據庫并報告。一個項目怎么樣!
我們試圖解決什么
基本思想非常簡單。DNA有四種組合:
- 在
- 助教
- CG
- GC
LEGO EV3 Mindstorms 套裝中的顏色傳感器可以檢測 8 種顏色,其中包括藍色、綠色、黃色和紅色。我們為每個組合分配了一種顏色:
- AT - 藍色
- 助教 - 綠色
- CG - 黃色
- GC - 紅色
由于我們無法構建太長的序列,我們決定將自己限制在 8 個 2x2 的磚塊上,這為我們的生物提供了大量的組合。
我兒子認為它們都是神話生物,他想出了 10 個序列:
Alicorn
Chupacabra
Dragon
Gargoyle
Minotaur
Nessie (Loch Ness monster)
Pegasus
Phoenix
Unicorn
Yeti
每種顏色都與一個數字相關聯,當需要將信息存儲在變量中時,該數字非常方便。當時的序列是:
Alicorn 43255542
Chupacabra 44355232
Dragon 33345422
Gargoyle 43542532
Minotaur 55432224
Nessie (Loch Ness monster) 33225243
Pegasus 35242255
Phoenix 22244535
Unicorn 44352432
Yeti 43255235
構建機器人
現在我們有了我們的樣品,我們必須構建機器人并在此過程中對其進行修改,以接受比 MR.B3AM 更大的棒。不得不說,一個人可以用 1x1 和 1xN 底板制造棒,但這些和平很少發生,我們不想等待 Bricklink 運送我們需要的所有東西,更不用說花時間尋找它們了.
正如您可以從下面的照片中看到的那樣,與最初的 Mr.B3AM 設計相比,我們的設計略高,4 個齒輪間距更寬。
其余部分沒有太大變化,實際上電機和 EV3 積木已按照原始說明安裝。
不幸的是,我們沒有記錄構建過程中所需的更改,但其他人應該不太難弄清楚。
編碼
在機械、電子和軟件之間保持適當的平衡總是很困難。在某些平臺上比其他平臺更多。遺憾的是,對于 LEGO EV3,電子方面不可用,因為該平臺并沒有真正提供任何方法來輕松擴展定制電路,我認為這是一種恥辱,尤其是在 Arduino、ESP 和 Raspberry Pi 的時代。在我們的例子中,由于構建是 MR.B3AM 的模型,因此重點肯定是代碼。
我們沒有從中獲得靈感的是 MR.B3AM 的代碼,因為我們最初認為我們知道得更好:) 我們沒有:(
視覺平臺非常直觀,這是我兒子大部分時間都在做的事情。
在第一部分,他的任務是開發主程序,負責將 DNA 棒移動到顏色傳感器前,依次檢索 2x2 磚塊的顏色,說出顏色并顯示,存儲每種顏色在數字數組名稱樣本上,重復該過程 8 次并彈出棒。
第二部分要復雜得多,至少對我來說是這樣 :) 使用從第一部分收集的樣本,他應該使用我的自定義塊Find_Sample_DB它返回野獸的名稱或未找到以防序列是未知的。然后,他將輸出輸入到一個開關塊中,該開關塊播放動物的噪音并顯示它的名字。未找到任何內容時,播放錯誤并顯示未知。
在幕后,一系列非平凡的定制塊讓我有時后悔開始這個項目。例如,數組是一種以不尋常的方式處理的東西,我不得不花一些時間來了解如何使用它們。一旦我完成了陣列比較塊,就可以知道我們收集的樣本實際上是否與我們的神話生物之一相同。這里的困難是將我在“普通”書面語言中學到的東西分塊呈現出來。
在我看來,塊失敗的地方是,在某些時候你可以很容易地失去情節,特別是如果 GUI 決定重新路由各種電線 OMG!這是一個更復雜的自定義塊的情況,我從“DB”文件中讀取已知樣本并進入臨時數組。
DB 只是一個長文本文件,我在其中一個接一個地寫下每只野獸的編號。在 8 的倍數中,我可以從一個到另一個,這就是我所做的,因為讀取文件塊在每次讀取后將索引移動到下一個元素。
4
4
3
5
2
4
3
2
3
5
前八個 (0..7) 是獨角獸,然后是飛馬座 (8, 9),依此類推。
因此,您打開文件并在關閉它之前,盡管最終您必須關閉它,但要對文件中的第 6 個數字說您調用讀取文件塊 6 次。
這就是File To Array所做的,因此它不會錯過第一個序列 我創建了一個特殊的開關,如果指定的偏移量為 0,它什么也不做
該塊實際上期望輸入數據庫文件的名稱,一個數字 N 指示從哪里開始尋找 DNA 序列和我們收集的樣本。它返回一個數組,代表我們文件中第 N 個野獸的 DNA。
使用這兩個自定義塊,我可以創建最后三分之一,它需要作為輸入文件的名稱和收集的樣本返回一個字符串,該字符串是未找到的野獸的名稱。
如果文件已被讀取超過其末尾,則File To Array塊將返回 0,這意味著尋找神話野獸的任務最終沒有找到。兩個紅色塊和相鄰的開關處理這種情況,如果不是我們到達文件末尾的情況,開關告訴我們我們仍然可以并且正在搜索。
第一次進入這個塊時,我們從頭開始讀取數據庫文件,我們得到第一個已知序列,恰好是獨角獸,然后我們將它與我們收集的樣本進行比較。
如果它們是匹配的,那么我們找到了!如果不是,我們將File_Offset變量增加 8 并通過在循環開始處返回來移動到下一個已知序列。
當我們找到樣本時,或者如果我們在沒有匹配的情況下遍歷整個 DB 文件,我們會中斷Sample_in_DB循環。退出循環后,我們以數字方式計算匹配的序列并使用開關返回正確的 DNA 序列。例如,如果我們的變量File_Offset是 24,那么我們知道第 3 個生物是匹配的,我們返回一個字符串為 Dragon。返回一個刺痛而不是一個數值讓我兒子的事情變得更容易,所以雖然不是最好的方法,但它對我們的需求是有效的。
最后的想法
這是一段很棒的旅程,我和我的兒子在這個平臺上學到了很多東西,這個平臺既強大又有趣。看看 EV3 如何與MicroPython和Scratch一起工作將會很有趣,以便能夠對比和比較每個平臺的優缺點,這些平臺顯然具有不同的年齡目標,但仍然可以提供一些重疊的范圍。
我希望傳感器和配件不要那么貴,我們喜歡樂高,但這個平臺的成本并不能幫助休閑愛好者或不那么富有的人負擔得起。在我們的案例中,我認為我們不會輕易冒險購買陀螺儀、超聲波傳感器或電池組。
平臺不開放以方便擴展的事實有點打擊,我的意思是樂高畢竟是一塊磚上的磚,我知道有保護品牌的愿望和需要,但我我不是封閉系統的忠實擁護者,我認為它們是有限的,而且主要是有限的。
總而言之,這很有趣,如果你碰巧有一輛 EV3,你當然應該花時間探索它的可能性。這個平臺已經存在了很長一段時間,也許一個新的平臺很快就會出現,事實上我看到其中有很多在 eBay 上出售,所以也許現在是投資的好時機一。
- LEGO EV3 Baby Yoda-Alexa控制的EV3機器人
- 由Mindstorms EV3和Alexa提供支持的LEGO Target Practice
- 由Alexa控制的Lego Mindstorms EV3機器人
- 如何讓Lego Ev3機器人與BluPants一起工作
- 3D掃描儀的構建
- 英特爾愛迪生WiFi掃描儀開源分享
- 使用LEGO MINDSTORMS EV3 Amazon Alexa構建的Shelly解決方案
- Alexa EV3糖果機開源分享
- 基特掃描儀開源分享
- DAVID 3D激光掃描儀的中文使用說明書免費下載 11次下載
- 掃描儀電路圖 13次下載
- 掃描儀開關電源電路 0次下載
- TL(TL2)型光幕掃描儀
- 基于USB接口的彩色掃描儀的優化設計
- 生物芯片掃描儀設計
- 何為電磁干擾(EMI)掃描儀,哪里需要它? 82次閱讀
- 如何選擇電磁干擾(EMI)掃描儀,看看這幾點 105次閱讀
- 3D三維掃描儀的光學測量技術知識 249次閱讀
- 工業級gom三維掃描儀的工作原理 507次閱讀
- 多功能安全掃描儀工具介紹 502次閱讀
- 利用GT511C3指紋傳感器模塊的指紋掃描儀設計 958次閱讀
- 工業和醫療市場通過無線充電實現真正的無線條碼掃描儀 1115次閱讀
- 掃描儀驅動的安裝步驟 1.6w次閱讀
- 掃描儀使用注意事項 3670次閱讀
- 自制手機電影掃描儀教程 6335次閱讀
- 高拍儀和掃描儀有何區別_高拍儀和掃描儀哪個好 1.8w次閱讀
- 三維掃描儀的工作原理 1.7w次閱讀
- 三維掃描儀使用方法及操作技巧 2.1w次閱讀
- 三維掃描儀的應用 5838次閱讀
- 什么是生物磁珠_磁珠法提取DNA簡介 1.6w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多