《用于物联网的Arduino项目开发:实用案例解析》—— 1.4 Arduino编程语言参考

简介: Arduino编程语言有不少内容,本章只会给出书中各章都会用到的基础内容,见表1-1。 表1-1 语言参考 代码结构 说  明 int 整数数值,比如123 float 带小数点的数值,比如1.

本节书摘来自华章出版社《用于物联网的Arduino项目开发:实用案例解析》一 书中的第1章,第1.4节,作者[美]安德尔·杰韦德(Adeel Javed),更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.4 Arduino编程语言参考

Arduino编程语言有不少内容,本章只会给出书中各章都会用到的基础内容,见表1-1。

9b22cdac833b2ad18356577124e874522f62e63c

Arduino IDE提供了非常简洁的写代码的界面。一般来说,你的代码由三个部分组成:

  • 外部库:引入所需的全部库。库是经过了完整的开发和测试过程的代码,可以引入到你的代码中来使用。比如,你想要用以太网连接来进行互联网通信,就不需要从头写全部的代码,只要用#include导入和包含Ethernet库就可以了。
  • 常量和变量:把所有要读取和操作的数据定义为常量或变量。常量不会变,所以可以用来表示板上的引脚编号。变量会改变,所以可以用来表示读到的传感器数据。
  • 函数:这包括所有自定义的和标准的函数。函数实现特定的功能。你的代码应该放在函数里,尤其是那些将来可能会重用的代码。函数有助于避免产生代码重复现象。
    程序1-1给出了按照上面所讨论的结构构造的代码例子。

1cc8ad0fe3e2594cf62be869d599b9d1a01ed898

程序1-1中有三个函数。两个是标准的Arduino函数——setup()和loop(),一旦这些代码被上传,Arduino就会调用这两个函数。所以这两个函数必须要有,这样代码才能运行。第三个函数printMessage()是用户编写的,用来向图1-6中的串口监视器窗口输出一条消息。
setup()函数只会被调用一次。在这个函数里做初始化工作,包括用Serial.begin(9600)初始化串口监视器。顾名思义,loop()函数会在一个持续的循环中不断被调用。初始化之后的任何操作,比如读取传感器数据,都可以在这个函数里实现。loop()函数调用printMessage()函数,然后等待5000ms,接着再重复整个过程。

1.4.1 执行Arduino代码

启动你的Arduino IDE,输入程序1-1,或者从本书的网站下载这个代码并打开。单击“验证”按钮来编译和检查代码。
接下来,用USB线把Arduino接到运行Arduino IDE的那台电脑上。
一旦Arduino被连接到电脑上,就按照图1-7那样,单击“工具?开发板”,然后选择Arduino Uno(如果你在用其他板子,就选择正确的板子的型号)。这样Arduino IDE就能知道要上传哪块板子的代码了(虽然原书中的界面图是英文的,但是Arduino IDE有中文界面,所以书中都用它的中文菜单来说明以增进可读性。——译者注)。

e76336fb74c42f40de6fc63f6275c097cf3d5f39

还需要选择代码上传的端口,按照图1-8,从“工具?端口”选择将Arduino连接到电脑的USB端口。
最后,点击“上传”按钮,然后打开串口监视器窗口。确认在串口监视器右下角显示的波特率数字和Serial.begin()函数调用中设置的数字是相同的。现在在代码中的这个数字应该是9600,所以在串口监视器那里需要选择9600波特率。否则,将无法看到日志消息。

b6144fdbed6cb8a1d20d4c0bf76856a9161d1965

如图1-9所示,在串口监视器窗口中能看到每5000ms出现一条日志消息。

4a9a785e9be1e8400d8a74a2c86f59ee7b06522f
相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
19天前
并发编程之读写锁ReadWriteLock的详细解析(带小案例)
并发编程之读写锁ReadWriteLock的详细解析(带小案例)
9 0
|
5天前
|
Java Spring 容器
【AOP入门案例深解析】
【AOP入门案例深解析】
17 2
|
11天前
|
缓存 NoSQL Java
Redis7的10大应用场景和案例解析
你在项目中使用 Redis 实现了什么应用场景,欢迎一起跟 V 哥讨论。同时也做个小调查,朋多少兄弟是需要了解 Redis 核心源码的,人多的话,下一篇 V 哥写 Redis7的源码分析,人少的话就算了,感谢。
|
17天前
|
人工智能 决策智能 C++
【AI Agent教程】【MetaGPT】案例拆解:使用MetaGPT实现“狼人杀“游戏(1)- 整体框架解析
【AI Agent教程】【MetaGPT】案例拆解:使用MetaGPT实现“狼人杀“游戏(1)- 整体框架解析
136 1
|
19天前
并发编程之CountDownLatch和CyclicBarrier的详细解析(带小案例)
并发编程之CountDownLatch和CyclicBarrier的详细解析(带小案例)
10 0
|
19天前
并发编程之Callable方法的详细解析(带小案例)
并发编程之Callable方法的详细解析(带小案例)
15 0
|
19天前
并发编程之Callable方法的详细解析(带小案例)
并发编程之Callable方法的详细解析(带小案例)
94 0
|
19天前
|
JSON Java 数据格式
Javaweb之SpringBootWeb案例之自动配置的原理分析的详细解析
Javaweb之SpringBootWeb案例之自动配置的原理分析的详细解析
7 0
|
19天前
|
JSON Java Maven
Javaweb之SpringBootWeb案例之自动配置以及常见方案的详细解析
Javaweb之SpringBootWeb案例之自动配置以及常见方案的详细解析
10 0
Javaweb之SpringBootWeb案例之自动配置以及常见方案的详细解析
|
19天前
|
JSON Java Maven
Javaweb之SpringBootWeb案例之 SpringBoot原理的详细解析
Javaweb之SpringBootWeb案例之 SpringBoot原理的详细解析
45 0
Javaweb之SpringBootWeb案例之 SpringBoot原理的详细解析

相关产品

  • 物联网平台
  • 推荐镜像

    更多