调试的重要性需要重新定义了。
大部分技术书籍或者观点认为调试是辅助手段。实际上调试应该与功能实现同等重要,甚至在一个产品的某个时期或者大半个生命周期起占主要地位。
例如:
- 不断升级的软件APP在功能实现后就是不断调试更新的过程。
- 研发、样品试做、检测、检验、良品率不高前的生产阶段都是对软硬件产品不断调试的过程。
- 软件工程师大部分时间是在调试中渡过的。
- 软件内部的机制,功能实现只占一部分,另外一大半是调试容错代码。
- 人的成长也是不断试错的过程(控制风险的试错是最好的成长方式),试错就是调试。
- 大胆假设,小心求证,求证的过程就是调试试错的过程。
- 1000次发明灯泡的过程,成功只是一次,999次是调试试错的过程。
那么我们总把成功、实现功能看做重点,999次的试错积累放置于何处?
所以学会调试、试错是成熟的标志,所谓不以成败论英雄根源也在此。
实际上从小白到工程师很重要的一关是学会调试。
- 不要小看LED(发光二极管,以下简称LED)电路,这个也是电路中必备的部分,可以指示功能、故障、流程转换,非常方便快捷。目前大部分产品应用都是围绕人来的,通过人的五感视觉、 听觉、触觉、嗅觉、味觉(以后围绕机器人需要不同的传感器)获得信号,最容易实现和最早实现的估计就是视觉和听觉。
- 火光、灯光、LED指示灯、数码管、显示屏等等都是为了人的视觉设计。
- 乐器、蜂鸣器、音响、扩音喇叭等等都是为了人的听觉设计。
- 人也习惯于看和听获取大量信息。
基于以上原因,LED指示电路应用就非常广泛。 - 点亮LED意味着我们不仅仅实现了一个功能,而是掌握了一种非常重要的调试手段。
这一节,我们详细讲解如何用LED进行调试。
1、上节电路的基本组成是什么,有什么隐含的迷惑问题
先看下图:
- U1 Arduino Uno开发板核心单片机,型号是Atmega328
- R1 复位电路的上拉电阻
- B1 复位按钮(按键)
- R2 LED的限流电阻
- D1 黄色发光二极管
以上元件组成了proteus虚拟Arduino uno硬件平台。
认识下电路图