毕设(四)——传感器数据采集

简介: 毕设(四)——传感器数据采集

一、情况简述

现在就是准备把MPU6050gps定位模块超声波模块NB-LOT模块搭载到pico模块上,基于上一次智能垃圾桶的教训,我决定额外加个电池(一开始想的是太阳能板,但是我怕电压不够),接到pico的VSYS端口上

二、电源情况(待)

上面就是从左端输入的micro-usb的电压5V供电、再从VSYS进行额外输入

NB-LOT:5V、TXD与RXD

三、超声波+mpu6050

import machine
from machine import Pin
import utime
import imu 

i2c = machine.I2C(0, sda=machine.Pin(16), scl=machine.Pin(17), freq=400000)
print("I2C addr: ", i2c.scan()[0])
sensor = imu.MPU6050(i2c)

# 超声波测距,单位:厘米
def getDistance(trigger, echo):
    # 产生10us的方波
    trigger.low()
    utime.sleep_us(2)
    trigger.high()
    utime.sleep_us(10)
    trigger.low()
    
    while echo.value() == 0:
        start = utime.ticks_us()
    while echo.value() == 1:
        end = utime.ticks_us()
    d = (end - start) * 0.0343 / 2 
    return d

# 主程序
trigger = Pin(18, Pin.OUT)
echo = Pin(26, Pin.IN)


while True:
    #print(sensor.accel.xyz, sensor.gyro.xyz, sensor.temperature)
    print("加速度:{:7.2f}{:7.2f}{:7.2f}  陀螺仪:{:9.2f}{:9.2f}{:9.2f}  温度:{:5.1f}" \
          .format(sensor.accel.x, sensor.accel.y, sensor.accel.z,  \
                  sensor.gyro.x, sensor.gyro.y, sensor.gyro.z, \
                  sensor.temperature))
    distance = getDistance(trigger, echo)
    print("距离:{:.2f} cm".format(distance))
    utime.sleep(1)


四、gps对于$GNGGA的输出

不得不说,chatgpt是真好用

from machine import UART,Pin
#串口配置

uart0 = UART(0, baudrate=9600, tx=Pin(0), rx=Pin(1))
while True:   
    while uart0.any() > 0:
        rxData_One = uart0.read()
        # 将接收到的数据按换行符分割成多行
        data_lines = rxData_One.split(b'\r\n')

        # 遍历每一行数据,找到包含 $GAGGA 的数据行
        for line in data_lines:
            if b'$GNGGA' in line:
                # 找到包含 $GNGGA 的数据行
                print("Found $GNGGA data line:")
                # print(line)
                # 转换成字符串
                str_data = line.decode('utf-8')
                print(str_data)


五、三个传感器一起输出

from machine import UART,Pin
import machine
import utime
import imu

uart0 = UART(0, baudrate=9600, tx=Pin(0), rx=Pin(1))
i2c = machine.I2C(0, sda=machine.Pin(16), scl=machine.Pin(17), freq=400000)
# print("I2C addr: ", i2c.scan()[0])
sensor = imu.MPU6050(i2c)

# 主程序
trigger = Pin(18, Pin.OUT)
echo = Pin(26, Pin.IN)

# 超声波测距,单位:厘米
def getDistance(trigger, echo):
    # 产生10us的方波
    trigger.low()
    utime.sleep_us(2)
    trigger.high()
    utime.sleep_us(10)
    trigger.low()
    
    while echo.value() == 0:
        start = utime.ticks_us()
    while echo.value() == 1:
        end = utime.ticks_us()
    d = (end - start) * 0.0343 / 2 
    return d


while True:
    while uart0.any() > 0:
        rxData_One = uart0.read()
        # 将接收到的数据按换行符分割成多行
        data_lines = rxData_One.split(b'\r\n')

        # 遍历每一行数据,找到包含 $GAGGA 的数据行
        for line in data_lines:
            if b'$GNGGA' in line:
                # 找到包含 $GNGGA 的数据行
                print("Found $GNGGA data line:")
                # print(line)
                str_data = line.decode('utf-8')
                print(str_data)
        print("加速度:{:7.2f}{:7.2f}{:7.2f}  陀螺仪:{:9.2f}{:9.2f}{:9.2f}  温度:{:5.1f}" \
              .format(sensor.accel.x, sensor.accel.y, sensor.accel.z,  \
                      sensor.gyro.x, sensor.gyro.y, sensor.gyro.z, \
                      sensor.temperature))
        distance = getDistance(trigger, echo)
        print("距离:{:.2f} cm".format(distance))
        utime.sleep(1)
相关文章
|
6月前
|
存储 数据采集 安全
工程监测仪器振弦采集仪广泛应用于土木工程
工程监测仪器振弦采集仪广泛应用于土木工程
|
6月前
|
存储 传感器 数据采集
LabVIEW数控磨床振动分析及监控系统
LabVIEW数控磨床振动分析及监控系统
46 1
|
4月前
|
传感器 数据采集 安全
工程安全监测中的振弦采集仪技术解析与应用
工程安全监测中的振弦采集仪技术解析与应用
工程安全监测中的振弦采集仪技术解析与应用
|
4月前
|
传感器 数据采集 安全
工程监测仪器振弦采集仪的技术解析与应用介绍
振弦采集仪的技术解析与应用进行介绍
工程监测仪器振弦采集仪的技术解析与应用介绍
|
6月前
|
数据采集 传感器 存储
光学雨量计雨量传感器的工作原理与实时数据采集
光学雨量计雨量传感器的工作原理与实时数据采集
光学雨量计雨量传感器的工作原理与实时数据采集
|
6月前
|
传感器 编解码 运维
LabVIEW开发感应电机在线匝间短路故障诊断系统
LabVIEW开发感应电机在线匝间短路故障诊断系统
62 1
|
6月前
|
数据采集 安全 C++
LabVIEW开发空气动力学实验室的采集和控制系统
LabVIEW开发空气动力学实验室的采集和控制系统
33 1
|
传感器 芯片
【单片机课程设计】环境监测控制系统
【单片机课程设计】环境监测控制系统
139 0
|
传感器 数据采集
工程监测仪器无线振弦采集仪高低温试验箱测试原理
无线振弦采集仪和高低温试验箱是两个独立的设备,但是它们可以结合使用来进行振弦测试。高低温试验箱是一种可以控制温度和湿度的设备,用于模拟各种环境下的物体性能变化,包括机械性能、电气性能等。无线振弦采集仪则是一种用于测量物体振动状态的设备,通常包括振动传感器和数据采集模块。
工程监测仪器无线振弦采集仪高低温试验箱测试原理
|
传感器 安全
岩土工程安全监测振弦传感器的发展史
岩土工程安全监测是岩土工程学科领域的一个重要组成部分。随着科学技术的不断发展,传感器技术的应用也在不断地创新和完善。振弦传感器是一种重要的监测设备,其应用范围广泛,以其高灵敏度、高精度、长期稳定性等特点,成为岩土工程安全监测领域的主要传感器。
岩土工程安全监测振弦传感器的发展史