PacketTacer烟雾传感器读数为0的解决方法
烟雾传感器的官方源码似乎有些问题,无法使用MCU直接读取,所以我们需要进行一些简单的修改。
连线如下图
单击传感器→高级→编程→双击python代码→双击main函数
修改代码如下:
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运行,包括以后重新打开模拟器文件时,传感器代码可能会被系统关闭,需要我们重新在这里点一下运行才可以正常使用
打开小车(按住ALT点击小车)之后可以发现传感器正常读数
当然读数具体含义我们也没必要去深究,只要是有就可以了,具体的读数甚至每个软件版本都不一样。