“接收”;名称错误:名称';引脚';isn';定义为“t”;在ESP32上运行python代码时
我正在使用带有ESP32的raspberrypi4,并试图从我的HW-390电容式土壤传感器收集数据。我遵循的代码来自: 从我的土壤传感器读取值。当我运行程序时,我收到以下错误:“接收”;名称错误:名称';引脚';isn';定义为“t”;在ESP32上运行python代码时,python,raspberry-pi,esp32,Python,Raspberry Pi,Esp32,我正在使用带有ESP32的raspberrypi4,并试图从我的HW-390电容式土壤传感器收集数据。我遵循的代码来自: 从我的土壤传感器读取值。当我运行程序时,我收到以下错误: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "pythonsoil.py", line 3, in <module> NameError: name 'Pin' isn
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "pythonsoil.py", line 3, in <module>
NameError: name 'Pin' isn't defined
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“pythonsoil.py”,第3行,在
名称错误:未定义名称“Pin”
我的数据线经过一个1k欧姆的电阻,然后连接到D32,也就是GPIO32,所以我假设问题出在代码本身
我需要做什么来更改代码,以便它提供读数?您没有导入
Pin
您的代码应该如下所示
from machine import ADC, Pin
adc = ADC(Pin(32)) # create ADC object on ADC pin
adc.read() # read value, 0-4095 across voltage range 0.0v - 1.0v
adc.atten(ADC.ATTN_11DB) # set 11dB input attenuation (voltage range roughly 0.0v - 3.6v)
adc.width(ADC.WIDTH_9BIT) # set 9 bit return values (returned range 0-511)
adc.read()
from machine import ADC, Pin
adc = ADC(Pin(32)) # create ADC object on ADC pin
adc.read() # read value, 0-4095 across voltage range 0.0v - 1.0v
adc.atten(ADC.ATTN_11DB) # set 11dB input attenuation (voltage range roughly 0.0v - 3.6v)
adc.width(ADC.WIDTH_9BIT) # set 9 bit return values (returned range 0-511)
adc.read()