树莓派科学小实验4B--08_倾斜传感器、干簧管、震动传感器

2024-04-24 23:58

本文主要是介绍树莓派科学小实验4B--08_倾斜传感器、干簧管、震动传感器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

系列文章目录

树莓派科学小实验
001 点亮第一盏LED灯
002 点亮LED灯组
003_开关控制LED灯
004_获取温湿度
005_跑马灯(ws2812b))
006_数字温度传感器(PCF8591,LM393)
007_继电器
008_倾斜传感器、干簧管、震动传感器


文章目录

  • 系列文章目录
  • 前言
  • 一、实验元件
  • 二、代码
    • 1.引入库
    • 2. 管脚定义
    • 3. 实现代码


前言

倾斜传感器、干簧管、震动传感器 这一类型传感器是一样的数字传感器,可以直接接在树莓派的GPIO端口上来获取高低电平值。


提示:以下是本篇文章正文内容,下面案例可供参考

一、实验元件

接口板一块
在这里插入图片描述
双色灯模块一个
在这里插入图片描述

倾斜传感器
在这里插入图片描述
震动传感器
在这里插入图片描述

二、接线原理
1) 传感器和双色灯的VCC和GND要共线,VCC供电选择3.3V
2)双色灯的控制线接在18脚上
3)传感器的输出接在17脚上

二、代码

1.引入库

代码如下(示例):

from gpiozero import LED, Button
import time,datetime
from signal import  pause

2. 管脚定义

可以将传感器看做一个开关来定义直接调用gpiozero中的函数就可以了

led = LED(18)
SButton = Button(17)

3. 实现代码

第一种模式,直接读取传感器的高低电平来显示,通过pause()函数来实现不退出

# -*- coding: utf-8 -*-
"""倾斜传感器、干簧管、震动传感器实验
#
author = "Derek Tian"
version = '0.0.1'
make day=2/9/2022 6:44 PM
"""
__docformat__ = "restructuredtext en"__all__ = []__license__ = "MIT license"from gpiozero import LED, Button
import time,datetime
from signal import  pauseled = LED(18)
SButton = Button(17)def SS():led.on()print(f"{datetime.datetime.now()}:发生倾斜")
def SS1():led.off()print(f"*"*20)if __name__ == '__main__':led.on()#loop()SButton.when_activated=SSSButton.when_deactivated=SS1print('This is Main start')pause()

程序启动

在这里插入图片描述发生倾斜时,LED从绿色变成红色,同时程序有显示
在这里插入图片描述在这里插入图片描述

第二种模式,通过循环来读取传感器的状态值

# -*- coding: utf-8 -*-
"""
#类说明文件
author = "Derek Tian"
version = '0.0.1'
make day=2/9/2022 6:44 PM
"""
__docformat__ = "restructuredtext en"__all__ = []__license__ = "MIT license"from gpiozero import LED, Button
import time,datetime
from signal import  pauseled = LED(18)
SButton = Button(17)def SS():led.on()print(f"{datetime.datetime.now()}:发生倾斜")
def SS1():led.off()print(f"*"*20)def loop():while True:SBs=SButton.is_active # 获取开关的状态 1 为高电平 ;0为低电平print(f"Sbs:{SBs}")if SBs:led.on()print(f"{datetime.datetime.now()}:发生倾斜")else:led.off()print(f"~"*20)time.sleep(1)if __name__ == '__main__':led.on()loop()

实现的效果是一样的,但是固定延迟1秒
在这里插入图片描述

这篇关于树莓派科学小实验4B--08_倾斜传感器、干簧管、震动传感器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/933196

相关文章

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

4B参数秒杀GPT-3.5:MiniCPM 3.0惊艳登场!

​ 面壁智能 在 AI 的世界里,总有那么几个时刻让人惊叹不已。面壁智能推出的 MiniCPM 3.0,这个仅有4B参数的"小钢炮",正在以惊人的实力挑战着 GPT-3.5 这个曾经的AI巨人。 MiniCPM 3.0 MiniCPM 3.0 MiniCPM 3.0 目前的主要功能有: 长上下文功能:原生支持 32k 上下文长度,性能完美。我们引入了

STM32(十一):ADC数模转换器实验

AD单通道: 1.RCC开启GPIO和ADC时钟。配置ADCCLK分频器。 2.配置GPIO,把GPIO配置成模拟输入的模式。 3.配置多路开关,把左面通道接入到右面规则组列表里。 4.配置ADC转换器, 包括AD转换器和AD数据寄存器。单次转换,连续转换;扫描、非扫描;有几个通道,触发源是什么,数据对齐是左对齐还是右对齐。 5.ADC_CMD 开启ADC。 void RCC_AD

树莓派5_opencv笔记27:Opencv录制视频(无声音)

今日继续学习树莓派5 8G:(Raspberry Pi,简称RPi或RasPi)  本人所用树莓派5 装载的系统与版本如下:  版本可用命令 (lsb_release -a) 查询: Opencv 与 python 版本如下: 今天就水一篇文章,用树莓派摄像头,Opencv录制一段视频保存在指定目录... 文章提供测试代码讲解,整体代码贴出、测试效果图 目录 阶段一:录制一段

HNU-2023电路与电子学-实验3

写在前面: 一、实验目的 1.了解简易模型机的内部结构和工作原理。 2.分析模型机的功能,设计 8 重 3-1 多路复用器。 3.分析模型机的功能,设计 8 重 2-1 多路复用器。 4.分析模型机的工作原理,设计模型机控制信号产生逻辑。 二、实验内容 1.用 VERILOG 语言设计模型机的 8 重 3-1 多路复用器; 2.用 VERILOG 语言设计模型机的 8 重 2-1 多

Science|癌症中三级淋巴结构的免疫调节作用与治疗潜力|顶刊精析·24-09-08

小罗碎碎念 Science文献精析 今天精析的这一篇综述,于2022-01-07发表于Science,主要讨论了癌症中的三级淋巴结构(Tertiary Lymphoid Structures, TLS)及其在肿瘤免疫反应中的作用。 作者类型作者姓名单位名称(中文)通讯作者介绍第一作者Ton N. Schumacher荷兰癌症研究所通讯作者之一通讯作者Daniela S. Thomm

08 增删查功能

划重点: lable 标签keyup:键盘事件标签内添加样式:style使用事件修饰符:preventforEach :遍历 数组indexOf: 可以返回要查询的某个字符串值在整个字符串中首次出现的位置下标findIndex:返回传入一个测试条件(函数)符合条件数组的首个元素的位置splice:向/从数组中添加/删除项目,然后返回被删除后的新的项目数组 黑椒蟹 一对: <!DOCTYPE

2021-08-14 react笔记-1 安装、环境搭建、创建项目

1、环境 1、安装nodejs 2.安装react脚手架工具 //  cnpm install -g create-react-app 全局安装 2、创建项目 create-react-app [项目名称] 3、运行项目 npm strat  //cd到项目文件夹    进入这个页面  代表运行成功  4、打包 npm run build

GUI编程08:画笔paint

本节内容视频链接:10、画笔paint_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1DJ411B75F?p=10&vd_source=b5775c3a4ea16a5306db9c7c1c1486b5 package com.yundait.lesson03;import java.awt.*;import java.awt.event.Wind