Arduino: 从入门到入土

正在更新之中,预计四个月左右写完


目录

  • 简介

基于官方版本Arduino Uno / Arduino 2560 的Arduino教程,适合初高中生以及非计算机及电子相关专业学生学习,制作自己的智能设备。

代码Git地址:https://bitbucket.org/LikwunCheung/arduino/src

更新日期:13/10/2018 - Arduino基础
更新日期:10/10/2018 - 大纲


  • 基础知识

    • 什么是Arduino?

      • 单片机基础知识

        1. 单片机的定义

          单片机的具体定义可以在网上查到,这里主要说一些对于初次接触单片机的人来说比较容易理解错误的概念。

          首先需要明白的是,单片机(MCU)和我们所看到的开发板的区别。

          事实上,单片机仅仅指的是开发板上的主控制芯片,比如Arduino Uno使用的单片机是Atmel公司的Atmega 328P, 而STM32开发板则使用的是意法半导体公司的M系列单片机。

          开发板则是以单片机为核心,搭配了外围电路的一个电子产品,因为单独的一个单片机芯片事实上是很难在开发过程中使用的,程序的烧录以及与计算机的交互等功能都依赖于外围电路的支持。当然开发过程中也可以每次都生产PCB板来专门测试我们的产品功能,但是对于硬件开发者来说,这样所需要的时间成本和金钱都是非常高昂的,所以我们一般使用开发板来工作,在功能都测试完成后再进行PCB的生产以及元器件的焊接。

          比如对于Arduino Uno来说,其外围的电路元器件包括了晶振电路、USB转串口芯片、USB接口、5V电源管理、管脚引出的排针以及重启单片机的按钮。而在真正设计产品的时候,我们可以根据我们的需要,将一些部件除去。比如USB接口和USB转串口芯片在实际产品之中并不是很需要,只需要使用ICSP接口便可以烧录程序及Bootloader。也可以根据需求,在PCB设计时将单片机的管脚直接连到我们的模块或者芯片上。例如我们在接下来会学习到的DS3231芯片,我们可以将Atmega328P的I2C管脚直接连到DS3231芯片的I2C管脚,将SPI管脚连到Usart屏幕管脚上来制作一款带显示屏的时钟设备。

        2. 嵌入式系统开发
        3. 业界主要公司
        4. 单片机参数
        5. 单片机选型
      • Atmel 与 Arduino

        1. Arduino理念及型号
        2. Arduino与Atmel单片机关系
        3. Ateml用户手册
          Atmel ATmega 328P
          Atmel ATmega 2560
      • Arduino其他相关资料

        1. Arduino Uno Pins Map
        2. Arduino 2560 Pins Map
        3. Arduino Nano Pins Map
      • 开发环境搭建

      • Arduino及其他配件

        1. Arduino

          Arduino的型号非常多,以下为各型号之间的对比

          型号 芯片 主频 数字IO 模拟IO 定时器 PWM路数 闪存 运行内存 EEPROM 电压
          Arduino Uno ATmega 328P 16MHz 14 6
          Arduino Nano
          Arduino Mega 2560
          Arduino Edison
          Arduino Tiny
          Arduino Due

          本教程以 Arduino Uno R3 / Arduino Mega 2560 / Arduino Nano 为基础,因此也建议大家选择这三款进行学习

        2. 本教程使用到的传感器
          模块类型 型号
          超声波距离传感器
          红外线距离传感器
          光敏电阻
          共阴极RGB LED灯珠
          LCD显示屏 12864
          人体感应模块 HC-SR501
          3位数码管
          Usart显示屏
          时间模块 + 温度传感器 DS3231
          蜂鸣器
          湿度传感器
          TF卡模块
          MP3模块
          有源喇叭
          功放模块
          九轴模块 JY-901
          光电计数器
        3. 其他配件
          配件类型 型号 数量
          杜邦线 20cm 方头 公对公 / 公对母 / 母对母 各50根
          面包板 大号 16.5x5.4x0.85cm 1个
          LED灯珠 5mm 绿色 / 红色 / 黄色 各10个
          电阻 10 / 330 / 3.3K 各30个
          电位器 0~10K 2个
          按钮 10个

  • 入门级教程

    • 第一个程序

      安装好IDE并确认Arduino已被正常识别后,我们需要测试当前Arduino是否可以正常烧录程序并运行,我们写的第一个程序,将让Arduino上板载的LED灯隔一秒闪烁一次,在以后每次拿到新Arduino的时候我们都可以这么做来确认Aruidno的状态。
      菜单-文件-新建项目-Flash.ino

      /*
      Flash.ino
      
      Author: Likwun Cheung
      Date: 10/10/2018
      Git: https://bitbucket.org/LikwunCheung/arduino/Flash/
      */
      
      #include <arduino.h>
      
      void setup() {
        pinMode(13, OUTPUT);
      }
      
      void begin() {
      
      }
      

      烧录后,

    • 与电脑交互

      事实上ATmega 328P并不能直接与计算机的USB端口进行通信,USB全称Universal Serial Bus,使用的是一种高速的串行协议,而ATmega 328P使用的是低速串行接口,因此Arduino在设计电路的时候使用了一块USB转串口的芯片将计算机USB端口发送的数据处理成了ATmega 328P能够处理的数据,这点将在进阶教程中的电路设计进一步说明。
      那么在一节中我们将练习如何让arduino能够与计算机进行通信

    • 连接按钮

    • 读取电位器阻值

    • 红绿灯

    • 内部中断:红绿灯

    • 外部中断:按钮

    • 3×3键盘

    • 舵机的控制

    • 光线检测

    • 超声波测距

    • Arduino钢琴

    • 杀马特RGB




  • 进阶教程

    • 设计自己的Arduino

      1. 数字电路与模拟电路

      2. 电路设计软件

      3. 元器件以及购买渠道

      4. 设计电路原理图

      5. 设计元器件封装

      6. 设计电路

      7. 制作电路

      8. 烧录Boot Loader

    • 实现简单实时操作系统RTOS

      • 实时操作系统

        1. 多任务
        2. 周期任务
        3. 实时响应
      • 状态机

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容