eew_sqNFJw

  • 2024-01-15
  • 发表了主题帖: 【得捷电子Follow Me第二期】补充 NAU7802 ADC模块和MCP4725 DAC模块的使用

    本帖最后由 eew_sqNFJw 于 2024-1-15 01:42 编辑 任务一 NAU7802 ADC模块的使用            本次任务使用nau7802模块和LM32模拟温度传感器获取当前的温度             nau7802模块是一款精密低功耗 24 位模数转换器 (ADC),具有板载低噪声可编程增益放大器 (PGA)、板载 RC 或晶体振荡器,以及精密 24 位 Σ-Δ (Σ-Δ) 模数转换器 (ADC)。该设备能够高达 23 位 ENOB(有效位数)性能。该设备提供了一个完整的前端电桥/传感器测量的解决方案,例如体重秤、应变仪和许多其他高分辨率,低采样率应用。许多内置功能使高性能应用程序的外部部件数量非常少。此外,工作电流和待机电流都非常低,许多电源管理功能包括在内。这些可以只为芯片中需要的那些元件供电,并且此外,如果不需要完整的 23 位 ENOB 性能,则以大大降低的功率运行可编程增益放大器 (PGA) 提供 1 至 128 的可选增益。A/D 转换用 Sigma-Delta 调制器和可编程 FIR 滤波器执行,该滤波器提供同时50Hz和60Hz陷波滤波器,有效提高抗干扰能力。此外,该设备提供了一个与 I2C 协议兼容的标准 2 线接口,用于简单直接地连接到和与各种可能的主机处理器互操作。          LM35 是由National Semiconductor 所生产的温度传感器,其输出电压为摄氏温标。LM35是一种得到广泛使用的温度传感器。         nau7802模块                                    LM35模块                                               import board from io import BytesIO import displayio import busio from digitalio import DigitalInOut import adafruit_imageload from adafruit_display_text import label from adafruit_bitmap_font import bitmap_font import socketpool import adafruit_requests import ssl import wifi import time from adafruit_datetime import datetime, date,timezone,timedelta import json import re from adafruit_display_shapes.roundrect import RoundRect import asyncio import rtc from adafruit_esp32spi import adafruit_esp32spi import adafruit_esp32spi.adafruit_esp32spi_socket as socket import adafruit_minimqtt.adafruit_minimqtt as MQTT import neopixel from adafruit_led_animation.animation.blink import Blink import adafruit_led_animation.color as color from cedargrove_nau7802 import NAU7802 # Instantiate 24-bit load sensor ADC; two channels, default gain of 128 nau7802 = NAU7802(board.I2C(), address=0x2A, active_channels=1) def zero_channel(): print( "channel %1d calibrate.INTERNAL: %5s" % (nau7802.channel, nau7802.calibrate("INTERNAL")) ) print( "channel %1d calibrate.OFFSET: %5s" % (nau7802.channel, nau7802.calibrate("OFFSET")) ) print("...channel %1d zeroed" % nau7802.channel) def read_raw_value(samples=2): sample_sum = 0 sample_count = samples while sample_count > 0: while not nau7802.available(): pass sample_sum = sample_sum + nau7802.read() sample_count -= 1 return int(sample_sum / samples) enabled = nau7802.enable(True) time.sleep(3) nau7802.channel = 1 display = board.DISPLAY group = displayio.Group(scale=1) color = 0xffffff font = bitmap_font.load_font("/font/font.pcf") date = label.Label(font, text="", color=color) date.x = 0 date.y = 30 group.append(date) display.show(group) while True: print("=====") nau7802.channel = 1 value = read_raw_value() print("temperature: %2.1f" % (value* (5/10.24))) date.text="temperature: %2.1f" % (value* (5/10.24)) 效果 任务二 MCP 4725 DAC模块的使用            本次任务使用mcp4725模块生成0到3.3v连续变化的电压           mcp4725模块介绍 MCP4725模块是一款i2c 控制的数模转换器(DAC),DAC可以从数字源发送的数字信号转换为模拟信号                                                           import board from io import BytesIO import displayio import busio from digitalio import DigitalInOut import socketpool import adafruit_requests import ssl import wifi import time from adafruit_datetime import datetime, date,timezone,timedelta import json import re from adafruit_display_shapes.roundrect import RoundRect import asyncio import rtc from adafruit_esp32spi import adafruit_esp32spi import adafruit_esp32spi.adafruit_esp32spi_socket as socket import adafruit_minimqtt.adafruit_minimqtt as MQTT import neopixel from adafruit_led_animation.animation.blink import Blink import adafruit_led_animation.color as color import busio import adafruit_mcp4725 i2c = busio.I2C(board.SCL, board.SDA) # Initialize MCP4725. dac = adafruit_mcp4725.MCP4725(i2c) dac.value = 65535 dac.raw_value = 4095 dac.normalized_value = 1.0 while True: # Go up the 12-bit raw range. print("Going up 0-3.3V...") for i in range(4095): dac.raw_value = i # Go back down the 12-bit raw range. print("Going down 3.3-0V...") for i in range(4095, -1, -1): dac.raw_value = i 效果 [localvideo]a498ba4e7d259a86fc8b33a46e6bf5b9[/localvideo] 代码 代码下载  

  • 上传了资料: 【得捷电子Follow me第2期】补充项目代码

  • 2023-12-28
  • 加入了学习《【得捷电子Follow me第2期】 项目总结视频》,观看 follow me 2 任务总结视频

最近访客

现在还没有访客

< 1/0 >

统计信息

已有--人来访过

  • 芯积分:35
  • 好友:--
  • 主题:2
  • 回复:0

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言