专题三 PacketTracer 中 MCU 芯片编程基础

  • 实验目的
  • 1.将智能设备:报警器、风扇、车库、加湿器、咖啡机、鼓风机、洒水器、窗户、按钮分别

    连接到 MCU 相应接口上(接口见设备名称后面,如报警器接在 MCU D0 接口)。

  • 专题三 PacketTracer 中 MCU 芯片编程基础_第1张图片

     

  • 2.下面换一批设备:一个排水孔,一个摄像头,还有三个门,如下图

  • 专题三 PacketTracer 中 MCU 芯片编程基础_第2张图片

     

  • 实验原理

①线的选择

②D 接口和 A 接口的区别(一般可以把 A 当作 D 直接使用,函数参数传 A0 A1 A2)

③读函数写函数和 sleep 函数

④如何知道设备应使用 digital analog 还是 custom 方法

⑤按住 ALT 键并左键可按住按钮

注意:绝大部分设备都可以使用 D 接口,而 MCU 的接口数量有限,经常出现 D 接口不够用

的情况,所以我们尽量把可以使用 A 接口的设备连接到 A 接口,为只能使用 D 接口的设备

让出接口。

  • 实验代码
from gpio import *
from time import *

while True:

    a1=analogRead(A0)

    if(a1!=0):

        customWrite(0,1) #开排水孔

        customWrite(1,1) #开摄像头

        customWrite(2,[0,1]) #门锁上锁

        customWrite(3,[0,0]) #门解锁

        customWrite(4,[1,0]) #尝试开门,解锁

    else:

        customWrite(0,0)

        customWrite(1,0)

        customWrite(2,[0,0])

        customWrite(3,[0,0])

        customWrite(4,[0,0])

    sleep(1)
from gpio import *
from time import *

while True:

    a1=analogRead(A0);

    if(a1!=0):

        customWrite(0,1)#开报警器

        customWrite(1,1)#开车库

        customWrite(2,1)#开洒水器

        customWrite(3,1)#开风扇

        customWrite(4,1)#开加湿器

        customWrite(5,1)#开咖啡机

        customWrite(A1,1)#开鼓风机

        customWrite(A2,1)#开窗户

    else:#关以上设备

        customWrite(0,0)

        customWrite(1,0)

        customWrite(2,0)

        customWrite(3,0)

        customWrite(4,0)

        customWrite(5,0)

        customWrite(A1,0)

        customWrite(A2,0)

    sleep(1)
  • 实验结果

专题三 PacketTracer 中 MCU 芯片编程基础_第3张图片专题三 PacketTracer 中 MCU 芯片编程基础_第4张图片

                        点击按钮之前                                                        点击按钮之后  

        当按下按钮,全部设备成功打开,松开按钮则关闭。

        可见上述智能设备连接到 MCU 芯片时,均可使用 customWrite 方法进行写入操作,并且 A 口和 D 口都可以正常使用

专题三 PacketTracer 中 MCU 芯片编程基础_第5张图片专题三 PacketTracer 中 MCU 芯片编程基础_第6张图片

                         点击按钮之前                                                 点击按钮之后  

        可以看到,按下按钮时排水孔和摄像头都打开,而门则有三种状态。D2 门钥匙孔红色表示上锁,3 号门钥匙孔绿色表示没有上锁,4 号门已被推开表示未上锁且打开。我们看代码可以发现,向门写入了数组[0,1]、[0,0]与[1,0],其中,数组第一个数字为 0 的话表示不打开门,为 1 的话表示尝试打开门。第二个数字表示是否上锁,为 1 的话表示上锁,为 0 的话表示解锁。 所以第一个门写入了[0,1]表示关门上锁,第二个门写入了[0,0]表示关门不上锁,第三个为[1,0]表示开门不上锁。如果我们写入[1,1]则为开门上锁,由于上锁了,所以无法开门,表现为第一个门同样的效果。按住 ALT 点击门与点击门孔分别表示手动开关门与上锁解锁。

你可能感兴趣的:(PacketTracer,mcu,物联网,单片机)