帶有電機(jī)控制器以及用于教育目的的可視化編程和控制軟件的低成本 STM32 電路板。
項(xiàng)目描述
該項(xiàng)目是一個(gè)用于教育應(yīng)用的機(jī)器人平臺(tái)。它包括一個(gè)搭載了時(shí)鐘主頻為 100MHz 的 STM32F411 芯片的機(jī)器人板,該芯片支持 12 路模擬輸入,有 16 個(gè) PWM 引腳(其中 12 個(gè)管腳連接到集成在芯片內(nèi)部的電機(jī)控制器上)、7 個(gè)數(shù)字引腳(可用作中斷)、兩個(gè)串口、1 個(gè) spi 接口和 1 個(gè) i2c 端口。該平臺(tái)還含有可視化編程軟件和控制軟件,可以與電路板密切配合,它通過藍(lán)牙進(jìn)行無線操控,可以運(yùn)行在低成本的計(jì)算機(jī)上(除了 Mac、Windows 和 Linux 之外,它還可以在樹莓派 3 上流暢運(yùn)行)。
項(xiàng)目細(xì)節(jié)
原動(dòng)力
這個(gè)項(xiàng)目的開發(fā)者叫 Joshua Grauman??纯此麑?duì)項(xiàng)目的介紹吧:
我住在洛杉磯中南部,和家人一起搬到這里,在一個(gè)資源貧乏的社區(qū)里給學(xué)生們提供幫助和機(jī)會(huì),尤其是兒童教育。我們一直活躍在當(dāng)?shù)氐母鱾€(gè)公立學(xué)校,主要運(yùn)營項(xiàng)目有兒童成長營、面向青年團(tuán)體的課后計(jì)劃。我運(yùn)營過一個(gè)用于課后教育的機(jī)器人項(xiàng)目。我想要一個(gè)用來教編程的低成本機(jī)器人系統(tǒng),這個(gè)機(jī)器人不僅包含可視化編程,還能展示可視化編程的視覺呈現(xiàn)效果和實(shí)際生成的代碼之間的對(duì)應(yīng)關(guān)系。這個(gè)系統(tǒng)需要和日常教學(xué)課程配合良好,不會(huì)讓初學(xué)者因?yàn)殡y學(xué)而感到沮喪。我同時(shí)還希望這個(gè)系統(tǒng)可靠、可擴(kuò)展、開放、簡(jiǎn)單。但是我一直沒有找到一個(gè)可以滿足我的需求的低成本系統(tǒng),于是我開始著手親自動(dòng)手設(shè)計(jì)它。在對(duì)硬件和軟件進(jìn)行了多次修改之后,我終于有了這樣一個(gè)可以滿足如下目標(biāo)的工作原型系統(tǒng):
·經(jīng)過驗(yàn)證的具有高可靠性、高可配置性和可升級(jí)性的技術(shù) - 基于 STM32 和 mbed;
·從初學(xué)者到高級(jí)用戶,都可以使用同一個(gè)平臺(tái) – 可視化編程和文本編碼之間可以直接對(duì)應(yīng);
·可針對(duì)每個(gè)學(xué)習(xí)環(huán)境或硬件設(shè)置進(jìn)行定制 - 為給定的傳感器 / 設(shè)備預(yù)先構(gòu)建了一些可用板塊;
·適應(yīng)任何教學(xué)課程 - 可以根據(jù)學(xué)生水平分配不同的學(xué)習(xí)板塊,以便初學(xué)者不會(huì)淹沒在所有概念的海洋里;
·低成本和易于管理 - 兼容樹莓派 3,圖像可以復(fù)制;
·高可靠性 - 所有系統(tǒng)都不依賴于互聯(lián)網(wǎng) / 云;
·高速 - 所有系統(tǒng)都運(yùn)行編譯生成的原生二進(jìn)制文件,沒有模擬器或兼容層;
·適合兒童使用 - 彩色編碼板,輸入 / 輸出與傳感器 / 設(shè)備匹配。
特征
·基于功能強(qiáng)大的 32 位 ARM 微控制器和 mbed 庫;
·開放式硬件和軟件,可輕松擴(kuò)展到多種類型的傳感器和設(shè)備上;
·通過藍(lán)牙無線通信進(jìn)行編程和控制;
·可定制的編程和控制軟件(輕松添加新模塊或控件);
·多平臺(tái)軟件可以本地運(yùn)行在低成本硬件上(包括樹莓派 3)
硬件
·支持 6 個(gè)直流電機(jī)、12 路模擬輸入、7 路數(shù)字 IO、4 路額外的 PWM 輸出、2 個(gè)串口、多個(gè) I2C 器件、SPI 等等;
·內(nèi)置無線編程,有復(fù)位鍵和暫停鍵;
·所有端口都采用顏色編碼,并與傳感器 / 設(shè)備相匹配,以利于連線;
程序直接運(yùn)行在時(shí)鐘主頻高達(dá) 100MHz 的 32 位 ARM 處理器上,可實(shí)現(xiàn)有效、復(fù)雜的程序;
系統(tǒng)基于 STM32 和功能強(qiáng)大的 mbed 庫,所以電路板和軟件支持硬件中斷、定時(shí)器、回調(diào)函數(shù)、串口 /I2C/SPI 通信、PID 控制、字符串操作等。
可視化編程軟件
可視化編程軟件是該機(jī)器人平臺(tái)的核心。它可以從可視化的編程組塊直接生成文本形式的 C++代碼。學(xué)生可以輕松地開始對(duì)機(jī)器人系統(tǒng)進(jìn)行編程??梢孕薷乃薪M塊或使用基于文本的配置文件添加新組塊,從而輕松地將新的傳感器或設(shè)備添加或擴(kuò)展到系統(tǒng)中。每個(gè)組塊都被分配了不同的“級(jí)別”,對(duì)應(yīng)不同的學(xué)習(xí)深度,以便循序漸進(jìn)地設(shè)計(jì)課程,逐步引入新的功能和概念,而不會(huì)讓初學(xué)者在眾多概念面前感到壓力。生成的代碼的顏色編碼和可視化的組塊保持一致,以方便查看可視化編程是如何轉(zhuǎn)換為實(shí)際代碼的。您還可以選擇具體的可視化組塊以查看與之對(duì)應(yīng)的代碼。這套軟件是完全可定制的,可以完全重新配置,甚至生成其他系統(tǒng)的原生代碼(如 Arduino)。該軟件支持的功能包括保存 / 打開、導(dǎo)入 / 導(dǎo)出、縮放、復(fù)制 / 粘貼、打印、注釋、執(zhí)行功能,以及編程、暫停、復(fù)位和控制電路板。
可視化控制軟件
通過可視化控制軟件,計(jì)算機(jī)可以在界面上通過串行通信(這里是藍(lán)牙)和機(jī)器人平臺(tái)電路板建立連接。控制軟件界面外觀亮麗,學(xué)生一看就能想象出這個(gè)系統(tǒng)的各項(xiàng)功能,并能夠輕松地實(shí)現(xiàn)完全控制(哪個(gè)學(xué)生不喜歡花里胡哨的遙控界面呢?)。無論連接什么樣的傳感器或系統(tǒng),都可以通過控制軟件界面設(shè)置輸入或輸出,進(jìn)行完全控制或者讀取電路板的反饋數(shù)據(jù)。和可視化編程軟件一樣,可視化控制軟件可以使用高度可配置的文本文件變換外觀。你可以控制每個(gè)按鈕和撥盤的外觀、樣式和幾乎所有方面的效果。你可以輕松創(chuàng)建全新的刻度盤并更改所有控件的位置和大小。每個(gè)按鈕或撥盤可以同時(shí)顯示多個(gè)數(shù)據(jù)來源,也可以同時(shí)發(fā)送多個(gè)數(shù)據(jù)輸入。
本文源自 Hackaday.io,原文可打開鏈接查看:https://hackaday.io/project/90613-visual-robotics-platform
與非網(wǎng)編譯內(nèi)容,未經(jīng)許可, 不得轉(zhuǎn)載!
有人說硬件技術(shù)將很快達(dá)到極限,而在我們看來,硬件創(chuàng)新,尤其是中國硬件工程師的創(chuàng)新,還遠(yuǎn)未走到盡頭,而只是剛剛開始。作為致力于為全球硬件開發(fā)者提供技術(shù)共享服務(wù)的平臺(tái),與非網(wǎng)母公司 SupplyFrame 旗下最大的全球硬件開發(fā)者社區(qū) Hackaday.com 已連續(xù)五年舉辦全球硬件開發(fā)者大賽 Hackadayprize,有超過 3000 多個(gè)硬件團(tuán)隊(duì)在這個(gè)賽事中互動(dòng)交流、切磋技藝。
這個(gè)《硬件改變世界》系列,我們挑選在前幾屆 Hackadayprize 大賽中獲獎(jiǎng)的優(yōu)秀作品加以展示,硬件技術(shù)可以多有意思,硬件開發(fā)者可以多有創(chuàng)意,從這些作品中你可以看到。
2019 年 3 月,Hackadayprize 中國區(qū)賽事將隆重開啟,我們很期待看到國內(nèi)的硬件開發(fā)者大開腦洞、大展技藝。你準(zhǔn)備好了沒,與來自全球的硬件開發(fā)者同臺(tái) PK?