micropython 兼容性_circuitpython和micropython有矛盾?

adafruit公司在arduino上深入发展了多年,拥有众多的用户、硬件、软件积累,在国外创客和交友圈中有很大的影响,但是也很早就遇到arduino的瓶颈,转向micropython是很正常的事情。用arduino做编程学习、搞搞创意小制作是不错,有非常多的demo可以参考,仿制起来很容易。如果做一些比较复杂的编程就不够方便,毕竟arduino缺少了开发需要的一些重要功能,比如调试器,只能通过反复下载验证和用串口打印进行调试,小程序还凑合,大程序就困难了。

而micropython正好可以弥补arduino的很多缺陷,使用python语言编程,功能更强,调试方便,速度上到不一定比用C语言快多少,但是易用性比arduino好多了。再加上现在对js、python工程师的需求是大于C工程师的,因此给了micropython/circuitpython一个很好的机会。其实国内不少公司已经在产品中使用micropython,但是宣传不多,而且是和以前使用arduio一样,只侧重于制造硬件,没有在软件、生态方面有计划,也谈不上什么贡献。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Micropython 中使用蜂鸣器播放音频可以通过 PWM 信号调制,实现不同频率的声音。以下是使用 ESP32 板载蜂鸣器的示例代码: ```python import machine import time # 定义蜂鸣器引脚 buzzer_pin = machine.Pin(12, machine.Pin.OUT) # 定义 PWM 频率 pwm_frequency = 1000 # 定义不同频率对应的占空比 pwm_duty_cycle = { 262: 50, # 中音 Do 294: 50, # 中音 Re 330: 50, # 中音 Mi 349: 50, # 中音 Fa 392: 50, # 中音 Sol 440: 50, # 中音 La 494: 50, # 中音 Si } # 播放音符 def play_note(frequency): buzzer_pwm = machine.PWM(buzzer_pin, freq=pwm_frequency, duty=pwm_duty_cycle.get(frequency)) time.sleep(0.5) # 持续时间 buzzer_pwm.deinit() # 播放音乐 def play_music(music_notes): for note in music_notes: play_note(note) # 定义音乐 music = [262, 294, 330, 262, 262, 294, 330, 262, 330, 349, 392, 330, 349, 392, 392, 440, 392, 349, 330, 262, 330, 392, 440, 330, 392, 440, 494, 440, 392, 349, 392, 440, 494, 440, 392, 349, 330, 262, 294, 330, 262, 262, 294, 330, 262] # 播放音乐 play_music(music) ``` 该示例代码中,我们通过 `machine.PWM` 方法生成一个 PWM 信号,并设置频率和占空比。然后通过 `time.sleep` 方法控制蜂鸣器持续时间,最后通过 `PWM.deinit` 方法停止 PWM 信号输出。 在 `play_note` 函数中,我们通过 `pwm_duty_cycle.get(frequency)` 获取不同频率对应的占空比,然后生成一个 PWM 信号,并播放对应频率的音符。 在 `play_music` 函数中,我们遍历音乐列表,并通过 `play_note` 函数播放每个音符。如果需要播放其他音乐,只需要修改 `music` 列表即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值