“接收”;名称错误:名称';引脚';isn';定义为“t”;在ESP32上运行python代码时

“接收”;名称错误:名称';引脚';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

我正在使用带有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'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()