【PT+Arduino+OneNET基础教程1】PacketTracer中MCU芯片编程教程(零基础入门)
时间:2023-05-26 22:37:00
【PacketTracer Arduino OneNET(TCP物联网教程1】PacketTracer中MCU芯片编程教程
教程1.PacketTracer中MCU芯片编程入门教程
教程2.全部智能设备连接MCU使用方法
3.读卡器与红外探测器连接MCU使用方法
教程4
教程5.使用几个按钮和开关
教程6.使用执行器的方法
教程7.上云教程
教程8.多设备云教程
教程9.Arduino OneNET TCP传输云教程(发送 收)
很多学校的网络课程设计程设计PacketTracer(以下简称PT)本文将讨论此软件MCU详细讲解编程的基本方法。
PT内的物联网相关设备主要可以分为两类:物联网模块和智能家居设备。
物联网模块分为传感器和执行器两类。
此外还有服务器和MCU可控制物联网设备的两种设备。
智能家居设备可以控制服务器,MCU可控制智能家居设备和物联网基础模块。
但这并不意味着服务器功能比MCU弱。通过服务器,我们可以在软件内直接使用手机无线远程控制智能家居设备,不需要编程,但也不能进行云和物化操作。因此,服务器适合学生进行基础设计。
MCU我们需要自己编程,不能与软件中的手机和其他设备互动。只能连接传感器和执行器,并使用编程来实现自定义操作。但是在我们的软件中需要使用云MCU芯片实现。而且PT模拟器中的编程相对简单,可用作Arduino实物化的先行模拟。MCU芯片编程适合想参加相关比赛的学生。
我们看到的具有完整功能的设备,如台灯、风扇和温度表,都是智能家居设备(下图可重复)
例如,一个按钮,一个按钮,一个按钮LED灯是物联网的基本模块。
我们能用这些东西做什么?例如,我们可以MCU连接温度传感器、加热器和制冷器。温度过低时打开加热器,温度过高时打开制冷器。当然,我们需要MCU实现内部编程。
在本专栏中,服务器的配置和使用将不再得到解释,而是将重点放在MCU编程、智能家居编程和所有物联网模块的使用教程和先进的使用方法。如有必要,请访问本专栏(点击此处)学习。
然后我们正式开始本教程。
1.我们先放一个MCU芯片和按钮。
2.然后我们用这条线连接。
3.当我们连接时,我们可以看到MCU有许多接口如D0、D1、A0、A1.在这个实验中,我们使用MCU的D0接口。 当然,这并不意味着它只能使用D0接口。
而按钮只有D0接口
并不是说只有按钮D0接口必须连接MCU的D0接口。物联网模块如按钮一般只有一个D0接口或一个A0接口,少数有多个接口。MCU有许多接口。
我们可以发现,所有接口分为D接口和A接口。我们称D接口为数字接口,A接口称为模拟接口。每个物联网模块都需要连接到MCU接口类型要求不同,但大多数都可以直接用A口作为D口,也就是说,我们不需要专门分类每个设备需要连接哪个接口。如果不能使用,我们只需要用D口代替A口。
4.连接完成后,我们将鼠标放在线上的小圆点上,显示如下。
通过这种方法,我们可以快速查看接口信息。
5.单击MCU芯片→编程→new→emptypython
6.点击main.py进入编程界面
7.输入以下代码后点击RUN按钮 之后可以看到下面连续输出Hello字符串。
行1 与 行2 导入必要的库。gpio图书馆包含从传感器和执行器读取和写入信息的函数,time库包含sleep函数。如第六行sleep(1)表示程序暂停1秒。while循环中千万不要忘记sleep(1),否则会卡死。
8.现在我们试着读取按钮的信息。
输入以下代码并允许在下面看到0,0," "
行5:使用analogRead,参数为0,意思是使用analog方法读取MCU接口D0收到的信息
行6:使用digitalRead,参数为0,意思是使用digital方法读取MCU接口D0收到的信息
行6:使用customRead,参数为0,意思是使用custom方法读取MCU接口D0收到的信息
行7:输出三者
可以看出,前两种方法都成功读取0,而第三种方法成功。
9.这时我们按住了ALT按下按钮
控制台显示1023,1023, “
这意味着前两种方法都读取了按钮按下的信息。
也就是说,我们可以使用它analogRead(0)或digitalRead(0)读取连接到接口的方法D和customRead(0)方法不能。事实上,这三种方法都是我们将使用的阅读函数。
假如我们把按钮连接到MCU的D1接口,如何阅读按钮信息?
我们只需要将函数参数修改为1
如果我们将按钮连接到11MCU的A0接口呢?
此时,我们的参数需要传输A0而不是0,这就是PT模拟器区分D接口和A接口。
因此,我们应该具体使用它analogRead方法还是digitalRead方法还是customRead方法,你可以先到设备说明界面进行查看如下图。
我们以台灯为例单击,您可以看到以下说明。
说明中提及customWrite方法表明我们需要使用台灯custom方法。你可能会想,为什么刚才有digitalRead,analogRead,customRead,突然然变成了Write了呢。
事实上,常用函数分为三种,读写函数分为digital analog和custom。对于对于需要控制的设备,如台灯,我们需要将信息写入其中。对于按钮或温度传感器,我们需要的信息。(其实万物皆可读,只是一般没有必要)
此时我们再单击按钮查看说明发现没有提到使用哪种方法,这就是为什么我们在上面使用了三种方法并输出查看。我们需要尝试解决说明中没有提到使用方法的设备。
12.此时我们已经学会了如何读取按钮的信息,那么如何使用按钮呢?
我们找到了一个台灯,接在MCU的D0接口。
13.输入以下代码并运行。
这个代码意味着,如果按下按钮,我们将使用它customWrite方法向MCU的接口D0写入信息1,否则将访问接口D0写入信息0。我们可以看到参数,第一个参数是接口,第二个参数是写入的数据。
这时,我们按下按钮,打开台灯。松开按钮,台灯熄灭。
我们已经学会了如何使用按钮信息来控制台灯。
事实上,我们可以通过查看台灯的说明来发现,将0写入台灯表示关闭,1表示关闭dim即暗,2表示火力全开。。所以我们customWrite(x,2)台灯可以更亮。
其实,不同的设备需要写不同的信息,比如LED灯,我们可以写0到1023来表示亮度,比如MOTOR发动机,我们输入0到1023来表示旋转速度。例如,我们需要将加热器制冷器写入LOW或HIGH(0或1023)表示打开或关闭,或风扇写入0或1表示关闭或打开。还有更特殊的设备,我们将在以后的教程中逐一解释。
本课主要介绍给大家。①线的选择 ②D接口与A接口的区别(通常可以直接使用A作为D,函数参数传输A0 A1 A2) ③读函数写函数和sleep函数 ④如何知道设备应该使用digital analog还是custom方法
这门课是入门课,所以内容冗长,节奏慢。不懂也没关系。在未来的教程中,我们将带领您在实践中获得真知。
注:D接口可用于绝大多数设备,MCU接口数量有限,D接口往往不够,所以我们尽量将可以使用A接口的设备连接到A接口,让出只能使用D接口的设备。
本文整理了常用设备的方法和需传参数
执行器(智能设备)名称 | 控制方法 | 开 | 关 |
---|---|---|---|
台灯 | customWrite | 1暗 2亮 | 0 |
加湿器 | customWrite | 1 | 0 |
咖啡机 | custom Write | 1 | 0 |
电风扇 | customWrite | 1低速 2高速 | 0 |
车库门 | customWrite | 1 | 0 |
siren报警器 | customWrite | 1 | 0 |
鼓风机 | customWrite | 1 | 0 |
草坪洒水器 | customWrite | 1 | 0 |
窗户 | customWrite | 1 | 0 |
排水孔 | customWrite | 1 | 0 |
门 | customWrite | [1,0]数组 | [0,1] |
摄像头 | customWrite | 1 | 0 |
LCD显示器 | customWrite | “xx” 字符串 | ""空字符串 |
制冷器 | digitalWrite | 1023或HIGH | 0或LOW |
制热器 | digitalWrite | 1023或HIGH | 0或LOW |
洒水器 | digitalWrite | 1023或HIGH | 0或LOW |
舵机 | analogWrite | 1到1023(亮度) | 0 |
LED | analogWrite | 1到1023(速度) | 0 |
门的使用较为特殊,数组第一个数字为0的话表示不打开门,为1的话表示尝试打开门。第二个数字表示是否上锁,为1的话表示上锁,为0的话表示解锁。
传感器名称 | 读取方法 |
---|---|
光照传感器 | digitalRead |
温度传感器 | digitalRead |
湿度传感器 | digitalRead |
运动传感器 | digitalRead |
烟雾传感器 | digitalRead |
金属传感器 | digitalRead |
水传感器 | digitalRead |
水探测器 | digitalRead |
风探测器 | digitalRead |
读卡器 | digitalRead |
红外线探测器 | digitalRead |
光照传感器 | analogRead |
烟雾传感器、读卡器、红外线装置需要进行一些修改,大家可以详细参考以下文章
烟雾传感器
读卡器与红外线装置