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

相关推荐
Deepoch1 小时前
Deepoc VLA开发板:采摘机器人自主决策与柔性协同系统
机器人·开发板·deepoc·采摘
项目題供诗1 小时前
STM32-TIM输入捕获(十四)
stm32·单片机·嵌入式硬件
cpsss06811 小时前
Freertos的Systick_Handler重定义
单片机·嵌入式硬件
Flying Youth2 小时前
【Embodiment Gap in Robot Learning: A Comprehensive Survey】
机器人
小陶来咯2 小时前
机器人触摸反馈模块:3x3 随机匹配 + 概率语音播报
机器人
工业机器人销售服务2 小时前
遨博产品尺寸偏差智能检测,微米级筛查误差,严控成品装配精度
机器人·自动化
国产电子元器件3 小时前
电流传感器的输出可以直接接示波器吗?
stm32·单片机·嵌入式硬件
百度智能云技术站3 小时前
训练周期减半:LoongForge 全链路优化 GR00T N1.6 训练,吞吐提升至 2.3 倍
机器人·llm
才兄说4 小时前
机器人二次开发机器狗巡检?高精度自主定位
机器人
m0_747124535 小时前
单片机 VSCode 开发环境搭建
vscode·单片机·嵌入式硬件