单片机学习笔记(Arduino  Uno r3)

Aduino是什么?

分为硬件和软件两个部分,硬件和软件共同组成了Arduino,使用时须将Arduino硬件和软件配合使用

  1. 硬件:Arduino系列各种型号的开发板
  2. 软件:Arduino IDE

Arduino与单片机的关系?

Arduino开发板上有控制芯片,这些芯片为单片机。例:在Arduino Uno r3上一共有两个芯片,开发板主控芯片Atmega328,和另一个管理串口通信的芯片Atmega 16u2,这两个芯片各自均为单片机。

单片机的作用?

单片机通过引脚从外部接收信号,经过对接收信号的分析,然后通过引脚向外做出不同反应。

单片机的意义?

假如以传感器为输入设备,将传感器和单片机连接,单片机就可以通过传感器感知周围环境,从而根据环境变化,改变单片机上连接的输出设备的状态。这样就实现了自动控制的效果。

单片机的相关概念

电平

电压的状态,分高电平(高电压)和低电平(低电压)两种。

I/O端口

I/O是简写,全称是Intput/Output,即输入输出,将设备连上单片机I/O端口,可以让设备从I/O端口传送信号给单片机,也可以让单片机从I/O端口输出信号给设备。I/O端口既可以用作输入,也可以用作输出。

数字信号

在单片机中,数字信号只有两种,0和1,可以用高电平和低电平表示。

模拟信号

一个可以在某个范围内取值的数,相对于数字信号只有0和1,模拟信号可以是例如0~1023之间的数、0~255之间的数等等,范围视情况不同可以任意规定。相比数字信号仅有两种状态,模拟信号更多的状态更适合传达温度变化、亮度变化等连续变化的情况。

A/D转换

A/D是简写,全称是 Analog/Digital,即模拟/数字。A/D转换是将模拟信号转换成数字信号,规则可以视情况任意设定。例如模拟信号是从0~1023之间的一个数,假如设定规则是当模拟信号>511时转换为数字信号1,否则转换为数字信号0,那么此时就是一个模数信号的转换。作用是将模拟信号的许多种状态分为两种状态,方便单片机选择以高电平还是低电平作出反应,也方便单片机中以二进制进行运算代表是和非两种状态。

PWM

PWM全称Pulse Width Modulation,即脉冲宽度调制,目的是输出模拟信号。例:相对于低电平,高电平为脉冲。通过调节高电平所占的时间的比例(即调节脉冲宽度),从而使输出的平均电流大小发生变化,达到输出模拟信号的目的。

占空比

在一个周期内,高电平持续的总时间所占的比例。

串口通信

一种通信方式,与并口通信相对应,例:假如有4个信号要传输,串口通信是把四个信号通过一条通道一个一个传输,而并口通信则是把四个信号通过四条通道同时传输。
中断
假设单片机在执行程序A,当单片机接收到某一信号时,暂停执行程序A转而执行程序B,当执行完B后再回到之前暂停的地方继续执行程序A。在这个例子中,B为中断程序,接收到的信号为中断请求,执行程序B为中断响应。
晶振
一片以特定角度切下的石英晶体,加直流电压时晶体以固定频率振动,使输出的电流也以晶振的振动频率变化。
计时器
单片机上连接有晶振时,通过晶振的振动频率计时,方式是累加振动和振动之间相隔的时间。

如何使用Arduino?

如何下载程序         如何编写程序      如何连接Arduino和I/O设备
如何下载程序

以Arduino Uno r3 开发板为例,步骤如下
1、从Arduino官网ArduinoHome –  Download – Windows Installer页面下载Windows版本的Arduino IDE安装包并安装
2、将开发板的USB接口用数据线和电脑的USB接口连接
3、在电脑上的 设备管理器 – 端口里找到Arduino设备,然后从Arduino IDE安装目录下的Driver文件夹安装驱动,安装成功后可以看到Arduino的COM口序号
4、打开电脑上的Arduino IDE,在工具 – 端口里选择正确的COM口序号,就可以在这个软件页面下编译程序下载程序了

如何编写程序

Arduino程序分为三部分,预处理命令,setup函数和loop函数。执行流程是先执行预处理命令,然后执行一次setup,然后循环执行loop。

Arduino将单片机许多基本功能都写成了函数,这些函数的函数定义由Aduino IDE在编译程序时自动从库中读取,当需要某项功能时,只需要在setup或loop直接调用对应的函数即可。基本函数大概可分为读取I/O端口输入的数据,对数据进行运算,判断数据类型,从I/O端口输出数据,计时,串口通信,对位进行操作八个类型。

Arduino还有很多第三方库,包含了写好的函数,每个函数有各自的功能,可供调用。常用的库有标准链接库,通信库,传感器库,音效和声波库,电机和脉宽调制库,计时器库,实用工具库等

如何连接Arduino和外部设备

以Arduino Uno r3为例,开发板上常用的端口有数字I/O端口,模拟输入端口,模拟输出端口,电源端口。
通常情况下,判断一个设备怎么接上开发板,需要了解的信息有:哪根是接电源正极的线,哪根是接电源负极线,哪根线输入还是输出,假如输入,是输入数字量还是模拟量;假如输出,是输出数字量还是模拟量。

Tips:

  • 数字I/O口前加~符号的,表示该I/O作为模拟输出端口
  • 当单片机数字I/O口输出高电平时,可以作为正极
  • Arduino电压供应端口有不同大小的电压供应,注意外接设备的工作电压大小

