制作坊python教程之让micro:bit讲话 专区

python教程之让micro:bit讲话

binglingdang2018-12-07 2486人围观
简介今天,我将向大家展示如何使用一种名为MicroPython的编程语言来进行使Micro:bit 讲话。

让你的BBC Micro:使用MicroPython进行比特谈话

在这个项目中使用的东西


硬件组件

BBC微:位板

BBCmicro:bit板

×

1



USB-A到迷你USB电缆

micro USB线

×

1



AA电池

七号电池

×

1



鳄鱼夹

鳄鱼夹

×

1



扬声器:0.25W,8欧姆

扬声器:0.25W,8欧姆

×

1



跳线(通用)

跳线(通用)

×

1



软件应用程序和在线服务


mu编辑器





BBC microbit





故事背景

大家好!

     今天,我将展示如何使用一种非常简单的编程语言--MicroPython来使Micro:bit 说话。 是的,使用语音合成很容易让你的BBC Micro:bit说话。 有趣的是,只是四行代码,就可以让你的micro:bit开始说话/说出你想要的任何东西。

    那么,让我们看看如何做到这一点。

    如果您不知道BBC Micro是什么以及如何开始使用它,请参阅本文  ,其中介绍了如何开始使用Micro:bit的所有基础知识。 那么,让我们开始吧,看看如何使Micro:bit说话。

 先决条件

  • micro:bit(1个)

  • USB线(1个)

  • 7号电池1.5V(2个)

  • 电池盒(1个)

    • 扬声器

    • 鳄鱼夹或普通电线

     连接

        在开始之前,首先我们需要知道如何将Micro:bit连接到扬声器。

        对于Micro:bit中的语音合成,我们需要将Micro:bit PIN0 和 PIN1连接 到我们的扬声器,因为对于语音合成,它总是仅从 PIN0 和 PIN1 产生输出 。 从PIN 0和PIN 1,您可以将任何一端连接到您的扬声器插孔,不分正负极。

        下面就是连接好的样子。 不要忘记通过USB线连接到计算机。

        我没有鳄鱼连接器,但是我非常渴望看到我的Micro:bit说话,所以我使用普通电线进行连接。 

        现在,让我们看看编码部分。 对于编码,我们有两个选项 - 在线和离线。

     线上

            如果您想使用MicroPython的在线IDE,那么您可以 从BBC Micro:bit 官方网站 访问此 链接  单击“创建代码”,然后选择“MicroPython”。

     离线

            对于离线,我们将使用 MU 编辑器进行编程, 它占用空间小且易于使用。 最方便的地方是我们可以直接从编辑器中点击FLASH将代码下载到我们的Micro:bit。 你可以 在这里 下载  请访问https://codewith.mu/#download 进行下载和安装。

            让我们编写代码。

    我将 通过编写以下代码 来添加Micro:bit和 Speech 库。

    from microbit import * 
    import speech


        上面的代码意味着导入我们想要使用Micro:bit库中可用的所有对象和函数/方法,比如控制LED显示,显示我们的名字,显示符号,语音合成,音乐等等。 语音是一个类,现在我们将调用say()方法通过编写以下代码来使我们的Micro:bit 讲话。

    speech.say("Hello,CSHARP")

            在上面的代码中, Speech 是一个类,我们调用 say 方法并将 Hello CSHARP作为字符串传递 。 它将字符串作为参数 。 现在,如果我们将运行此代码,我们的Micro:bit将会说 Hello CSHARP。

            我们可以为此代码添加更多内容,例如:

    • pitch - 声音的声音有多高或多低(0 =高,255 =巴里怀特)

    • speed - 设备谈话的 速度 (0 =不可能,255 =睡前故事)

    • mouth- 声音如何紧绷或过度发声(0 = ventriloquists dummy,255 = Foghorn Leghorn)

    •  throat- 声调是多么放松或紧张(0 =分崩离析,255 =完全冷却)

              这些参数控制声音的质量 - 也就是音色。 说实话,获得你想要的语调的最好方法是尝试,运用你的判断力和调整。 要了解更多,请访问 此处。

      添加这些参数后,我们的代码如下所示。

       speech.say("Hello,CSHARP",speed=120, pitch=100, throat=100, mouth=200)

      是的,如果我们希望我们的Micro:bit说多个事情,那么我们也可以添加延迟。

       speech.say("Hello,FACEBOOK") 
       sleep(2000) 
       speech.say("Hello,I AM MICROBIT AND I CAN TALK") 
       sleep(2000)

      我希望我的Micro:bit说很多东西,所以这里是代码,这是最终代码。

       from microbit import * 
       import speech 
       display.show(Image.HAPPY) 
       sleep(2000) 
       speech.say("Hello,Twitter") 
       sleep(2000) 
       display.show(Image.HEART) 
       sleep(2000) 
       speech.say("Hello,CSHARP") 
       sleep(2000) 
       speech.say("Hello,FACEBOOK") 
       sleep(2000) 
       speech.say("Hello,I AM MICROBIT AND I CAN TALK") 
       sleep(2000) 
       speech.say("I LOVE YOU")

      在这里 获取完整代码 

      第一个代码可以在官方例程中找到,请点击这里

              现在,在编写代码之后,让我们看看如何在Micro:bit上运行它们并运行我们的代码。 为此,在编写代码后,只需单击“Flash”按钮即可。


      原理图

      连接

      这是连接后的样子。

      S2 ebd3idhjux

      转载至:https://microbit.hackster.io/anish78/make-your-bbc-micro-bit-talk-using-micropython-7bdb10

      翻译:我


      2 +1

      评论

      程序上传到microbit板子上,显示提示import error no module named 'speech' ,这个是怎么肥四啊,第一次调用speech还能用来着,这两天直接连speech都无法调用了,难道是一次性用品?用完即毁?!(°∀°)ノ

      #1 2019-08-23 17:41 0 回复

      应该不会吧。。。我这边一直可以用呀

      2019-08-24 16:350

      嗯嗯,不错,不过怎么又是老外做的东东呀……

      #2 2018-12-07 14:41 0 回复

      因为感觉比较详细~

      2018-12-07 18:290