2010-08-24 43 views
19

我已經有一段時間想學習至少一點關於編程硬件的想法,並且認爲我會在這裏要求得到一些出發點。我是一位經驗豐富的編程員,擁有Delphi和Objective-c體驗,但從未聽過設備端口/ Interupt(我甚至不知道術語),更不用說編寫硬件了。我可以從哪裏開始使用可編程硬件?

首先,我想什麼,能夠做的是開始,

  • 通過USB
  • 購買套件的一個簡單的位與2,3或10個按鈕
  • 將設備插入我的電腦
  • 收聽設備並編寫一些代碼,在按下按鈕後執行某些操作。

我認爲這是一個很好的開始,任何人都有硬件購買指示或我可以如何開始呢?

回答

20

我喜歡Arduino,易於使用,開源和一個偉大的社區!

很好的入門,並使用C/C++的子集。

而且,有很多附加硬件的程序,比如GPS,藍牙,WIFI等

我與Arduino的經歷是百利無一害,從點,你把它弄出來它的盒子(並安裝免費的編譯器在Windows/Mac/Linux上),構建您的第一個「草圖」(Arduino的項目或應用程序)。

編寫應用程序很簡單,您有一個Setup方法,該方法在啓動時調用,然後在Arduino運行時循環使用loop方法。

然後你所要做的就是將輸入或輸出鉤到Arduino板上的引腳上,告訴代碼它們是什麼,希望你能得到想要的輸出。

關於Arduino(以及其他我確定)的其他一件真正好的事情是,您現在可以使用那些破舊的打印機,或者沒有人需要的2張CD-Rom,以及其他一點點過時的技術。你可以在服務器機房找到它真是太神奇了!

現在,我只在小型項目上工作,比如插入LCD,閱讀房間溫度和各種類似的項目。但是基於我所做的工作,我對Ardunio感到滿意,它爲嵌入式編程提供了良好的基礎,如果它還不夠,您可以隨時做大!

我的2美分!

+0

Arduino甚至附帶了一個演示應用程序,您可以通過USB鏈接讀取哪個輸入引腳(充當串行端口) – 2010-09-01 15:29:47

+2

是的,它非常棒,而且功能豐富。幾乎被你的想象所阻擋。這就像室內用打樂高,除了一個長大了:) IMO – PostMan 2010-09-01 20:38:16

+0

也有Teensy,http://www.pjrc.com/teensy/ – cmcginty 2010-09-03 18:44:43

1

我肯定會建議嘗試各種微控制器。 Arduino控制器很不錯,並有一個numberoftutorials

但是,它不是您唯一的選擇。在學校裏,我與Microchip PICs一起工作,這對於愛好者來說也是相當不錯的。關於PIC的好處是我們的微控制器教科書支持它,所以我們在學習理論時看到了應用程序。

+0

我會建議使用PIC18F4550或更高版本。您可以申請免費樣品 - 每月最多5份樣品。不要告訴Microchip,但是這些年來我有很多需要提供的樣品。ñ有PICkit2套件(這個傢伙沒有免費的樣品,但仍然便宜),它可以讓你通過USB編程你的芯片。 – 2010-09-01 21:42:31

3

還有熱門新聞netduino,它使用.NET Micro Framework和Microsoft Visual C#Express。我不知道這比Arduino好,但它是另一種選擇。

+1

很酷,但是我有一段時間可以和編寫介紹性視頻腳本的人一起選擇:如果我想要在硬件上編程,我可能已經知道'while'循環做了什麼。 – Omar 2010-09-07 05:25:58

+0

@Baddie好點... – gary 2010-09-07 10:35:07

2

上一張海報提到了Arduino,但你也應該考慮一個Teensy。它基本上是一樣的東西,但價格更好一點。您也可以選擇在「Arduino」模式或原始AVR模式下使用它。我不知道Arduinos是否給你兩種選擇。

有一個comparison page在哪裏你可以看到Teensy有一些更好的硬件。內置USB提供了更好的性能。

1

如果我理解你的問題,你對嵌入式編程不感興趣。你想購買從開始就起作用的東西,並從Windows控制它。

說到按鈕,在Windows中沒有太多的事情要做。這些是HID控件,Windows可以處理所有的接口。那裏沒什麼太刺激的。

在這種情況下,您可以抓取任何遊戲杆並使用DirectInput(DirectX技術的一部分)與其交互。有了力量反饋,你可以做一些很酷的事情。

一個更有趣的項目將是購買Wii控制器,並寫一些有趣的應用程序。 看看這個網站獲得我的意思的一些想法:

http://johnnylee.net/projects/wii/

由於Windows擁有一臺Wii contrller不支持,你真的在​​這裏做了一些工作:)

1

我看到你喜歡Delphi,所以你可以看看AvrCo Multitasking Pascal for AVR。你可以試試http://www.e-lab.de。 MEGA8/88版本是免費的。有大量的驅動程序,模擬器,JTAG在線調試器和編程器,可以對所有標準器件進行可視化(對於初創公司,只需幾個電阻就可以製作出簡單的LPT編程器)。它還可以爲所有的Arduino設備製作程序,因爲AVR在他們的爐膛裏。愛特梅爾的STK500是一款優秀的初學者板,具有LED,開關和其他少數外設。如果你更喜歡開源,那麼帶有GCC的WinAVR可能是你的路徑。

1

如前所述,Arduino是一個不錯的選擇。該社區很大,很有幫助。好的是,如果你願意的話,你可以通過使用AVR微處理器的GCC端口直接轉換成「真正的」語言。在我最近的項目中,我做了這個 - 使用Arduino大部分原型,然後用C重新編寫它。

從按鈕和LED開始是一個好主意。在修改Wii之前,首先建立一些使用基本硬件的信心!

一些鏈接:

  • 的Windows GCC交叉編譯器(1步安裝),用於AVR:WinAVR
  • 一個Arduino的克隆套件
  • Adafruit是首發的硬件和技術諮詢的另一個很好的來源
  • 嵌入式StackOverflow
1

任何程序你都可以eady寫入與硬件交互,還有顯示器,鍵盤,鼠標,揚聲器等。在程序可以處理USB設備上的按鈕的情況下進行簡單的設置,並不會教會你如何使用硬件。這部分是一個問題,即你想要進入軟件堆棧的程度有多低,以及你想了解軟件結束時發生的事情。

  1. 給自己一份「藝術 電子」。這是一個相對容易讀取和覆蓋歐姆定律與微處理器之間的一切,會給你的整個系統做什麼是一個好主意。
  2. 閱讀。
  3. 退房Digikey。您可以購買任何與電阻器,電容器,IC的低成本電路板相關的硬件,並且價格合理。

其他答覆提到了Microchip PIC和Atmel AVR,它們都是小型且簡單的微控制器。兩家公司都有大量的應用筆記,查看他們的網站,閱讀一些應用筆記。您可以獲得上述的低成本評估板或其他回覆中提到的Arduino。考慮設計和構建自己的電路板以強制自己學習基礎知識。找一個朋友誰是EE或嚴重的愛好者誰不會介意幫助你一些提示。

如果您想了解更多關於PC硬件,你可以看看在Windows下一些簡單的設備驅動程序(例如打印機或串行端口)(下載WINDDK),Linux或DOS連。在PC上類似DOS程序允許與PC硬件比較容易互動,您可以使用一臺打印機端口讀取按鈕等

鏈接(我是一個新用戶,所以我不能直接鏈接) :

www.amazon.com/Art-Electronics-Paul-Horowitz/dp/0521370957

www.digikey.com/

www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE & NODEID = 2879

萬維網。 atmel.com/products/avr/