蜂鸣器不与我的MicroPython代码一起工作



我正在制作一个蜂鸣器,它必须发出简单的声音。但是我不知道如何让这个蜂鸣器在MicroPython中工作。我已经尝试了下面的代码,但它并没有做太多。我有点卡在这上面了

import pycom
import machine
import time
from machine import Pin
import board
import pulseio
buzzer = pulseio.PWMOut(board.D16, variable_frequency=True)
def main():
buzzer.duty_cycle = ON
buzzer.frequency = 440
buzzer.duty_cycle = OFF

if __name__ == "__main__":
main()

关于我使用的材料的更多信息:

蜂鸣器:https://datasheet4u.com/datasheet-pdf/Ningbo/KPT-1410/pdf.php?id=868269

我的项目材料是这样的:

  • https://pycom.io/product/lopy4/
  • https://pycom.io/product/expansion-board-3-0/

我想我离它越来越近了,但还是搞不清楚。

这是一个类似于arduino中使用的map函数的函数

def remap(value, leftMin, leftMax, rightMin, rightMax):
# Figure out how 'wide' each range is
leftSpan = leftMax - leftMin
rightSpan = rightMax - rightMin
# Convert the left range into a 0-1 range (float)
valueScaled = float(value - leftMin) / float(leftSpan)
# Convert the 0-1 range into a value in the right range.
return rightMin + (valueScaled * rightSpan)
例如,如果你的ADC值在2000到1000之间(我故意显示更高的ADC值意味着更低的实际值),你可以使用上面的函数和下面的调用来获得百分比值:
percent_value = remap(
adc_pin.read(),
1000, 2200,     # these values comes from experiment above when wet and dry
100, 1
)

和查看文档中的示例如何创建buzz

import array
import pulseio
import pwmio
import board
# 50% duty cycle at 38kHz.
pwm = pwmio.PWMOut(board.D13, frequency=38000, duty_cycle=32768)
pulse = pulseio.PulseOut(pwm)
#                             on   off     on    off    on
pulses = array.array('H', [65000, 1000, 65000, 65000, 1000])
pulse.send(pulses)
# Modify the array of pulses.
pulses[0] = 200
pulse.send(pulses)

最新更新