其它:

  • Arduino Uno r3开发板上排列着LED,分别标有TX和 RX,T为transmit缩写,R为receive缩写,分别表示串口通信状态。当有数据通过串口通信输入单片机时,RX亮;当单片机通过串口通信输出数据时,TX亮。
  • Arduino Uno r3开发板上有两个芯片,Atmega 328是主控芯片,Atmega 16 u2的作用是把USB通信转换成串口通信。Arduino上和电脑上连接的都是USB接口,USB全称Universal Serial Bus,是通用串行总线,和串行口(串口)不同,所以当使用串口通信时,需要一个转换模块,此处的Atmega 16 u2就代替了这个转换模块。
  • 因为电脑实际和单片机是用USB接口连接的,所以把单片机连上电脑安装驱动后看到的COM口序列号不是真实串口连接,只是虚拟串口。

单片机学习笔记(Arduino Uno r3)相关推荐

  1. 基于Arduino UNO R3的植物管家开发过程(一)

    前言 最近时不时收到CSDN粉丝的留言,忍不住打开了尘封已久的博客.自从工作以后,已经整整四年没有在CSDN中发过文章了.一打开博客,看着曾经记录的点点滴滴,回想起自己刚高中毕业的时候,连打字都不会, ...

  2. 新手必读:Arduino UNO R3教程,原理图,引脚图,详细介绍

    刚入门的学习Arduino的朋友都会有个疑问Arduino UNO R3是什么?为什么要从Arduino UNO R3开始学起? Arduino概述: Arduino是一个开放源码电子原型平台,拥有灵 ...

  3. 【蓝桥杯-单片机学习笔记(六)】矩阵键盘控制数码管显示0~F

    一.要求 在CT107D单片机训练平台上,首先将J5处的跳线帽接到1~2引脚,使按键S4~S19组成4*4的矩阵键盘.在扫描按键的过程中,发现有按键触发信号后,待按键松开后,数码管显示相应的数字.按键 ...

  4. Arduino Uno R3开发(1)——据说通过蜂鸣器可以播放《鸡你太美》?

    昨天写了一篇RFID开发,但是视频课程太难,只能从更基础的Arduino Uno R3 开发进行学习 一起进行Arduino Uno R3的学习吧,我之前从未接触硬件 如果奔着鸡你太美来的直接翻到最后 ...

  5. arduino的esp32程序无法上传_原装正版arduino uno R3无法上传程序

    RT,本人在网络上买的原装意大利产正版Arduino uno R3(售价159RMB,坏了很可惜,实在找不到问题所在.)无法上传程序. 已排除问题如下:1.驱动已正确安装 端口.PNG (2.12 K ...

  6. 基于arduino UNO R3的远程可控的红外热释传感器 (转)

    首先实物图奉上,比较简陋别见怪啦哈哈 <ignore_js_op> ●实验名称:基于机智云平台的红外热释传感器的应用 ●实验目的:1. 能够在云平台下,手机实时观测传感器返回的AD值:   ...

  7. 单片机学习笔记-数码管的显示

    单片机学习笔记-数码管的显示 数码管的显示 1.首先我们来看一下开发板的原理图 由管脚分配可知,数码管的末端(也就是LED端),是由74138译码器来控制的. 2.下面是数码管显示的函数 这里我们使用 ...

  8. [单片机学习笔记](35):串级PID算法应用剖析、通过串口控制电机、MPU6050获取平衡车姿态、自制平衡车PID算法程序设计

    串级PID算法应用剖析 这是经过给队友讲解串级PID的程序的之后的进一步的理解总结. 内环的实际值,取决于你能测出什么值给内环.而内环的输入就是内环误差 内环的输出值,是内环误差(内环目标值-内环实际 ...

  9. 51单片机学习笔记-1简介及点灯

    51单片机学习笔记 文章目录 51单片机学习笔记 1. 51单片机简介 1.1 安装软件 1.2 单片机简介 2. LED灯 2.1点亮一个LED 2.1.1原理分析 2.1.2 创建工程 2.2LE ...

最新文章

  1. LDAP配置+主从+双主
  2. 归并排序相关题目(待编辑)
  3. 规范的.net 事件原理
  4. Camel中的几个重要概念之Routes, RouteBuilders 和 Java DSL
  5. 上传问题分析1--文件保存位置
  6. JavaScript更改class和id的方法
  7. 软件测试常见笔试面试题(二)
  8. Java常用知识整理
  9. BP神经网络预测matlab程序销售量预测
  10. linux 大黄蜂怎么安装视频教程,使用神舟K680E-G6D1在Deepin Linux系统下安装大黄蜂驱动的方法...
  11. K-近邻算法学习总结
  12. div 左中右结构布局问题
  13. oracle 卸载清除,Oracle终极彻底卸载的完整步骤
  14. Unity3D接入Android第三方SDK流程
  15. mysql alter 改密码_MySql修改密码
  16. bootStrap 教程 文档
  17. 一战成名,用户贷款风险预测 参赛代码与数据集分享
  18. 地图显示---英文、中英文地图
  19. 3. 以太网帧的结构
  20. 前端小技巧|关掉某视频解析网站上的广告

热门文章

  1. 吃鸡个人发卡源码全解无后门(游戏辅助点卡适用)
  2. from用法 prepare_mysql 语句传参数 -- prepare语句的用法
  3. java实现减肥计划(if判断运用和switch运用)
  4. ubuntu上的wife设置
  5. 剑灵合服后服务器位置,剑灵合服名单整理及各服情况简介 回归玩家和萌新的福音...
  6. OpenCV学习五:图片矩形区域的读取
  7. 重大喜讯┃Filenet与知名资本方达成深度战略合作
  8. 阅读天龙八部的代码有感----两种逻辑处理模式的比较
  9. “科大讯飞杯”第十七届同济大学程序设计预选赛暨高校网络友谊赛 G 硬币游戏Ⅲ SG函数 /Mutli-SG 游戏 终于补完了……
  10. HTTP与HTTPS的区别及SSL协议