最全Arduino的GPIO和基础外设介绍,告别新手期,成为点灯大师(一)
创作时间:
作者:
@小白创作中心
最全Arduino的GPIO和基础外设介绍,告别新手期,成为点灯大师(一)
引用
CSDN
1.
https://m.blog.csdn.net/qq_66771136/article/details/144444310
Arduino UNO是目前最流行的开源电子原型平台之一,广泛应用于各种电子项目中。本文将详细介绍Arduino UNO开发板的硬件参数及其外设,帮助读者全面了解这块开发板的功能和使用方法。
Arduino UNO的参数及其外设
Arduino UNO开发板的核心参数如下:
- CPU核心:ATmega328P
- 工作电压:5V
- 数字输入输出引脚(普通引脚):14个(其中有6个引脚可作为PWM引脚)
- PWM引脚:6个(3对由3个定时器驱动)
- 模拟输入引脚(ADC):6个
- 输入/输出引脚直流电流:20毫安
- 3.3V引脚电流:50毫安
- 5V引脚电流:200毫安
- Flash Memory(闪存):32 KB(ATmega328P),其中0.5 KB用于系统引导(bootloader)
- SRAM(静态存储器):2 KB(ATmega328P)
- EEPROM:1 KB(ATmega328P)
- 板载LED引脚:13
- 串口:USART0
- 定时器:TIM0(8位)、TIM1(16位)、TIM2(8位)
- IIC:1个(A4、A5和板子上的SCL SDA)
- SPI:1个(SS-10、SCK-13、MOSI-10、MISO-11)
- 硬件看门狗:支持
- 内部时钟:16 MHz
Arduino UNO的引脚图极其介绍
直流电源插孔
- 可以使用电源插孔为Arduino开发板供电。电源插孔通常连接到一个适配器。开发板的供电范围可以是5-20V,但制造商建议将其保持在7-12V之间。高于12V时,稳压芯片可能会过热,低于7V可能会供电不足。
VIN引脚
- 该引脚用于使用外部电源为Arduino Uno开发板供电。一般5V,离线操作用这个口供电。
USB电缆
- 连接到计算机时,提供500mA/5V电压。
RESET按键
- 板子上唯一的按键,RESET复位键,也就是单片机的重启按键。
ADC模数转换器模拟输入引脚
- 10位分辨率,意味着它将模拟信号转换为0到1023之间的数字值。其输入电压范围为0到5V,默认的参考电压为5V。可以使用
analogRead()
函数来读取模拟输入引脚的值,返回的结果是0到1023之间的整数,表示输入电压在0到5V范围内的位置。 - 主要用于数据采集,部分传感器需要用ADC来读取,比如光敏传感器、MQ系列气体传感器、pH传感器、压力传感器、电位器等等。
- 右上角的SCL SDA其实就是A4 A5,他俩是一样的。(SCL SDA是IIC的引脚,这里了解即可)
普通引脚 0 -13
- 正常情况下就是一个普通的GPIO,可配置为3种模式:
- 浮空输入(INPUT):用于按键、信号输入等
- 输出(OUTPUT):用于电机、LED、输出5V等
- 上拉输入(INPUT_PULLUP):用于按键、信号输入等
- Arduino Uno/Arduino Mega这两个开发板的引脚输出都是5V,这点需要注意。
- 如果是STM32来说理论上引脚的模式有8种,因为Arduino提供初学者,引脚模式精简为3种。
PWM引脚(图中画#的,有的板子是~号)
- 这些引脚是定时器驱动的PWM,可以从右侧看到他是哪个定时器驱动的,举个例子:
- 引脚11 右侧有OC2A 代表着定时器2的通道A
- 引脚3 右侧有OC2B 代表着定时器2的通道B
- 同理。引脚10 9是定时器1的两个通道
- 引脚5 6 是定时器0的两个通道
一个PWM驱动的demo(定时器2的两个PWM)
void setup() {
pinMode(3, OUTPUT); // 设置引脚3为输出
pinMode(11, OUTPUT); // 设置引脚11为输出
}
void loop() {
analogWrite(3, 128); // 设置引脚3的PWM占空比为50%(范围0-255)
analogWrite(11, 64); // 设置引脚11的PWM占空比为25%(范围0-255)
delay(1000);
}
- 占空比,简单来说,如果是50%,也就是输出2.5V(5V的50%)。初学者先这么理解。
- 呼吸灯也就是让单片机给LED输出0V到5V这样循环,让人看到由暗到亮的过程。
串口引脚 USART 0 1 RX TX
- Arduino Uno只有一个硬件串口,下载和通讯都是用的USART0,所以,这里需要注意的是,你如果用0 1这两个引脚左右串口通讯的时候是没法进行下载的,需要拔掉引脚0 和1才能下载代码。
- 不过也不用担心串口数量不够,Arduino支持软件模拟串口,这里不展开讲,如果想让我单独出一期软件串口,可以留言私信。
- 关于串口通讯具体细节可以看一下我往期的博客。
AREF参考电压(只影响模拟ADC引脚,不影响普通GPIO)
- 开发板右上角
- 在Arduino UNO中,有六个模拟输入引脚,ADC模拟引脚所测量的电压有一个范围,通常来说是0~5V,它能将0 ~ 5 V的电压分成1024份(2^10),算出来即为4.882mV的测量精度,举个例子就是0V的时候测量结果为0,5V为1023,3V约为615。
- 如果你输入的电压最大是3.3V,测量出来的最大值也就是675,你可以用map去映射,也可以用Arduino开发板提供的AREF,即在AREF接入3.3V作为参考值,这样不仅能直接读到1023,更为重要的是精度提高。3.3/1023 ==3.223mV
不用AREF测量3.3V的接入,652,654左右
使用AREF测量
demo
void setup() {
// 如果需要使用外部电压作为参考
analogReference(EXTERNAL); // 使用AREF引脚提供的电压作为参考电压
Serial.begin(115200);
}
void loop() {
// put your main code here, to run repeatedly:
Serial.println(analogRead(A0));
delay(1000);
}
Arduino Uno的板载LED灯
- Arduino Uno提供一个自带的LED灯供大家使用,也就是13引脚,如果直接操作13引脚可实现板载LED灯的亮灭,这里给一个demo,相关配置的原理可以看 文章(二)
void setup() {
pinMode(13,OUTPUT);//输出模式
}
void loop() {
digitalWrite(13,1);
delay(1000);
digitalWrite(13,0);
delay(1000);
}
文章二入口:
Arduino的GPIO和基础外设介绍,告别新手期,成为点灯大师(二)-CSDN博客
热门推荐
西安楼市2024:土拍逆势进位,新房改善与二手刚需并存
相亲如何保持平等与尊重
丹东凤城·东汤温泉养生文化节:温泉小城焕新彩 养生福地绽魅力
简报模板中心:全面解析2024年申论18种公文写作格式规范与应用解析
运动健身后能不能喝可乐饮料
传感器技术提升无人机智能感知与控制能力
如何理解债券型基金的分类?这类分类有哪些投资特点?
C语言如何做笔记
做菜放盐先后有何区别?怎样用盐提升味道?
蟹爪兰秋季养护指南:光照、浇水、施肥和温度控制四大要点
轻松应对脚裂口,全方位护理秘籍与实用建议
项目经理如何审核施工图
广东买药“比价神器”使用方法来了!
国庆假期将至,这份高速行车安全指南请收好
腊肉多久吃一次比较健康
关于盘口,有哪些你不知道的?
缅甸近百年最强震!皇宫、清真寺、大桥损毁,当地人称三成房子都塌了
舌头上长这么多红点点是怎么了
项目中如何进行排序管理
2024年上半年中国股权投资市场研究报告
瑜伽体式8400个,其实就这8大类,掌握这5类就够了(附关节理论)
什么是美股集合竞价?这种交易机制如何影响市场价格?
什么是 AI 代理?| 智能助手改变我们的生活与未来
为什么在期货交易中严格止损很重要?止损策略如何制定?
2025年北冕座T新星爆发:北冕座T新星已经爆发吗?
不去石家庄春游,你就真的OUT了!
湿热体质临床表现及调理方法
八字里木太多 八字木太多该怎么化解
哪些人易贫血?做下面的小测试,判断自己是不是贫血了……
为什么要做动态心电图?它和常规心电图有什么不同?