【雕爷学编程】Arduino动手做(201)---行空板硬件控制之板载光线传感器

在这里插入图片描述

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百零一:DFRobot 行空板 python 教学微型计算机架构开发板 Linux WiFi 蓝牙

在这里插入图片描述
在这里插入图片描述
知识点:行空板(unihiker)
是一款由上海智位机器人(DFRobot)专为Python编程教育而设计的开源硬件,是一块有着树莓派级别性能,如micro:bit一样简单易上手,可以运行完整Python程序的神奇板子!行空板拥有自主知识产权,自带Linux操作系统和Python环境,还预装了常用的Python库,能够轻松胜任各种编程相关的开发场景,如搭建物联网系统、体验人工智能应用、编写电子游戏、进行科学实验、设计声光互动、开发可穿戴设备等。同时,行空板作为智能终端设备,其板子本身采用微型计算机架构,集成LCD彩屏、WiFi蓝牙、多种常用传感器和丰富的拓展接口。

在这里插入图片描述

行空板板身集成了光线传感器、麦克风、蜂鸣器、Wifi、蓝牙、加速度传感器、按键,正面配置有一块LCD彩屏,可实时呈现多种Python运行结果,包括文字、图片、视频,游戏画面,以及数据图表等。

在这里插入图片描述

1、行空板板载传感器与接口布局图

在这里插入图片描述

【花雕体验】08行空板硬件控制pinpong库的系列测试(之一)
行空板板载资源的测试——Mind+代码编程
测试程序三:板载A、B按钮开关(查询式)

#【花雕体验】08行空板硬件控制pinpong库的系列测试(之一)
# 行空板板载资源的测试——Mind+代码编程
# 测试程序三:板载A、B按钮开关(查询式)#  -*- coding: UTF-8 -*-
from pinpong.extension.unihiker import *
from pinpong.board import Board,PinBoard().begin()
#引脚初始化为电平输出模式,P25为L灯的引脚
led = Pin(Pin.P25, Pin.OUT)
print("板载A、B按钮开关(查询式)")while True:if (button_a.is_pressed()==True): #判断按钮A是否被按下print("按钮A按下,点亮LED")led.value(1) #输出高电平if (button_b.is_pressed()==True): #判断按钮B是否被按下print("按钮B按下,LED熄灭")led.value(0) #输出低电平

实验场景图(按下A按钮点亮蓝色LED)

在这里插入图片描述

【花雕体验】08行空板硬件控制pinpong库的系列测试(之一)
行空板板载资源的测试——Mind+图形编程
测试程序四:板载A、B按钮开关(查询式)

在这里插入图片描述
实验串口返回情况

在这里插入图片描述
在pinpong库中,按钮有两种方式调用,第二种是中断事件回调式。

语法:

button_a.irq(trigger=触发模式, handler = 回调函数) button_b.irq(trigger=触发模式, handler = 回调函数)

返回值:无

输入参数:

trigger:触发模式,有上升沿(Pin.IRQ_RISING)、下降沿(Pin.IRQ_FALLING)、电平跳变(Pin.IRQ_RISING+Pin.IRQ_FALLING)三种

【花雕体验】08行空板硬件控制pinpong库的系列测试(之一)
行空板板载资源的测试——Mind+代码编程
测试程序五:板载A、B按钮开关(中断回调式)

#【花雕体验】08行空板硬件控制pinpong库的系列测试(之一)
# 行空板板载资源的测试——Mind+代码编程
# 测试程序五:板载A、B按钮开关(中断回调式)#  -*- coding: UTF-8 -*-
from pinpong.extension.unihiker import *
from pinpong.board import Board,Pin
import timeBoard().begin()
#引脚初始化为电平输出模式,P25为L灯的引脚
led = Pin(Pin.P25, Pin.OUT)
print("板载A、B按钮开关(中断回调式)")def btn_a_rasing_handler(pin):#中断事件回调函数print("按钮A按下,点亮LED")led.value(1) #输出高电平def btn_b_falling_handler(pin):#中断事件回调函数print("按钮B按下,LED熄灭")led.value(0) #输出低电平button_a.irq(trigger=Pin.IRQ_RISING, handler = btn_a_rasing_handler)#上升沿触发
button_b.irq(trigger=Pin.IRQ_FALLING, handler = btn_b_falling_handler)#下降沿触发while True:time.sleep(1)#等待让程序不退出

实验串口返回情况

在这里插入图片描述

