单片机懵懂的入门

作者背景:
工作2年,辞职闲荡的菜鸟电子工程师。
微博:weibo.com/zhoupeng7d

邮箱:zhoupeng6d@qq.com

之所以要写一些自己关于单片机学习经验的分享,并不是我技术有多牛,事实是我依然觉得我是菜鸟一个,现在又处在一个比较茫然的阶段。正是因为我在刚开始学习的时候也很茫然,走了很多的弯路,才想到要分享点儿自己的经验,如果恰好能给某人提供一些启发性的参考就再好不过了。

2008年7月27日,从淘宝买了第一块AVR ATmega16的最小系统板,那个时候我上高三,请假四个月在家鼓捣所谓的机器人,在家DIY机器人听上去就有些荒谬,但我爸妈不仅同意了,而且还给了我一笔不小的经费支持,期限是四个月。我不知道他们当时是怎样想的,如果时光倒流可能我自己都会怀疑是否有勇气再去做这样一件事情。无论如何我要感谢我爸妈的开明,允许他们上高三的儿子玩一件可能毁掉他未来人生轨迹的事情。

那个时候迫切想实现简单的机器人控制,于是就在网上找各种方案。那个时候各方面的知识都不懂,最多也就是凭着高中物理而理解的电路知识。结果是,时间没有给一个连C语言都不懂的高中生任何机会,止步于AVRstudio+GCC的环境安装和LED流水灯。
最后呢,只能采用继电器+433M的无线遥控这样的笨办法搭出纯电路逻辑的前进后退控制,那个时候手工焊接的电路板如下图:

两个DIY作品:怪兽和行走者
我简陋的机器人告一段落之后回学校继续苦逼的高三生活,高中痴迷《电脑报》,每期必看,因为这份报纸可以打发无聊的英语课时间,这就造成两个后果:
一,我对电脑中各个硬件的参数、行情非常精通,笔记写满了厚厚三本,内容包括:英文缩写、原理知识、行情动态等,可以毫无压力的帮别人攒一台任意需求的电脑;
二,高中阶段的英语等于空白,高考成绩只有凭借蒙来的58分(满分150);
2009年,填报专业的时候在计算机、电子、机械三个专业中犹豫了很久,想象着设计像电影《机械公敌》中那样屌爆天的机器人,就义无反顾的选择了机械专业。入学时也一直带着那块买来已久并未发挥作用的ATmega16最小系统板,断断续续的学习着,没有什么实质性的进展。事实是后来我发现这个专业对设计屌爆天的机器人结构没有一点帮助,我在机械方面的造诣仅止步于学习了各种绘图软件。(后来发现,任何屌爆天的东西都得靠创造力,跟专业无关)
一晃就到了2011年的5月份,大二下学期,这个时候已经在学校学习完了C语言和数字电路方面的课程,也结合开发板学习完了一套力天电子的AVR单片机软硬件开发教程,但是仍然不晓得怎样用单片机做一些自己的开发。正是这段时间,关注到了Arduino在国内创客圈蓬勃发展,激发起了我深深的好奇心,于是乎就先从网上下载了几份Arduino的入门教程,并打印出来带到英语课上进行研读,这可能就是我大学跟高中的英语课唯一的区别吧。
这个时候计算机硬件的发展已经远远领先于软件的需求,电脑报上面已经没有什么吸引我的内容了。想想从最一开始接触的《消费电子世界》及《计算机世界》的停刊,到现在《电脑报》越做越薄,几乎只剩下广告……技术的发展以一种迅速但又悄无声息的变化不断的在改变着我们的生活习惯,我们自己如果也一成不变可能跟这些杂志的结局是一样的吧?
很顺利的,一节英语课的时间就读完了那份教程,惊讶于Arduino的编程竟然如此简单,完全用不着各种寄存器配置,而且Arduino提供了很多现成的库可以用来直接控制舵机等模块,这就意味着,一个C语言刚刚过关的初学者可以将全部精力都放在编程上。意识到这点,我激动不已,回去迅速从淘宝上买了一套板子回来动手实践。
也是这段时间,让我觉得可以开始对我向往已久的机器人领域更深一步,又买了一本《AVR单片机与小型机器人制作》,也几乎是一节英语课的时间读完了这本薄薄的书,书中非常详细的介绍了怎样一步一步搭建电路和编程实现一台机器人小车,这本书不仅启蒙了我的编程思想也激发了我对于单片机和机器人更加浓厚的兴趣,于是乎我就开始着手去DIY一台自己的智能小车。参见我在果壳上写的一篇《Arduino小车诞生记》。

小车的结构是用一堆铝合金型材手工加工和组装的,电路大部分是用万能板手工焊接的,当然是需要熟练的使用一些工具的,如下图:(拍自学校实验室)


这个Arduino小车贯穿了我在那个学习阶段的所有动手项目。包括编程的练习、各种传感器的使用、舵机的控制原理,以及学习完AltiumDesigner,动手设计的光电比较电路。

手工焊接的一块四通道电压比较器
我的经验分享:在每一阶段的学习之后,都要立即着手进行相应的实作,通过实作可以加深对理论的理解,同时也会巩固之前的学习成果。从另一个角度来讲,实作会为你指明你下个阶段努力的方向;也会给你无与伦比的成就感,慰藉你平淡已久的心灵,让你感到愉悦。
回想我当初学习单片机的动力:“让机器人动起来!”也正是这种趣味在推动我不断的去学习和实践。正如linux之父Linus Torvalds自传的书名那样,Just for Fun! (只是为了好玩!)。到这个时候,我已经初步懂得使用单片机去做一些有趣的东西,或许下一篇接着分享。
这就是我关于单片机入门的一些非常简短的分享,入门没有任何有难度的东西,时间的堆叠而已。

