首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【物联网】老程序教你一招,10代码让超声波模块秒变声控开关

最下面的输出回响信号时序图凸起部位,左边设置高电平,这时等待超声波返回,当接收到返回超声波后,右边就变成低电平,返回计时器时间。...接收超声波关键,需要接在数字管脚上,本例接在9号管脚,当9号管脚处于高电平时,会等待超声波返回,如果接收到超声波,9号管脚就会自动变成低电平,这时会返回计时器中时间(超声波往返时间) (4)GND...函数会返回计时器时间,单位:微秒 int distance = pulseIn(echoPin, HIGH) * 340 / 2 / 1000 delay(40); } 这段测距代码一共就6...然后通过pulseIn函数echo管脚设置高电平,等待超声波返回,如果返回,pulseIn函数会返回时间(单位:微秒),本例计算得到distance单位是毫米。 看看,是不是很简单呢? 4....{ // 判断距离是否小于300毫米 if (distance < 300) { state = 1; // 如果小于300毫米,说明手正好在超声波模块起那么,状态设置

80510
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用Docker,MQTT,Grafana,InfluxDB,Python和Arduino

    一个Python Flask服务器,一个微服务,监听WebHook并发出MQTT事件,具体取决于其状态。 一个NodeMcu(一种Arduino设备)监听此MQTT事件并激活LED。...如果警报ON,它将发出红色LED信号;如果警报OFF,它将发出绿色LED信号。...由于在我们连接灯之前“ok”事件被触发,我们绿灯不会打开。如果我们想看到任何光线,我们需要等待“警报”事件。这不酷。 MQTT允许我们“保留”消息。...这意味着我们可以使用“retain”标志向一个主题发出消息,并且当我们稍后一个设备连接到此主题时,它将接收该消息。在这里,它正是我们所需要。...我们LED位于引脚4和5上。我们还需要配置Wi-Fi并连接到MQTT服务器。NodeMcu和ESP32是类似的设备,但不一样。例如,我们需要使用不同库来连接到Wi-Fi。

    3.7K53

    云中树莓派(4):利用声音传感器控制Led灯

    云中树莓派(1):环境准备 云中树莓派(2):传感器数据上传到AWS IoT 并利用Kibana进行展示 云中树莓派(3):通过 AWS IoT 控制树莓派上Led 云中树莓派(4):利用声音传感器控制... VCC 引脚接入树莓派 5V 引脚, GND 引脚接入树莓派 GND 引脚, OUT 引脚接入树莓派 GPIO20。...(1)GPIO.wait_for_edge:直接等待电信号达到某种条件(升高还是降低或者任意),并且可以设置超时时间。在超时时间内,函数会一直等待,直到期望电信号改变出现,或者超时。...3.1 代码 ---- import RPi.GPIO as GPIO import time from time import sleep SOUND_PIN_NUM = 20 #声音模块输出引脚接...GPIO.setup(SOUND_PIN_NUM, GPIO.IN) GPIO.setup(LED_PIN_NUM, GPIO.OUT) def callback_fun_soundOccurred(input_pint

    1.2K20

    使用gunicorn部署flask项目

    1、简介 flask 自带web服务器可用于开发环境运行调试,不适合部署在生产环境,无法满足线上性能要求。...正整数,默认为1。 --worker-connections INT:最大客户端并发数量,默认情况下这个值1000。 --backlog int:未决连接最大数量,即等待服务客户数量。...--limit-request-line INT : HTTP请求头行数最大大小,此参数用于限制HTTP请求允许大小,默认情况下,这个值4094。值是0~8190数字。...,在超时(从接收到重启信号开始)之后仍然活着工作将被强行杀死;一般使用默认; --keep-alive INT:在keep-alive连接上等待请求秒数,默认情况下值2。...此设置影响gevent和eventlet工作模式 worker_connections=500 # 超时时间 timeout = 600 # 输出日志级别 loglevel = 'debug' # 存放日志路径

    1.1K10

    树莓派基础实验32:DS1302实时时钟模块实验

    传统数据记录方式是隔时采样或定时采样,没有具体时间记录,因此,只能记录数据而无法准确记录其出现时间;若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机资源...随着温度变化,晶振往往精度会发生变化,因此,在实际系统中,其中一种方法就是经常校对。比如我们所用电脑时钟,通常我们会设置一个选项“将计算机设置于internet时间同步”。...DS1302寄存器   对DS1302操作就是对其内部寄存器操作,DS1302内部共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放数据位BCD码形式。...寄存器四:高2位固定是0,bit5和bit4是日期十位,低4位是日期个位。   寄存器五:高3位固定是0,bit4是月十位,低4位是月个位。   ...寄存器七:高4位代表了年十位,低4位代表了年个位。这里特别注意,这里00到99年指是2000年到2099年。

    1.4K30

    树莓派计算机视觉编程:1~5

    f)#config_hdmi_boost = 4更改为config_hdmi_boost = 4。 g)保存文件。 注释(开头#)被禁用。 我们必须通过取消注释来启用这些。...RPi,请在这两中都加上注释,然后 RPi 启动。...如果我们按钮连接到内部上拉电阻,则在未按下按钮时,按钮所连接 GPIO 引脚将设置HIGH。 如果按下按钮,则将其设置LOW。 GPIO.input()并返回按钮状态。...它接受一个参数,该参数是函数检测键盘按键需要等待毫秒数。 如果我们将其传递0,则它将无限期地等待键盘上某个按键按下。 它是 OpenCV 库中唯一可以处理键盘事件函数。...(),它仅255设置255 uint8数据类型。

    8.1K20

    树莓派pico官方网站_树莓派pico参数

    ,引脚短负极 看发光二极管内部,支架大负极,支架小负极 电路连线图 代码 from machine import Pin import utime # 定义LED引脚数组 leds =...4 代码 from machine import Pin, Timer, PWM import utime led = PWM(Pin(25)) # 设置频率值 led.freq(1000) led_value...5 SSD1306 OLED简介 SSD1306是一款控制器用于OLED点阵图形显示系统单片CMOS OLED/PLED驱动器。它由128个SEG(列输出)和64个COM(输出)组成。...对象 # DHT11VCC端连接到树莓派PICO3V3(OUT)端 # DHT11数据端连接到树莓派PICOGPIO0口 # DHT11GND端连接到树莓派PICOGND端 dht_sensor...对象 # DHT11VCC端连接到树莓派PICO3V3(OUT)端 # DHT11数据端连接到树莓派PICOGPIO0口 # DHT11GND端连接到树莓派PICOGND端 dht_sensor

    3K30

    flask基础

    ,然后触发Flask框架,开发人员基于Flask框架提供功能对请求进行相应处理,并返回给用户,如果要返回给用户复杂内容时,需要借助jinja2模板来实现对模板处理,即:模板和数据进行渲染,渲染后字符串返回给用户浏览器...POST"] strict_slashes=None    对URL最后 / 符号是否严格要求,默认严格,设置False即最后/或不带都能匹配 redirect_to=None        重定向到指定新地址如...{% endmacro %} {{ input('n1') }} 解除XSS 如果防止HTML显示字符串,flask采用Markup实现,而django采用make_safe。...seesion超时时间 九、 blueprint(蓝图)   正如上面介绍,flask简便易用,一个py文件就可以完成一个小项目,当项目相对大时候,我们就需要将目录进行结构划分,蓝图功能就在于此。...消息闪现原理是flask session组件而该组件是基于cookie,浏览器会限制 cookie 大小,有时候网络服 务器也会。

    3.7K10

    大白话说Python+Flask入门(三)

    作者 / 糖小幽 排版 / 糖小幽 写在前面 今天状态很不好,我发现学这部分知识时候,会出现溜号或者注意力无法集中情况。...Flask使用 1、消息闪现使用 这块只能算是明白了大概,并没有算是真正理解,待后续写多了,我再回来补充(当时感觉还是spring boot好),还是老规矩上代码。...install Flask-Mail 没啥可说,就是发送邮件功能,这里我用qq邮箱例,示例代码如下: from flask import Flask from flask_mail import Mail...: send(): 发送Message类对象内容 connect(): 建立与邮件主机连接 send_message(): 发送消息对象 3、Message类方法 attach() - 邮件添加附件...表单元素 DecimalField:用于显示小数数字文本字段 IntegerField:用于显示整数文本字段 RadioField:表示 HTML表单元素

    22410

    python-网络编程

    可以 SOCK_STREAM 比喻成一条传送,只要传送本身没有问题(不会断网),就能保证数据不丢失;同时,较晚传送数据不会先到达,较早传送数据不会晚到达,这就保证了数据是按照顺序传递。...因为本地计算机可能有多个IP,每一个IP有多个端口号,需要指定一个IP和端口进行监听   (3)服务器调用listen函数,使服务器这个端口和IP出于监听状态,等待客户机连接   (4)客户机用socket...s.settimeout()④ 设置阻塞套接字操作超时时间 s.gettimeout()④ 获取阻塞套接字操作超时时间 面向文件套接字方法 s.fileno...或者反过来(仅用于 IPv4 地址) inet_pton()/inet_ntop() IP 地址字符串转换成打包二进制格式,或者反过来(同时适用于 IPv4 和IPv6 地址)...getdefaulttimeout()/setdefaulttimeout() 以秒(浮点数)单位返回默认套接字超时时间;以秒(浮点数)单位设置默认套接字超时时间 2.6.socketServer

    1.3K10

    ES09# Filebeat配置项及吞吐调优项梳理

    本文主要内容有: Input输入配置项 通用以及全局配置项 Output输出配置 一、Input输入配置项 Filebeat支持众多Inputs,以日志文本类例梳理其配置项,主要配置项如下: 配置项...默认false,设置true,keys_under_root开启情况下,解码后json字段覆盖Filebeat字段 json.expand_keys 默认false,设置true递归去点。...默认为500 multiline.timeout 多行合并模式匹配中,一次合并超时时间,默认为5秒 tail_files 默认false从头读取新文件,设置true从尾部读取新文件 symlinks...存储事件内部缓存队列,当队列中事件达到最大值,input将不能想queue中写入数据,直到output数据从队列拿出去消费。...,默认2048 bulk_flush_frequency 批量发送kafka request需要等待时间,默认0不等待,与linger.ms功能相同 timeout 等待broker返回超时时间,默认

    2.2K20
    领券