【PT+Arduino+OneNET基础教程4】PacketTracer传感器使用方法

【PT+Arduino+OneNET基础教程4】PacketTracer传感器使用方法

教程1.PacketTracer中MCU芯片编程入门教程
教程2.全部智能设备连接MCU使用方法
教程3.读卡器与红外探测器连接MCU使用方法
教程4.常用传感器使用方法
教程5.几种按钮与开关的使用方法
教程6.执行器使用方法
教程7.上云教程
教程8.多设备上云教程
教程9.Arduino+OneNET TCP透传上云教程(发+收)

本文将向大家介绍PacketTracer软件中常用传感器的使用方法
包含烟雾传感器、光照传感器、温度传感器、湿度传感器、风探测器、运动传感器、水探测器、水传感器、金属探测器的使用方法。

其中,烟雾探测器需要进行源码的修改。

由于接口限制,我们先对以下传感器进行讲解。
连接MCU的接口已加在模块名字后
【PT+Arduino+OneNET基础教程4】PacketTracer传感器使用方法_第1张图片

我们打开MCU进行编程(不知道什么意思的朋友可以先阅读本文(点击这里))
输入以下简单的代码

from gpio import *
from time import *

while True:
	light=digitalRead(0)
	move=digitalRead(1)
	hum=digitalRead(2)
	smoke=digitalRead(3)
	tem=digitalRead(4)
	wind=analogRead(A3)
	metal=digitalRead(A0)
	water1=digitalRead(A1)
	water2=digitalRead(A2)
	print("light:",light)
	print("move:",move)
	print("hum:",hum)
	print("smoke:",smoke)
	print("tem:",tem)
	print("wind:",wind)	
	print("metal:",metal)
	print("water1:",water1)
	print("water2:",water2)
	print("__________________________________")
	sleep(1)

之后运行代码显示如下
【PT+Arduino+OneNET基础教程4】PacketTracer传感器使用方法_第2张图片
1.光照传感器
我们首先看light光照,此时示数为0,可以看界面右上角,现在已经是夜晚,所以没有光
【PT+Arduino+OneNET基础教程4】PacketTracer传感器使用方法_第3张图片
我们可以点击时间进入环境界面如下
【PT+Arduino+OneNET基础教程4】PacketTracer传感器使用方法_第4张图片
点击Edit并修改时间为白天,点击ok
在这里插入图片描述

回到MCU发现光照变为1023,即检测到光照了
【PT+Arduino+OneNET基础教程4】PacketTracer传感器使用方法_第5张图片
2.运动传感器
接下来我们看运动传感器的使用方法
只需要按住alt键,并将鼠标在传感器上方移动,即可发现读数变为1023
【PT+Arduino+OneNET基础教程4】PacketTracer传感器使用方法_第6张图片

3.湿度传感器和温度传感器
我们可以看到读到的示数并非摄氏度或百分比湿度
所以我们需要对读数进行处理

【PT+Arduino+OneNET基础教程4】PacketTracer传感器使用方法_第7张图片
我们对原本读到的温湿度进行如下处理
(温度由0到1023表示-100℃到+100℃,所以我们先减去511再除以5.12即可得到摄氏度。湿度经过测试,除以10.19就可以得到最相近的读数。round函数的第二个参数为保留小数的位数。)

hum=digitalRead(2)
hum=round(hum/10.19,2)

tem=digitalRead(4)
tem=round((tem-511)/5.12,2)


如图可以看到,温度与湿度已经变为了摄氏度与百分比
【PT+Arduino+OneNET基础教程4】PacketTracer传感器使用方法_第8张图片
4.风探测器
当环境有风时可以检测到1023,无风时检测到0
在模拟器中,白天往往无风,晚上与凌晨往往有风。
我们打开环境可以看到当前风速
【PT+Arduino+OneNET基础教程4】PacketTracer传感器使用方法_第9张图片

但是风探测器无法检测风速,只能检测是否有风。我们看到MCU读到风为1023表示有风。
【PT+Arduino+OneNET基础教程4】PacketTracer传感器使用方法_第10张图片

5.金属探测器
金属探测器可以检测金属,我们可以使用motor来模拟金属
【PT+Arduino+OneNET基础教程4】PacketTracer传感器使用方法_第11张图片
当把金属放到探测器上方,显示80
【PT+Arduino+OneNET基础教程4】PacketTracer传感器使用方法_第12张图片
6.水传感器与水探测器
这两位是不同的,左边的可以检测水位,右边的只能检测有没有水
【PT+Arduino+OneNET基础教程4】PacketTracer传感器使用方法_第13张图片
我们打开洒水器,看二者的读数
发现water1会随着时间增加,water2永远是1023
【PT+Arduino+OneNET基础教程4】PacketTracer传感器使用方法_第14张图片
关闭洒水器 water1逐渐下降,water2依旧为1023,直到水位water1为0,water2也变为0。
【PT+Arduino+OneNET基础教程4】PacketTracer传感器使用方法_第15张图片
7.烟雾传感器
烟雾传感器的官方源码有些问题,无法使用MCU直接读取,所以我们需要进行一些简单的修改。
单击传感器→高级→编程→双击python代码→双击main函数
【PT+Arduino+OneNET基础教程4】PacketTracer传感器使用方法_第16张图片
【PT+Arduino+OneNET基础教程4】PacketTracer传感器使用方法_第17张图片
修改代码如下:

from gpio import *
from time import *
from environment import *
from physical import *
from pyjs import *
import math

ENVIRONMENT_NAME = "Smoke"
MIN = 0
MAX = 100


def main():
    while True:
        loop()
		
def loop():
    value = float(Environment.get(ENVIRONMENT_NAME))
    print(value)
    if value < MIN:
        value = MIN
    elif value > MAX:
        value = MAX

    setDeviceProperty(getName(), "level", value)

    digitalWrite(A0,value*10000)
    sleep(1)

if __name__ == "__main__":
    main()

修改完成后一定要点击Run运行,包括以后重新打开模拟器文件时,传感器代码可能会被系统关闭,需要我们重新在这里点一下运行才可以正常使用
【PT+Arduino+OneNET基础教程4】PacketTracer传感器使用方法_第18张图片

打开小车(按住ALT点击小车)之后可以发现传感器正常读数
当然读数具体含义我们也没必要去深究,只要是有就可以了,具体的读数甚至每个软件版本都不一样。
【PT+Arduino+OneNET基础教程4】PacketTracer传感器使用方法_第19张图片

至此,常用传感器的使用方法已经讲解完毕。

在此整理常用设备的方法与需传参数如下

执行器(智能设备)名称 控制方法
台灯 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

烟雾传感器、读卡器、红外线装置需要进行一些修改,大家可以详细参考以下文章

烟雾传感器

读卡器与红外线装置

你可能感兴趣的:(mcu,思科,物联网,iot)