arduino计算器制作教程 arduino 开发板都是怎么玩的?

[更新]
·
·
分类:互联网
1318 阅读

arduino

arduino 开发板都是怎么玩的?

开发板都是怎么玩的?

蟹妖见到很多人对Arduino的开发方法 、应用场景有误解,特别开个帖子说明下。
误解一:Arduino性能很低,不如树莓派等开发板,所以不要用arduino做开发杀鸡焉用牛刀,中科院不会用银河来玩魔兽,你也不会想用计算器来LOL,不同的平台有不同的定位;Arduino更多用在数据采集和控制上,简单轻量。而树莓派等带OS开发板可以实现更多的复杂功能,如图形图像处理;聪明的开发者会选择合适自己、合适项目的平台,而非选择性能最强大的平台。
误解二:Arduino程序效率很低,所以不要用arduino做开发Arduino核心库是对AVRGCC的二次封装,确实会降低一些运行效率,但是这又有什么关系呢?你的程序真是对实时性要求很高么?至少我在论坛或者国内没有看到多少对效率极为苛求的项目;Arduino与传统的单片机开发的关系,类似于各种语言和其配套的SDK,一个正常的程序必定是选择一个合适语言 相应的SDK快速的做出开发,选择Arduino做开发也是如此。当然,你可以选择使用传统方式,甚至是汇编开发单片机,把效率做到极致,但你必定会付出更大的学习成本,程序后期的修改也会变得举步维艰;如果你的项目真是需要很高的实时性,那我建议你使用arduino avrgcc,甚至arduino 汇编的混编方式开发,如果这样还达不到你的要求,你还可以使用chipkit、maple等32位的类arduino的开发平台。
误解三:Arduino只能开发玩具,不能做产品能不能开发产品和arduino本身无关,只与你自身能力有关。国内外很多公司都在使用Arduino开发产品,也有不少成功的商业产品(我知道肯定有人要来和我较真什么叫“成功”了),所谓的不能开发产品,只能当玩具一说,完全是无稽之谈。如果你真是从事硬件开发的人员,你会发现现在各大IC厂商都推出了自己的类库或sdk,其本质和Arduino类库是一样的,这也是硬件行业的趋势。这和大家写软件用别人的sdk是一个性质。我个人也一直不太明白有人说arduino不能开发产品的逻辑何在,就不能把它当作avr sdk么?如果你的理由是成本,那看下一条。
误解四:Arduino开发板成本太高,不适合做产品我介绍Arduino时,都会告诉别人Arduino是一个开发平台。我所说的用Arduino做开发,指的是使用arduino核心库做开发。开发产品也并不是非得集成个Arduino开发板,一个核心的控制芯片足以。至于芯片多少钱,开发者们自己去查吧。如果你对产品体积没要求,且产量很小,也完全可以直接使用Arduino控制器。在小批量的情况下,使用arduino开发可以大大的降低你的开发成本,这个就没啥好说的了。如果你的项目产量超级大~你当然应该选用更便宜的芯片开发,1块钱的stc,5毛钱的HT都是可以的。
总结一下:Arduino的优势在于社区的强大和众多类库资源,其资源和影响力已经让github都加上了Arduino语言分类。
有个冷笑话:如果在任一程序QQ群说“php是最好的web语言”,必定会激起一番论战。如果讨论众多硬件开发平台熟好熟坏,就会陷入这种无意义的逻辑中,所以请注意,我没有说过Arduino是最好的开发平台,我只是希望大家知道选择一个适合的自己,适合项目的开发平台,才是最重要的。以下是我列举的一些情况,个人经验,可能不正确,欢迎大家讨论。
哪些情况Arduino可能适合你:你从来没接触过硬件开发;你想快速的开发,降低开发陈本;你的项目未来产量不大,或者就不会量产(这个需要你自己测算开发成本和生产成本的关系);
哪些情况Arduino可能不适合你:如果你对处理能力,系统实时性有较高要求,那Arduino不适合你;如果你的项目未来产量巨大,那Arduino也不适合你(这个需要你自己测算开发成本和生产成本的关系);对其他一种单片机或者硬件开发平台开发极其熟悉;你项目会使用的到的类库在其他平台也有,且其他平台硬件成本、开发成本也很低;

怎样学好python?

Python语言这几年大火,在世界编程语言排行中Python也位居第四名,相比2017上升了一位,上面只有Java/C/C ,可以说python凭借自身的简单便捷、面向对象的优势力压了php和js这些同样大热的语言。
而学习Python有很多好处,无论是大数据、人工智能、、爬虫、安全渗透工具都离不开Pyhton的使用,下面就推荐一下Pyhton的学习方式,帮助更多有兴趣的朋友更好的入门。
01 思想大于代码从思想层面要知道,编程最终最重要的是编程思维,不是代码命令。就是拿到一个项目要怎么做,逻辑怎么设计,这是需要人脑来想象的,其他代码层面忘了可以查文档,初期的练习中一定要结合大量的实践训练,理论初期会比较抽象,没有实操很难掌握,个人建议看下基础知识后直接寻找小项目进行编程练习,碰到难点在去查资料。
基础知识就是先大概了解下Pyhton的核心知识,比如:数据类型(数字,字符串,列表,元组,字典,集合),条件循环,文件对象,错误异常,函数,模块,面向对象编程,这些基本概念,不需要全记住,先过一遍即可,然后进行大量的项目实操。
02 实战大于理论千万不要一个点一个点的死扣,就算看懂了所有知识点,你也不知道如何结合起来,这是编程的大忌,就像学英语一样,你背了5000个单词,自我感觉良好,让你写个文章就不行了,根本不知道如何组合使用才是地道的。
建议从小项目入手,初期可以使用些简单练习题,比如:你有10000元人们币,存储多少年能达到2万元人们币,一个个小的练习题开始稳固自己的知识和代码能力,然后慢慢使用更大的项目,比如用Django搭建个小型的CMS和BLOG,你会慢慢知道整个web的框架,数据库的调用,前端html/css/img/js的简单调用,这对于以后有很大的帮助。
03 学习资料分享当然,说这么多要有足够的学习资料支撑,所以特意分享一些网站给读者参考,内容都算不错的。
知识体系架构的搭建可以看下这个网站,将Python的基础知识做成了14张思维导图,对学习者很有帮助。
r
Python教程——廖雪峰,行业里有点口碑的老师,讲的确实不错,比较细致。
r
runoob是一个常用的网站,里面会有详细代码解释和小练习,做实践稳固基础。
r