【SoC基础】Arduino从零入门(Arduino安装、设置以及项目实操)

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处


一、Arduino安装与设置

1.1 Arduino简介

Arduino是一款便捷灵活、方便上手的开源电子原型平台,由一个欧洲开发团队于2005年冬季开发。
Arduino包括硬件(各种型号的Arduino板)和软件(Arduino IDE)。 Arduino IDE就是开发Arduino板必须要用到的配套IDE。
常用型号的Arduino板:
Arduino开发板有多种型号,以下是一些常用的:

  • Arduino Uno:这是一个基础级开发板,对于初学者来说非常友好。
  • MEGA2560:这是功能更强大的开发板,有更多内存和连接端口,适合需要处理大量数据的项目。
  • Arduino Micro:这是一种微型化的开发板,尺寸更小,适合需要小巧、便携解决方案的项目。
  • Leonardo:这款开发板集成了ATmega32u4控制器和USB接口,适用于需要无线通信的项目。
  • Arduino Nano:该开发板更加紧凑,旨在为那些需要小型化解决方案的项目提供服务。
  • GEMMA (吉玛):这是一种基本的开发板,对于初学者来说也是一个不错的选择。
  • Arduino 101:这款开发板基于Intel Galileo,集成了Wi-Fi和蓝牙功能,非常适合需要网络连接的项目。
  • Arduino Ethernet:这款开发板可以让您的项目连接到局域网或互联网。
  • Arduino Yún:这款开发板基于ATmega32u4和ESP8266 Wi-Fi微控制器,具有内置以太网和SD卡支持,可以实现远程控制和数据存储。
  • Arduino Due:这是一款高性能的开发板,适用于需要高速运算和大量存储空间的项目。

在这里插入图片描述

Arduino结构:

1、引脚:与控制器直接相连的针脚。
2、端口:数字输入输出端口、模拟输入端口、电源端口等。其中,输入输出都是针对开发板来说的,向开发板发送信号那就是输入,反之为输出。数字输入输出只能0和1,端口0和端口1是用来传输数据用的。电源端口向外提供电压,有5V和3.3V。
从使用引脚到端口的转变原因
✨单片机从使用引脚到端口的转变主要是为了解决引脚冲突和提高系统的可扩展性。在单片机的早期设计中,引脚是最基本的输入输出单位。但随着应用需求的增加,特定的引脚可能会被多个外设或模块同时使用,导致引脚冲突。这种情况下,如果继续使用单独的引脚,可能需要频繁地更改硬件连接或重新分配引脚,这不仅增加了设计的复杂性,也可能影响系统的稳定性和可靠性。

✨ 为了解决这个问题,单片机引入了端口的概念。端口是由多个引脚组成的逻辑单元,它可以独立地进行输入输出操作,而不需要关心引脚的具体配置和状态。通过使用端口,设计者可以更加灵活地管理和控制各个外设,避免引脚冲突的问题。此外,端口还提供了更高级的输入输出功能,如中断、DMA等,进一步提高了系统的响应速度和处理能力。

✨总的来说,从引脚到端口的转变是为了提高单片机的可扩展性和稳定性,使其更好地满足复杂应用的需求。

在这里插入图片描述
3、Arduino的程序存储空间最大为多少?
Arduino的程序存储空间最大为32256字节。这个存储空间由两部分组成:静态存储空间和动态存储空间。静态存储空间主要用于存放程序代码和全局变量,其最大空间为32256字节;动态存储空间主要用于存放局部变量,其最大空间为2048字节。

但需要注意的是,程序存储空间的大小也受到Arduino开发板型号的影响。例如,对于某些Arduino Mega系列的开发板,其程序存储空间可以达到256KB。因此,在编写Arduino程序时,需要根据具体的开发板选择合适的编程方式和优化策略,以确保程序能够正常运行。
在这里插入图片描述

1.2 Arduino安装

Arduino编程软件的安装,官网链接:https://www.arduino.cc/
登录官网后找到软件安装包
在这里插入图片描述
如果官网下载太慢可以登录太极创客网址:http://www.taichi-maker.com/,进行快速下载。
在这里插入图片描述
安装过程:注意要全选,然后一路Nect即可等待安装完成!
在这里插入图片描述

1.3 Arduino设置

首先,点击文件首选项,对其进行参数设置。勾选“显示行号”,一般第一次打开设置界面,都未勾选。
在这里插入图片描述
其次,设置IDE中开发板的型号和端口,在连接上开发板后,在工具选项栏中选择“开发板”型号以及“端口号”。

1.4 Arduino界面

关于界面说明:

1、打钩的是“验证”,实际作用就是编译代码成可执行程序;
2、向左的箭头是上传,实际作用就是将可执行程序烧录到开发板上。
在这里插入图片描述

Arduino的程序入口在哪里?

Arduino的程序入口是setup()loop()两个主要函数。当Arduino板启动时,setup()函数会被调用,它负责初始化变量、设定引脚模式以及启用必要的库等功能。这个函数在Arduino板的每次上电和复位时只会运行一次。