经验分享之二:单片机懵懂的入门相关推荐

  1. python语言表白超炫图形_经验分享 篇二:三分钟教你用Excel制作各种尺寸、底色的证件照...

    经验分享 篇二:三分钟教你用Excel制作各种尺寸.底色的证件照 2018-12-29 07:00:00 654点赞 7174收藏 245评论 一.前言 继上一篇用PPT制作了证件照以后 有的值友反应 ...

  2. 西安电子科技大学通院811电院821考研上岸经验分享(二)

    西安电子科技大学通院811&电院821考研上岸经验分享(二) 一. 本人简介 本人毕业于山东某双非普通一本学校,通信工程专业,2019年9月保研失败后开始了为期三个多月的考研之旅,报考2020 ...

  3. 二战生的考研经验分享(二)考研基本知识

    我整理这三篇经验分享文章,真心希望可以帮助到22考研的同学,能帮一个是一个,尤其是计算机专业的考研同学.篇幅较长,会分成三篇陆续发布,希望看到的点个关注,后期复试也会持续更新.第一部分是我的考研的经历 ...

  4. 经验分享(二)如何使用Origin画出SCAPS-1D的仿真结果图

    在上一篇经验分享(一)中,我们展示了SnOx/CdS/CdTe结构的太阳能电池仿真过程.在这里我们接着上一篇的工作,使用Origin将仿真结果处理成能够发表在论文上的图. 首先我们先获得I-V曲线和Q ...

  5. 单片机最小系统硬件电路图_经验分享:学单片机,51通则百通

    点击"蓝字"关注我们 这是来自某位前辈的深度感悟 首先总体上谈一谈看法: ◆1.我从不说51是基础,如果我这么说,也请把这句话理解为微机原理是基础. ◆2.对51单片机的操作本质上 ...

  6. 求职季找工作心得与应聘经验分享(二)

    3.    制定求职战略 这里的求职战略指的是应聘用人单位的时间.数量和难度的选择,每位求职者可能适合各不相同的求职战略.这里只介绍博主的个人选择,博主喜欢接触各类的人和事,认为能从不同的经历中学习到 ...

  7. 2020年Security+备考经验分享(二)

    我是计算机软件专业毕业的,工作后做了几年J2EE开发,刚开始做全栈,后来也专门做了一段时间的前端开发,然而客户需求的不断更改让我心力交瘁,企业信息管理系统的开发本身也让我感觉十分的枯燥,最后更换了行业 ...

  8. 经验分享(九)给所有入门程序员的建议(1)--句句是诤言 希望大家认真读完

    st1/:*{behavior:url(#ieooui) } 编了这么久的程序,一直想找机会总结下其中的心得和方法,但回想我这段编程道路,又很难说清楚,如果按照我走过的所有路来说,显然星不可能的!当我 ...

  9. 【三维CAD设计经验分享】CrownCAD设计:导航入门

    CrownCAD是一款基于云的在线三维CAD软件,您只需要打开浏览器输入www.crowncad.com,注册/登录账号即可开始在线设计. 登录CrownCAD,进入项目界面,该界面提供项目管理.新建 ...

最新文章

  1. 字节跳动《算法中文手册》完整版 PDF 开放下载!
  2. Python logging使用
  3. java shp求相交面积_shp文件自相交处理的方法
  4. python中面向对象的特殊成员_Python面向对象特殊成员
  5. 目录的操作 c# 1614532397
  6. FutureV接口CallableV接口的使用
  7. 阿里巴巴成立云原生技术委员会,云原生升级为阿里技术新战略!
  8. python plt 色卡
  9. OpenCV搜索文件夹中的图片并保存图片路径和信息
  10. 指令 出厂_CNC数控加工中心编程指令详解
  11. 从零开始搭建物联网平台(三)数模设计
  12. linux压缩超过4g的文件吗,使用tar压缩文件,不能超过4G,有什么办法解决-
  13. NVIDIA显卡驱动更新方法
  14. 彻底删除IE的缓存问题
  15. 各位大佬们,萌新发个锁机源码
  16. LWIP网络开发从入门到精通
  17. Kindle 可旋转桌面时钟
  18. poi导入数据工具类,直接复制使用,有详细注释
  19. Android平台使用-谷歌广告联盟AdMob-赚取收益的编程方法
  20. 中国食品级磷酸盐市场深度评估及预测报告(2022版)

热门文章

  1. the_easiest_RSA
  2. 这写孩子对计算机游戏上瘾了,孩子游戏上瘾怎么办?
  3. Springboot整合SM2加密的笔记
  4. oracle如何创建scoff,CATS的歌词
  5. 个人银行管理系统2(C改Java)
  6. 2022 CCF中国软件大会(CCF ChinaSoft)“金融科技前沿技术与发展”论坛成功召开...
  7. 用ExternalInterface实现Flex与外部容器交互
  8. 《1+x》的错题集锦
  9. rac的crs进程是做什么的_RAC 管理(crs_stat、crsctl、srvctl各种命令详解)
  10. Leetcode 1054 距离相等的条形码 (C++题解)