Arduino - 入门02 - Arduino编程基础 Arduino程序结构,实物与模拟器对照,Arduino常用函数

目录

1,Arduino程序结构

2,开发板上面的端口

[2-1,数字端口:D2-D13 ---一共12个端口](#2-1,数字端口:D2-D13 ---一共12个端口)

[2-2,A0-A5 ---6个端口也可以作为数字端口使用](#2-2,A0-A5 ---6个端口也可以作为数字端口使用)

2-3,实物和SimulIDE中对照

3,Arduino中最常用的库函数

[3-1,pinMode - 端口方向设置](#3-1,pinMode - 端口方向设置)

[3-2,digitalWrite - 数字状态输出](#3-2,digitalWrite - 数字状态输出)

[3-3,digitalRead - 数字状态输入](#3-3,digitalRead - 数字状态输入)

[3-4,delay - 延时函数](#3-4,delay - 延时函数)

4,测试一下各种函数

4-1,电路设计

[4-2,Arduino IDE编程](#4-2,Arduino IDE编程)

4-3,加载固件到电路

4-4,测试


下面是详细内容。

1,Arduino程序结构

新建一个Arduino项目之后,它显示的是这样的默认ino文件

里面只有setup,loop函数

Arduino上编写的是C语言,那C语言大家都知道有个Main函数啊

其实Arduino给做了个封装的

内置的main函数是这样的:)

2,开发板上面的端口

2-1,数字端口:D2-D13 ---一共12个端口

TX1,RX0 也可以作为数字端口,

但是它们也连了一些其他的硬件,所以咱们不要轻易使用

2-2,A0-A5 ---6个端口也可以作为数字端口使用

这默认是作为模拟信号的输入,但是通过设置也可以作为数字端口使用

2-3,实物和SimulIDE中对照

基本上是一一对应的

模拟器上面数字端口只是数字表示,板子上面是有D前缀

3,Arduino中最常用的库函数

3-1,pinMode - 端口方向设置

  • 函数:pinMode(pin, mode)

  • pin:引脚号 - 0,1,2,3,...

如果用到A0-A5,则是14 - 19

  • mode:端口的方向,比如 输入 INPUT,输出 OUTPUT,...

3-2,digitalWrite - 数字状态输出

  • 函数:digitalWrite(pin, value)

  • pin:引脚号 - 0,1,2,3,...

如果用到A0-A5,则是14 - 19

  • value:输出状态,比如 高电平 HIGH,低电平 LOW

3-3,digitalRead - 数字状态输入

  • 函数:digitalRead(pin)

  • pin:引脚号 - 0,1,2,3,...

如果用到A0-A5,则是14 - 19

  • 返回值:输入状态,比如 高电平 HIGH,低电平 LOW

3-4,delay - 延时函数

  • 函数:delay(ms)

  • ms:延时毫秒值,1秒 = 1000毫秒

4,测试一下各种函数

先熟悉一下SimulIDE中一些器件

比如LED阳极和阴极各连接一个固定稳压器

这时候阳极打开,阴极关闭,开始模拟的话,是可以模拟成功的,也就是LED会发光

但是呢,它是强光闪烁的,这是什么意思呢?

就是说从二极管特性上是可以发光,但是现实当中你要真这么干,电流会非常大,马上就烧毁了。

这里要加一个固定电阻,这样就可以正常运行了

4-1,电路设计

我们这里要做的就是将LED阳极连到Arduino板子的数字输出上

当数字输出为高电平,LED就发光

所以设计就如下了:

下面的编程,编译,加载固件可以参照这篇文章

https://blog.csdn.net/shi_ly/article/details/160925284

4-2,Arduino IDE编程

  • pinMode:设定端口方向

不设定方向的话默认是输入,但是不要依赖它,不管是输入还是输出都最好在setup里明确写上

这里是输出,所以肯定是要写的

  • digitalWrite,delay:4号针脚输入 高电平,然后延时300毫秒,再给低电平,再延时800毫秒

    void setup() {
    pinMode(4,OUTPUT);
    }

    void loop() {
    digitalWrite(4,HIGH);
    delay(300);
    digitalWrite(4,LOW);
    delay(800);
    }

保存并编译成二进制代码

4-3,加载固件到电路

4-4,测试

点击运行,就可以看到LED灯自动亮灭闪烁

以上就是本篇的全部内容。

如果大家觉得还行,希望大家多点赞,收藏,转发,感谢!

更多业务知识请点击下面目录链接或东京老树根的博客主页

https://blog.csdn.net/shi_ly/category_12216766.html

东京老树根-CSDN博客

相关推荐
单片机杂货铺17 小时前
基于单片机的智能粮仓控制系统设计与实现
stm32·单片机·嵌入式硬件·物联网·计算机外设·51单片机·课程设计
PNP Robotics17 小时前
力控赋能具身|PNP机器人联合坤维亮相中国机器人学术年会
人工智能·机器学习·机器人
物联网软硬件开发-轨物科技18 小时前
【轨物方案】光伏清检一体化机器人:从“能扫“到“能看能断“的技术跨越
机器人
clear sky .19 小时前
stm32H7进入HardFault_Handler机制
stm32·单片机·嵌入式硬件
小僧景贤19 小时前
STM32 GPIO 详解(含寄存器、HAL 库、电气特性、低功耗深度剖析)
stm32·单片机·嵌入式硬件
星核0penstarry20 小时前
超越 VLA:NVIDIA 解读|世界动作模型,会是具身智能的未来吗?
人工智能·机器人
远翔调光芯片^1382879887221 小时前
从参数到应用:FP7208如何以0.2V精密反馈提升LED驱动性能
科技·单片机·嵌入式硬件·智能家居·能源
ivywriter1 天前
【数字孪生】到底能解决什么实际问题?
大数据·人工智能·机器人
csdn杰哥1 天前
瑞萨单片机AI教程【六】导入外部电机状态数据训练模型
人工智能·单片机·嵌入式硬件·瑞萨·ra6m5
远翔调光芯片^138287988721 天前
高效驱动!FP7153赋能3A大电流手电筒,单节锂电 / 5V 供电也能迸发强劲照明力
科技·单片机·嵌入式硬件·智能家居·能源