【雕爷学编程】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,Pin

Board().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)

扫描二维码关注公众号,回复: 16164047 查看本文章

在这里插入图片描述

【花雕体验】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 time

Board().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

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

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

猜你喜欢

转载自blog.csdn.net/weixin_41659040/article/details/132212850