(3)板载光线传感器(模拟量)
【科普知识点】光线传感器通常是指能由能敏锐感应光能量,并将光能量转换成电信号的器件。它是一种传感装置,主要由光敏元件组成,主要分为环境光传感器、红外光传感器、太阳光传感器、紫外光传感器四类,主要应用在改变车身电子应用和智能照明系统等领域。现代电测技术日趋成熟,由于具有精度高、便于微机相连实现自动实时处理等优点,已经广泛应用在电气量和非电气量的测量中。然而电测法容易受到干扰,在交流测量时,频率响应不够宽及对耐压、绝缘方面有一定要求,在激光技术迅速发展的今天,已经能够解决上述的问题。图为光敏电阻。

在这里插入图片描述

行空板正面屏幕上方有一颗光线传感器,可以获取环境光线强度(注:单位为模拟输入值,非勒克斯)。

语法:

 light.read() 

注:光线传感器接到行空板的P29接口上,因此还可以通过ADC输入方法读取。

返回值:光线强度值,0-4095。

输入参数:无

在这里插入图片描述
【花雕体验】08行空板硬件控制pinpong库的系列测试(之一)
行空板板载资源的测试——Mind+代码编程
测试程序六:板载光线传感器(模拟量)

#【花雕体验】08行空板硬件控制pinpong库的系列测试(之一)
# 行空板板载资源的测试——Mind+代码编程
# 测试程序六:板载光线传感器(模拟量)#  -*- coding: UTF-8 -*-
import time
from pinpong.board import *
from pinpong.extension.unihiker import *Board().begin()               #初始化while True:light_value = light.read()print("光线强度:%d"%(light_value)) #终端打印信息time.sleep(1) #等待1秒 保持状态

实验串口返回情况

在这里插入图片描述
【花雕体验】08行空板硬件控制pinpong库的系列测试(之一)
行空板板载资源的测试——Mind+图形编程
测试程序七:使用板载光线传感器(模拟量)来控制LED

在这里插入图片描述
实验串口返回情况

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1382148.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Acrel-2000E/B配电室综合监控系统的应用

摘要:Acrel-2000E/B配电室综合监控系统是以智能控制为核心,通过物联网技术的集成应用,来实现配电室内环境的全天候状态监视和智能控制。针对经开第一大街南一所项目的要求,系统实现了环境数据监测和设备控制,起到了预防…

智头条:萤石拟科创板上市将投18.5亿建厂,Matter智能家居标准延迟至明年,涂鸦、公牛、极米等企业发布

  本栏目由智能产业专业媒体【智哪儿】出品。 1、行业 ① 萤石拟18.5亿建厂 将从海康威视分拆上市 8月10日,海康威视公告两项重磅消息,其一是分拆子公司萤石至科创板上市;其二是萤石将以自筹资金投18.50亿元&a…

既要便捷、安全+智能,也要颜值,萤石发布北斗星人脸锁DL30F和极光人脸视频锁Y3000FV

1. 视频、视觉人脸识别技术助推智能锁进入主动安全时代 智能锁经历了从电子密码、指纹、指静脉到人脸识别阶段,随着人脸识别技术的成熟,越来越多的主流厂商开始主推人脸识别智能门锁,与其他技术相比,人脸识别智能锁无疑从安全性和…

Web端接入萤石云平台的视频数据

前言 因为项目需要在Web和App上展示实时视频流信息,所以之前做项目时尝试了很多方法。有用vlc插件播放的(由于使用到了插件,所以安卓App、微信小程序都不能显示视频,最后也放弃了),也有使用海康威视Web开发包开发的。但是最简单的…

EasyCVR视频通道名称出现乱码是什么原因导致的?如何修复?

大家知道EasyCVR视频智能监控平台支持摄像机的RTSP、GB28181、和Ehome的接入,同时会对接入上来的视频信息进行同步的更新和反馈,因此视频通道的名称是实时更新的,当通道变化,名称也会随之重新生成。 在实际的使用过程中&#xff…

鸭蛋大小,灵巧设计,萤石全无线智能家居电池摄像机BC2上手体验

在智能家居场景中,安防一直是一个核心需求,无论是照看小孩、监看宠物、还是看家护院,智能家居摄像机有着无可替代的作用。但在实际运用场景中,往往因为传统摄像机安装布线麻烦、摄像机外型比较大等客观因素,将很多原本…

Web端与移动端接入萤石云平台的视频数据

前言 因为项目需要在Web和App上展示实时视频流信息,所以之前做项目时尝试了很多方法。有用vlc插件播放的(由于使用到了插件,所以安卓App、微信小程序都不能显示视频,最后也放弃了),也有使用海康威视Web开发包开发的。但是最简单的…

