如何上手做一些简单的硬件

2014-04-16 13:55:56 +08:00
 doskoi
有些简单的想法想试下玩玩,如连接传统的speaker到在线的音乐服务。
手机控制门的开关,监控咖啡机的状态等等。
什么样的工具、和资料是你们推荐的?

硬件对我来说是没有接触过的新领域。
所以请尽可能提供详细的信息,谢谢!
3176 次点击
所在节点    问与答
9 条回复
Sdhjt
2014-04-16 14:00:33 +08:00
树莓派、arduino、可刷OpenWRT的路由器、51单片机都可以,推荐购买淘宝上的成品。玩硬件其实归根结底还是软件开发。因为搞软件的跟搞硬件的不是一伙,程序员起码电路图啥的都画不出来吧。
xdeng
2014-04-16 14:13:23 +08:00
@Sdhjt 电子 转 软件
circsqua
2014-04-16 14:19:36 +08:00
Arduino比较合适,系统性好,初期用模块,和面包板;
51系的,则更基本些,入门会陡峭。

想进一步就看下电路图/板绘制,这种级别的电路图/板没什么讲究的。

基础的电压、电流,电阻,电感、电容,二极管,三极管(开关用),了解怎么用就可以了。
loading
2014-04-16 14:19:45 +08:00
建议c51单片机,便宜200全套装备,芯片坏了也就几元,c语言直接写,就是控制针脚高低电平,超简单。

树莓派建议有linux的cli经验,会python最好了。
viator42
2014-04-16 14:25:46 +08:00
玩硬件还是arduino最好用.不用懂电路啥的只要会接电线就行.
学的话买一套入门套件.教程,元件该有的都有了.
sennes
2014-04-16 15:27:07 +08:00
首推Arduino
不嫌贵可以直接买套件。或者在官方代理商购买主控板然后去网购散件的传感器元器件(找懂的人给你列个清单)
不过注意不要买到山寨的,虽然能用,但是一旦出问题就很折腾。
ALSRobotBase
Seeed Studio
*DFRobot
Geeetech
*OPEN JUMPER
上面五个代理商都是国内的官方代理商(*的是我曾经买过并且推荐的)

初期了解arduino的基础代码,上网找简单的实例跟着做一遍(电路简单、语言易懂)
然后再挑选各种没试过传感器,把它run起来
最后阶段你熟悉代码和传感器之后就可以把心思花在“创意”上

ps:实际上可以不用购买教材 网络资源足以应付

arduino的好处是容易上手
**初期推荐只用 面包板+面包板线 来搭电路而不需要烙铁什么的(等你真的需要的时候再考虑

祝您成功 有什么问题可以再AT我
song940
2014-04-16 16:43:46 +08:00
从 89C51RC 最小系统开始,一定要最下系统,不要整个集成的开发板。
Arduino 适合那些不懂硬件,软件也不太明白的人上手快,马上就能做出原型的。
Raspberry Pi 适合接收来自上面提到的 51 和 Arduino 的传感器数据,然后进行分析。
Cubieboard 与 RPi 比较,性能,网络和存储都有提升,适合做存储计算。
OpenWRT 做网络交换,数据整理,过滤,分析。

准备些 杜邦线,面包板,电烙铁,镊子,焊锡丝,松香,万能板,万用表。

还有一颗扛得住折腾麻烦的心。硬件是个大坑,跳之前先想好。

---

我已经埋在坑里了 。
doskoi
2014-04-16 16:59:30 +08:00
@sennes 可以在这里直接列一些初期推荐购买的清单吗?非常感谢你的回复。
sprhawk
2014-04-16 23:27:12 +08:00
入门硬件有很多方法,对于软件工程师入门,一开始还只是写软件在硬件上跑的过程。建议从arduino开始(虽然我没有用过,但是我还是建议从这里开始),有很成熟的开发社区,有IDE,有简单的脚本语言Processing,因为周边的配件比较多,买来直接接上母板电路就可以跑了。
Raspberry Pi在初级层面上和一般的linux开发差不多,上面就是运行了一个Debian Linux (Raspian),各种你能在Linux上跑的东西都可以在Raspberry Pi上跑。上面有HDMI输出,有USB,有Ethernet,基本就是一个Linux Box。高级的话就要外接其他硬件了,这时和arduino差不多,不过可选的语言环境几乎没有限制。

我觉得学习这个或者软件开发最重要的是确定目标。想做一个什么样的硬件,干什么用的,然后选型,买基本设备,找资料,开始实践。

等你高级一些了,或者对硬件本身感兴趣了,可以开始研究真的硬件。MCU或者其他芯片的Datasheet,引脚作用,然后根据datasheet和厂商的事例代码开始写C甚至是汇编语言(AVR MEGA和51和ARM都是不同的汇编指令集,和x86完全不一样),这就是所谓的bare metal开发。

硬件制作再学习PCB怎么画的,电路怎么连接,都可以学习,然后就是一些PCB绘制软件之类。

为了高性能,还可以考虑学习FPGA,做并行计算,这是后话了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/108806

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX