2008-10-10 94 views
9

今天早上我的一個學生來到我這裏,要求爲未來6個月左右完成的嵌入式系統(理想的硬件+軟件設計)項目提出一些想法。他是一名新生,並且沒有經驗,但是如果指向正確的方向,他有動力去學習。除了在電子/計算機工程和計算機科學方面做好準備之外,完成此項目的目的是讓他的簡歷在09年夏季的實習中更具吸引力。初級嵌入式系統項目?

我的問題是:

  1. 有什麼好的一般資源,瞭解簡單的硬件,微控制器,什麼固件/軟件,給一點在上述任何的沒有經驗的基礎?我自己的背景在這裏並沒有什麼幫助,因爲我通過正規培訓(他感興趣但是想要現在開始)以及通過實習,我通過裙帶關係獲得了大一新生; 012-但存在雞與雞蛋問題)

  2. 什麼是適當範圍的一些有趣的項目想法?

一些初步的想法:

  • 一個危害風格的遊戲,將點亮的LED,誰按他/她的按鈕,第一個是贏家的球員,也許是微控制器能保持得分在幾個7段顯示器上。
  • 音調發生器(用戶設置DIP開關(或者更雄心勃勃地按下PS2鍵盤上的按鍵)來設置頻率),並且微控制器使用D/A轉換器輸出該頻率的正弦曲線
  • 某種的小型傳感器(可能是他的宿舍房間的溫度傳感器,它將RSS結果作爲結果提供)。使用來自Rabbit Semiconductor的RabbitCore,該項目的基於Web的方面將變得更加容易。

關於微控制器套件的所有建議都非常棒!我真的很感激額外的項目想法(即「學生應該設計X)以及由於

回答

7

我聽說過,並閱讀了關於Arduino和PicAxe平臺的一些好消息。 Arduino似乎擁有最大的社區,而新貴的成本相當低(套件約20-30美元)。

http://arduino.cc/

LadyAda從Adafruit的行業出售,其配備了一個Arduino板和8個教程,教授基本電子,和微控制器編程的教程包。

4

樂高頭腦風暴可能是一個開始的地方。該固件是開源的,因此您的學生可以嘗試添加新的I/O功能或創建一些新的外設。

+0

好主意!作爲一名年輕的青少年,我很喜歡Mindstorms的第一次改版,我認爲後來的改革更加有趣,並且抽象出了大部分需要正規教育才能真正理解的內容。 – 2008-10-10 15:46:35

1

燕鷗Acore86板是一個很好的工具包。

0

有幾家公司使用PIC或類似的微處理器製造小型機器人套件。

2

我已經在嵌入式系統工作了十多年了,對於一個初學者來說,兔子半導體很難勝任。

然而,你可以用Arduino和其他一些系統更便宜地啓動。但總是有一個工具安裝和設置學習曲線。兔子的東西幾乎被設計成「軟件程序員的硬件」,並且非常容易入門,而且非常強大。我的第一個努力是將動態網頁放在那裏,以顯示天氣相關傳感器(風,溫度,壓力等)的圖形。

如果我要再做一次,我會在裏面填充Ajax技術,並使用canvas或svg生成更好的圖形。

其他選項是Microchip的新型32位處理器和Atmel的AVR32。你可以從100美元左右開始。 AVR32現在支持linux,如果沒有太多的錢,你可以得到一個LCD和其他東西,使它成爲一個非常高端的嵌入式系統。他們還配備了WinCE演示軟件,以便您瞭解開發的結束時間。 32位的PIC還沒有linux,我不知道它會支持WinCE。

聲明:我前段時間曾爲Rabbit工作。從技術上講,處理器並不強大,但編譯器和包含的庫功能非常全面,易於使用,很多人都使用它們。

無論他走到哪裏,祝你好運!

- 亞當

+0

偉大的建議!是的,嵌入式Linux是這個領域的一個有趣的部分,它只是抽象出他可能想要學習第一個輪迴的許多事情。 PIC(和其他)沒有MMU,這意味着它們不能執行虛擬內存,這意味着比簡單的RTOS更好:--( – 2008-10-10 16:54:48

1

我認爲,在嵌入式系統開始工作,最好的辦法就是對BeagleBoard的工作。

BeagleBoard是德州儀器OMAP3處理器,其中包括ARM處理器和DSP。除此之外,與其他開發板相比,其成本太便宜了,僅爲150美元。

最好的部分是它的軟件完全是開源的,你可以使用諸如Linux內核,uBoot和xloader等組件進行構建。

最初玩耍它,嘗試做一個穩定的構建。你可以想到許多可以使用電路板功能的項目。

祝福它。

0

Chumby爲新手嵌入式系統程序員提供了一個令人難以置信的平臺。它提供了一組優秀的外設(LCD,USB,揚聲器,wifi),完全開源(如果你忽略了FLASH),併爲原型板提供了一個很好的接口。

3

我推薦Lego Mindstorms NXT套件。更新的機器人套件具有許多吸引人的特徵,例如伺服電機具有集成編碼器藍牙超聲波距離傳感器。第三方還開發了加速度計,陀螺儀,圓規和更多。您可以輕鬆開發自己的傳感器,因爲所有傳感器都使用標準的i2c總線。

去年,與其他一些學生一起,我們使用Hitechnic gyroscope和開源LeJos firmware構建了一個小型Segway-like robot。建立一個客戶 - 服務器接口是非常有可能的,所以我們可以使用藍牙設備(即移動電話)無線控制機器人。

這個平臺是非常靈活的,如果你想你的項目移動和社區是偉大的。使用自定義傳感器檢查以下project ideas

1

我強烈建議視差的產品,你可以找到here

基本郵票和螺旋槳芯片都是優秀的。許多附加板可用,使您可以執行許多簡單而複雜的項目。

Mindstorms雖然不錯,但與Parallax提供的產品相比,卻有點不穩定。然而,爲了便於使用,沒有什麼可以是Mindstorm。

2

還有其他的事情要考慮......

你需要決定你想要孩子學什麼。有很多不同的套件可以購買(見上面的許多好的答案);不過,請記住,這些套件可以讓用戶快速啓動並運行,通常用於評估一些微控制器或接口芯片。

對於確實教某人嵌入式系統,「很快」並不一定是最好的路要走。該套件將提供一些IDE(交互式開發環境),在學生和「學習固件」主題之間添加多個抽象級別。結果,孩子可能在第一天寫了「hello world」應用程序,但是仍然不知道RAM/ROM /地址/數據/等之間的區別是什麼......

底線。 ..這些日子裏,有很多的工具包,你真的別無選擇,只能選擇一個(見其他答案的好建議);然而,如果你真的想要孩子學習基礎知識,然後他寫了「你好世界」的應用程序,並使幾個LED閃爍。阻止他在那裏,並教他什麼背後的一切。

是的,這並沒有直接回答你的問題,但希望它會引導你如何真的教他「肉」。爲此開始的好地方可能是我幾年前寫的一本書:「嵌入式系統固件揭祕」。還有其他的,比如「用C和C++編程嵌入式系統」。我的書還介紹了一個啓動監視器,這是開始學習固件的好地方。查看http://www.umonfw.com瞭解相關信息。

2

檢查http://www.embedds.com

這是來自全國各地的網絡嵌入式系統項目的列表。大多數是初學者或業餘愛好者,並且會是一個好的開始或靈感。