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博客

相关推荐
zlinear数据采集卡20 分钟前
硅片里的“自动纠错“:硬核拆解LHAMP188自动归零技术原理与三种封装的PCB布局实战
arm开发·单片机·嵌入式硬件·fpga开发·开源
2401_8888597134 分钟前
STM32H7外部flash(W25Q128)+SPI+DMA读写
stm32·单片机·嵌入式硬件
某林2122 小时前
构建高精度 6-DoF 灵巧手控制系统
人工智能·3d·机器人·ros2·技术复盘
qcx232 小时前
SpaCellAgent:用 LLM 多智能体怎么用于单细胞轨迹分析的?效率提升了多少?
人工智能·gpt·安全·ai·机器人·llm·agent
一个嵌入式学徒3 小时前
STM32F4 HAL库常用API手册(非CubeMX生成,需手动调用)
stm32·单片机·嵌入式硬件
m0_377108143 小时前
小智ai,esp32
单片机
Mr-pn-junction12 小时前
clk_gate
单片机·嵌入式硬件·fpga开发
QYR-分析13 小时前
机器人安全控制器行业高速扩容 本土替代迎来全新发展窗口期
人工智能·安全·机器人
多米哇卡13 小时前
WAIC现场|启元T1机器人亮相,支持轮足、四足形态自适应切换
机器人·启元t1机器人·waic展会
CyL_Cly14 小时前
安川机器人全流程学习资料 51G安川机器人编程指令说明书
机器人