Arduino基础1

引言

本文内容来自《Arduino程序设计基础(第二版)》,以下为读书笔记!

第一章 初识Arduino

Arduino不仅是一个开发板,还是一个开放的电子开发平台
1、Uno是目前应用最广泛的开发板,具有arduino的所有功能。
2、MEGA提供了更多的输入/输出接口,可以控制更多的设备,以及拥有更多的程序空间和内存。
3、Zero提供debug调试端口

Uno的组成

Uno板解析图

第二章 基础篇

setup与loop

setup只执行一次,用来初始化配置;loop是一个死循环,用来完成程序的主要功能

break与continue

break可以终止当前的结构或循环结构,使程序转到后续的语句运行;continue用于跳过此次循环后面的语句,并且判断是否开启下一次循环。

I/O口的使用

数字I/O引脚模式

1)输入模式
2)输出模式
3)输入上拉模式:无信号输入时输入端的信号为高电平,在输入信号为低电平,输入端的电平也应该为低电平。

第三章 I/O口高级应用

3.1、调声函数

1、tone()
功能:可以让指定引脚产生一个占空比为50%的指定频率的方波。
语法:tone(pin , frequency) ; tone(pin , frequency , duration) ;
参数:pin——需要输出方波的引脚;frequency——输出的频率;duration——频率持续的时间。
2、noTone()
功能:停止指定引脚的方波输出。
语法:noTone(pin);
PS:同一时间tone()函数只能作用于一个引脚。若由多个引脚需使用tone()函数,则用noTone()停止之前的引脚,再用tone()开启下一个指定引脚。
3、无源蜂鸣器模块
4、项目:简易电子琴

3.2、脉冲宽度测量函数与超声波测距

1、pulseIn()
功能:检测指定引脚的脉冲信号宽度
语法:pulseIn(pin ,value); pulseIn(pin ,value ,timeout);
参数:value——读取的脉冲类型,为HIGH或LOW;timeout——超时时间,单位为微秒;返回值——换行返回脉冲宽度,单位为微秒。
PS:没有设置timeout则默认一秒钟超时时间;规定时间内没有检测到脉冲,则返还0 。
2、超声波测距
SR04超声波传感器:四个引脚功能

3.3、设置ADC参考电压

analogRead(pin)函数返回值=被测电压/参考电压×1023
当用户没有设置参考电压时,Arduino会默认使用工作电压作为参考电压。
通过AREF引脚给Arduino输入参考电压,同时需使用analogReference()函数来设置外部参考电压。
analogReference(type);
参数:DEFAULT;INTERNAL;INTERNAL2V56;EXTERNAL。

3.4、外部中断

用来实时响应处理事件
中断程序可以看成一段独立于主程序之外的程序,当中断被触发时,控制器会暂停当前运行的主程序,跳转去运行中断程序,当中断程序运行结束后,再回到之前暂停的位置,继续运行主程序。
了解中断引脚的位置,根据外部设备选择中断模式,编写中断触发后执行的中断函数。
1、中断引脚位置
2、中断触发模式:LOW;CHANGE;RISING;FALLING。
——上升沿触发:当检测信号电位由低到高的变化时触发成功
3、中断函数:不能带有任何参数,且返还类型为空。
1)attachInterrupt(interrupt , function , mode);
功能:对中断引脚进行初始化配置
参数:interrupt——中断编号(非引脚编号);function——中断函数名;mode——中断模式
2)detachInterrupt(interrupt)
功能:禁止外部中断
4、实验:外部中断触发蜂鸣器报警

创建.h文件

在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值