loop()函数则是Arduino的主循环,它在setup()函数执行完毕后开始执行,并会不断循环执行,以处理输入、输出和控制逻辑。

值得注意的是,虽然在许多编程环境中,程序的入口通常是名为main()的函数,但在Arduino开发中,并没有直接使用这个函数作为程序入口。实际上,main()函数存在于Arduino核心库中,并仍然作为程序的入口。
在这里插入图片描述

二、Arduino项目实操

2.1 主要函数学习

Arduino编写程序的函数主要包括以下几个:

  1. setup():在程序开始时执行一次,通常用于初始化硬件和设置初始状态。
  2. loop():在程序运行时不断执行,通常用于处理输入、输出和控制逻辑。
  3. pinMode():设置引脚的模式,如输入或输出。
  4. digitalRead():读取数字引脚的状态,返回0或1。
  5. digitalWrite():向数字引脚写入电平,可以是高电平(1)或低电平(0)。
  6. analogRead():读取模拟引脚的值,范围为0到1023。
  7. analogWrite():向模拟引脚写入值,范围为0到255。
  8. delay():暂停程序执行一段时间,单位为毫秒。
  9. delayMicroseconds():暂停程序执行一段时间,单位为微秒。
  10. millis():获取程序从启动到现在的毫秒数。
  11. micros():获取程序从启动到现在的微秒数。
  12. map():将一个数值从一个范围映射到另一个范围。
  13. constrain():将一个数值限制在一个范围内。
  14. Serial.begin():初始化串行通信。
  15. Serial.print():向串行监视器发送数据。
  16. Serial.println():向串行监视器发送数据并换行。
  17. Serial.read():从串行监视器读取一个字节的数据。
  18. Serial.available():检查串行监视器是否有可用的数据。
  19. Serial.write():向串行监视器发送一个字节的数据。
  20. Serial.flush():清空串行监视器的缓冲区。

各个函数具体作用以及用法可以看太极的官网:
http://www.taichi-maker.com/homepage/reference-index/arduino-code-reference/
在这里插入图片描述

2.2 控制LED闪烁

面包板的出现
面包板,也被称为万用线路板或集成电路实验板,是专为电子电路的无焊接实验设计制造的工具。其名称源于板子上的众多小插孔,这些插孔看起来很像面包中的小孔。
面包板在真空管电路的年代就已经开始出现,当时的元器件体积较大,人们常常通过螺丝和钉子将它们固定在切面包用的木板上进行连接,后来随着元器件体积的不断缩小,虽然元器件变小了,但"面包板"的名称却延续了下来。

面包板的使用大大提高了实验效率,同时也降低了实验故障的出现几率。由于各种电子元器件可以根据需要进行插入或拔出,这样一来就无需焊接,从而节省了电路的组装时间。而且元件可以重复使用,所以面包板非常适合用于电子电路的组装、调试和训练。
在这里插入图片描述
面包板的连接原理是基于插孔连接的。每个金属孔都与周围的金属孔相连,形成一个电路节点。当我们需要连接两个电路节点时,只需在它们之间插入导线即可。

点亮开发板上的LED
开发板上的LED与13号引脚相连,因此只需要控制该引脚的电平即可实现对LED的控制。

void setup() {
  // put your setup code here, to run once:
  pinMode(13,OUTPUT);
} 

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(13,HIGH);
  delay(500);//持续亮0.5秒
  digitalWrite(13,LOW);
  delay(500);//持续熄灭0.5秒
}

点亮面包板上的LED
首先,根据电路原理图使用导线连接面包板、LED以及开发板。其次,LED短边为负极,长边为正极。
在这里插入图片描述

在这里插入图片描述

int pin=5;
void setup() {
  // put your setup code here, to run once:
  pinMode(pin,OUTPUT);
} 


void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(pin,HIGH);
  delay(500);//持续亮0.5秒
  digitalWrite(pin,LOW);
  delay(500);//持续熄灭0.5秒
}

2.3 按键开关操作

上拉和下拉电阻:上拉电阻和下拉电阻的主要作用是将状态不确定的信号线通过一个电阻将其箝位至高电平(上拉)或低电平(下拉),从而避免电压的“悬浮”,造成电路的不稳定。在数字电路中,通常有三种状态:0(低电平)、1(高电平)、浮空(不确定、随机)。
具体来说,上拉电阻是在某信号线上,通过电阻与一个固定的高电平VCC相接,使其电压在空闲状态保持在VCC电平;而下拉电阻则是将某信号线通过电阻接在固定的低电平GND上,使其空闲状态保持GND电平。

本次通过按键开关对Arduino的引脚输入高、低电平。

项目实操总结

1、首先,根据电气原理以及想要实现的功能连接电路图;
2、然后,再按照电路图连接导线和部件;
3、最后,按照想要实现的功能编写代码。

  • 12
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌小超

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值