基础实验——ADC(模数转换)

ADC(模数转换)

ADC是什么

ADC(analog to digital conversion) 模拟数字转换。意思就是将模拟信号转化成数字信号,由于单片机只能识别二级制数字,所以外界模拟信号常常会通过 ADC转换成其可以识别的数字信息。常见的应用就是将变化的电压转成数字信号。

ADC基础语法

两句函数就可以获得 AD 数值,没错就是这么简单

from pyb import Pin,ADC


adc=ADC(Pin('X19'))   #设置ADC输入引脚
adc.read()            #读取ADC转换结果,默认12位方式,参数范围0~4095

ADC实验

所选设备

MR开发板
在这里插入图片描述
OLED屏幕
在这里插入图片描述

实验方法

Created with Raphaël 2.2.0 导入ADC,OLED模块 初始ADC,OLED 循环读取ADC的值转换成电压 显示 yes

示例代码

注意:你选的引脚要支持ADC
在这里插入图片描述
如果我选择了不支持ADC的引脚则会报错。
在这里插入图片描述

#导入相关模块
import pyb
from machine import Pin,I2C
from ssd1306 import SSD1306_I2C

#初始化相关模块
i2c = I2C(sda=Pin("X8"), scl=Pin("X6"))
oled = SSD1306_I2C(128, 64, i2c, addr=0x3c)
adc = pyb.ADC('Y11')    #Pin='Y11'
while True:
 oled.fill(0) # 清屏显示黑色背景
 oled.text('xianyujun', 0, 0) 
 oled.text('ADCtes,Y11', 0, 15) # 次行显示实验名称
 #获取 ADC 数值
 oled.text(str(adc.read()),0,40)
 oled.text('(4095)',40,40)
 #计算电压值,获得的数据 0-4095 相当于 0-3V,('%.2f'%)表示保留 2 位小数
 oled.text(str('%.2f'%(adc.read()/4095*3.3)),0,55)
 oled.text('V',40,55)
 oled.show()
 pyb.delay(1000)

显示效果
显示引脚当前电压

在这里插入图片描述

相关推荐
©️2020 CSDN 皮肤主题: 鲸 设计师:meimeiellie 返回首页