萤石春季发布会:4+N产品体系再升级EZVIZ Connect连接智能生活

3月18日,以“智家新生,萤领未来”为主题的萤石智能家居2022春季发布会在线上召开。本次发布会除了带来全无线电池摄像机、智能门铃、视频锁、玲珑面板、Wi-Fi6全屋覆盖方案等突破性创新产品外,还发布了新一代智能中控屏SP4,并通过…

html控制萤石云摄像头转动,怎么控制云台转动 ?

您好,目前萤石摄像机中只有C6系列(除C6P)、XP1、CP1、C8系列支持控制云台转动。您可以通过如下三种方式来控制设备云台转动: ◆ 方法一(萤石云视频APP): 1、登录萤石云视频手机APP,在“萤石”页签,点击摄像机的视频封面…

软工导论知识框架(七)面向对象设计

一.设计准则 分析:提取、整理用户需求,建立问题域精确模型。设计:转变需求为系统实现方案,建立求解域模型。 在实际的软件开发过程中分析和设计的界限是模糊的,分析和设计活动是一个多次反复迭代的过程。分析的结果可…

C++模板,STL(Standard Template Library)

这篇文章的主要内容是C中的函数模板、类模板、STL的介绍。 希望对C爱好者有所帮助,内容充实且干货,点赞收藏防止找不到! 再次感谢每个读者和正在学习编程的朋友莅临! 更多优质内容请点击移驾: C收录库:重生…

[Excel]Excel函数和用法(4)——查找字符串,SEARCH和FIND函数

区别:SEARCH大小写不敏感,FIND大小写敏感 作用:都是从左到右返回搜索到的字符串的起始位置 SEARCH语法:SEARCH(find_text, within_text, [start_num]) FIND语法:FIND(find_text, within_text, [start_num]) 如果指…

binary_search函数用法

STL之二分查找 (Binary search in STL) Section I 正确区分不同的查找算法count,find,binary_search,lower_bound,upper_bound,equal_range 本文是对Effective STL第45条的一个总结,阐述了各种查找算法的异同以及使用他们的时机。 首先可供查找的算法大致有count,f…

FIND函数嵌入INDEX和MATCH函数,简直就是万金油查找!!!

FIND函数大家通常是用来截取内容, 但是当你搭配到INDEX和MATCH,你会发现这个搭配非常巧妙,也非常强大. 这是一份销售表: 中间的品类繁多.名称都是细节型号. 需求: 现在这些品牌需要打折,折扣表如下: 难点: 上方是产品的型号详细描述,而我们需要给品牌打折. 例如: 第一行…

VBA里的文本函数 find() search() substitute() replace() match() large() 在EXCEL工作表使用和VBA中使用差别的对比

1 find() 1.1 worksheetfunction.find() 工作表函数FIND(find_text, within_text, [start_num])FINDB(find_text, within_text, [start_num]) 中文字符等会识别为2位返回的是 要查找的内容在字符串内的位数。 局限性区分大小写,不允许通配符 如果在VBA中使用&a…

Excel的查找和引用函数:VLOOKUP、OFFSET、MATCH、INDEX、INDIRECT

文章目录 一.函数清单二.详解函数1.VLOOKUP()2.OFFSET()3.MATCH()4.INDEX()5.INDIRECT()6.综合练习 一.函数清单 函数介绍VLOOKUP()垂直方向查找OFFSET()计算偏移量MATCH()查找位置INDEX()查找数据ROW()引用行的数据COLUMN()引用列的数据INDIRECT()文本字符串指定的引用HLOOKU…

Python-re中search()函数的用法-----查找ip(超详细)

1.首先来看一下search()和find()的区别 import re s1 "2221155" #search 字符串第一次出现的位置 print(re.search("1",s1)) print(s1.find("1"))它们的输出分别是: search()&#x…

index+match函数/一对多查找匹配,可以代替Vlookup函数的使用。

在表格的列的顺序混乱的时候,vlookup函数choose,vlookup函数match,vlookupcolumn函数并不好用,可以试一下indexmatch函数的组合。 . 首先介绍一下index函数, 语法INDEX(数组或区域, 行号, 列号)…

二分查找法(函数binary_search)

目录 定义 复杂度 解析 函数binary_search 代码实现 运行结果 总结 定义 二分查找也叫折半查找,是一种高效率的查找方法,但是折半查找方法要求顺序存储结构,按关键字大小有序排列。 复杂度 时间复杂度即是while循环的次数。 二分查找的…