2010-08-24 100 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/