第三节 使用模拟器实现LED灯的闪烁

1智能产品设备的概念

1.1 基本概念(物=智能产品)

物联网中的物,就是所谓的智能产品。传统的物品必须经过智能化改造,才能符合物联网中“物”的特点。

1.2 智能产品的组成

一般情况下,智能产品由以下四个部分组成。运算器、传感器、控制器和连接器。运算器是智能产品的核心。传感器的作用是收集数据,控制器的作用是反馈数据,连接器就是把物接入到互联网的器件。

       

1.3 运算器=核心板

平时在智能产品程序设计的时候,主要是对运算器进行开发,运算器是智能产品的大脑。常见的运算器有51系列、stm32系列等。但是这些运算器。面临着底层的开发,对于初学者来讲相对困难。

所以在开发中一般会使用开源的开发板,比如说arduino或者树莓派,来对物联网智能产品进行开发。

目前在物联网业界中大多数的开发场景都是使用arduino或者树莓派进行智能产品的开发。

1.4 arduino

Arduino是一款开源的电子原型平台,用于构建各种交互式项目。它包括硬件和软件部分,硬件部分是一个单片机板,上面有各种输入和输出接口,可以连接传感器、执行器和其他电子元件。软件部分是一个简单易用的集成开发环境(IDE),用于编写、上传和运行代码。Arduino的设计目标是使电子原型开发变得简单和易于理解,即使对于没有编程和电子经验的人也可以使用。它已经成为一个非常受欢迎的工具,被广泛应用于各种创意和科技项目中。

1.5 仿真软件

在Arduino智能产品开发的时候,首先使用仿真软件,本教材中用到的分别是思科模拟器和wokwi。

1.6 思科模拟器

模拟器是专门为网络学习开发的仿真软件,其中涉及物联网工程的仿真。该软件主要用于智能产品的仿真,让同学们对智能产品开发有一个初步的认识。

2模拟器的安装过程

2.1 下载文件

可以通过链接https://pan.app.nbpt.edu.cn/share/4714171421755c1710a45bd9b1或者扫描图中二维码下载。

2.2 安装模拟器

1、将下载的文件夹解压后得到“模拟软件7.3”文件夹,如图:

2、进入文件夹,双击点开安装程序,根据提示安装完成,需注意安装完成后取消勾选Launch Cisco Packet Tracer,并不要打开软件。

  1. 安装补丁及汉化,将之前解压文件夹中的PacketTracer7.exe文件移动至模拟器的安装目录的bin中替换原有文件。

将Chinese.ptl文件移动至模拟器安装目录中的languages文件夹内。

  1. 打开Cisco Packet Tracer,确认汉化完成

如未显示中文,点击options-preferences设置,在选择语言中选择Chinese.ptl进行更改,重启后生效

3智能产品的第一个案例-LED灯闪烁

3.1 创建板卡

选择右下角组件-板卡选项,并将MCU拖拽至工作区

其中板卡分为三种MCU board、SBC board和Thing分别代表:

MCU board:简单的单片机

SBC board:具有联网、运算功能的单片机

Thing:典型的物联网产品

本次课程先从MCU开始学习。

3.2 创建LED灯

选择右下角组件-执行器选项,并将LED灯拖拽至工作区

3.3 连接组件

1、选择右下角连接线选项,并将IOT自定义电缆拖拽至LED灯上,并选择D0

 

2、并将线的另一端连接至MCU控制器,选择D0引脚

MCU的引脚分为D和A,D代表数字引脚,A代表模拟引脚,一般情况下高低电平选择数字口,也就是D。

3.3 编写程序

1、点击MCU控制器,进入编程界面

  1. 选择Blink编程模板

目前这个模拟器使用的是两种编程语言,一种是javascript,另一种是python,默认的是javascript。

  1. 认识和编写代码

mian.js为程序的主入口,模板中它分成两种方法,分别为setup方法和loop方法。

setup和loop方法

setup方法的代码在本程序中只执行一次,而loop函数在程序中是循环执行的。

所以在一般情况下setup是做初始化用的,而程序的核心代码都写在loop函数里面。

代码实例:

function setup() {

……

//该代码块在本程序中只执行一次

}

function loop() {

……

//该代码块在程序中是循环执行的

}

pinMode方法

pinMode,是用来定义引脚的输入输出模式。

它分成两个参数,第一个参数表示引脚的编号,由于刚才将LED灯连到D0的引脚上,此处将1改为0。因为是数字引脚,也就是D开头的引脚,此处只需填入引脚的编号就可以,如果是模拟引脚,就需要在数字前面加上A。第二个参数表示引脚的模式,分成output和input两种,分别对应输出信号和输入信号。一般情况下,连接传感器的使用的是input模式,连接执行器的引脚就使用output模式。

代码实例:

function setup() {

pinMode(0, OUTPUT);//用来定义引脚输入输出模式

……

}

串口通信

Serial.printIn的作用是在串口上打印数据,这是通过串口打印的,同时可以在控制台上进行输出,在平常测试的时候会用到。

代码实例:

function setup() {

……

Serial.println("Blinking");//串口上打印数据

}

digitalWrite设置高低电平

digitalWrite的作用是为某一个引脚输出一个信号。分别为HIGH和LOW两个参数,HIGH代表高电平,LOW代表低电平。在本节课中,应该向0也就是l e d灯所连接的引脚输出一个高信号电平,因为l e d灯的正极是连接到这个引脚上面,所以给0引脚置高电平时,l e d灯就被点亮。

代码实例:

function loop() {

digitalWrite(1, HIGH);//某一个引脚输出一个信号

……

}

delay延时

delay的作用是延时,它的单位是毫秒,输入1000,就表示等待1秒钟。

代码实例:

function loop() {

……

delay(1000);//延时1秒后再执行下面代码

……

}

最后通过loop这个函数将代码循环起来,实现“LED亮灯-等待一秒-LED关闭-等待0.5秒”的循环。

3.4 模拟运行

点击“run”按钮,回到工作台,通过MCU控制板执行的程序,实现了LED的闪烁功能。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

wyhlzwj

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

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

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

打赏作者

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

抵扣说明:

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

余额充值