知乎作者:MSOctocat
首先工作室镇楼
看楼主说 单片机、arduino 想必是对硬件开发感兴趣,正好鄙人对此稍有研究,虽然看到的时候已经是2017年,希望这个回答将来能造福他人吧。
问: 都需要什么设备呢?型号最好选什么?
答:如果是硬件开发基本上各种主控板是不能少的啦,以上是我用到的一些板子。如果楼主是入门基本上arduino就足够了。
arduino 开发的初衷就是让设计师、艺术家能更简单的编程。常用的板子就是arduino uno啦,因为arduino本质上是在avr的单片机上封装了一层,从而不用你接触底层代码,直接调用函数所以开发变的相对简单,但是代价就是效率不如直接操作底层来的快。
举个例子就是中断函数,比如你在电路中要判断按钮是否按下就有2种方式,一种是循环用过一个while函数一直读定义端口的电平状态(就像你要看今天有没有快递来送货,每隔一分钟就跑到门口看一下),或者用中断,简单的理解就是按钮一按下mcu就这收到信号执行相应的处理函数(还是等快递,但是这次你装了个没门铃,在等待的时候你就可以做爱做的事啦,手动滑稽)。两种方式的效率可想而知。
因为arduino是经过封装的,以arduino uno为例他有3路定时器0,1,2每一路可以相应的控制2路pwm输出,这时如果你要使用外部中断其封装函数是
attachInterrupt(中断通道, 中断函数, 触发方式); 那么3引脚就不能作为pwm输出了。如果你设计的电路很复杂那就要用更高级的mcu,或者直接以avr单片机的方式开发arduino。如果楼主已经有C语言的基础想要更进一步学习,我建议你使用stm32,飞思卡尔的单片机,资料教程都很全,像现在stm32f103的芯片主频可以达到72MHz,f4系列的芯片可以达到160MHz,相对与arduino uno 16Mhz的处理速度可谓是质的飞跃。
当然再进一步学下去你就会有需求自己做板子了,因为现有的开发板无论是再形状,还是核算成本上都不能满足你的要求。那么首要的一个设备就是电烙铁啦。
我现在用的是这款带热风枪和数显,某宝上一大堆,价格也很合理。然后万用表也是不能少的啦,如果你开发的硬件对输出信号频率有要求,你就需要一台示波器来监测。
电源也是个麻烦事因为单片机都是5v或者3.3v供电,有的驱动板(例如电机驱动板)需要12v供电,所以最好要买不同的开关电源或者一个调频电源。
再然后最好能有一套起子,斜口钳,镊子、然后就是老虎钳、热风枪、等等等等。。。。。所以最后你可能需要一个货架,like this(有点乱哈, 尴尬)
问: 还有啊,有时候做的出东西来,但是苦于没有外壳来装它。。。。这个大家都是怎么解决的?
答:这个问题最好的方法就是3D打印,所以你需要一台3D打印机!然后为了学习3d建模你可能还需要学习solidworkd、3dmax、CAD、cura 等等
问:同志们,有什么更好的办法吗?如果弄得差不多,大概需要花费多少钱?
答:花多少钱的话,我只能说量力吧!
最后祝各位想要、将要、已经入硬件开发的同学一定保持对硬件开发的爱好和热情,因为开发软件无非就熬几个夜bug就调通了。
要是搞硬件,你有的时候真不知道是不是硬件在搞你!
最后的最后分享一下用这些设备做的东西吧!