python语言程序设计实践教程实验八答案_microbit入门教程

Experiment 6: Reading a Button Press

Introduction

到目前为止,我们主要关注输出。现在我们要走到频谱的另一端,并连同输入一起玩。在实验二中,我们使用模拟输入来读取电位器。在这个实验中,我们将通过使用数字输入来读取最常见和最简单的输入之一 – 按钮。我们将使用它来循环RGB上的不同颜色。

Parts Needed

You will need the following parts:

1x Breadboard

1x micro:bit

1x micro:bit Breakout with Headers

1x RGB LED

3x 100Ω Resistors

8x Jumper Wires

1x Push Button

1x 10kΩ Resistor

Didn’t Get the SIK for micro:bit?

If you are conducting this experiment and didn’t get the Inventor’s Kit, we suggest using these parts:

Suggested Reading

Before continuing with this experiment, we recommend you be somewhat familiar with the concepts in these tutorials:

Introducing the Push Button

10302-02.jpg

瞬时按钮仅在按下时关闭或接通电路。按钮有四个引脚,分成两组两个引脚。当你按下按钮并获得一个很好的“咔嗒”声时,按钮桥接两组引脚,并允许电流流过电路。

How do you know which pins are paired up? The buttons included in this kit will only fit across the breadboard ditch in one direction. Once you get the button pressed firmly into the breadboard (across the ditch), the pins are horizontally paired. The pins toward the top of the breadboard are connected, and the pins toward the button of the breadboard are connected.

你怎么知道哪个引脚配对?此套件中包含的按钮仅适用于一个方向上的面包板沟。一旦将按钮牢固地按入面包板(穿过沟渠),这些引脚就会水平配对。面向面包板顶部的引脚已连接,面向面包板按钮的引脚已连接。

注意:并非所有按钮都共享此引脚格式。请参考您特定按钮的数据表以确定哪些引脚配对。

Hardware Hookup

Ready to start hooking everything up? Check out the wiring diagram and hookup table below to see how everything is connected.

Polarized Components

Pay special attention to the component’s markings indicating how to place it on the breadboard. Polarized components can only be connected to a circuit in one direction.

Wiring Diagram for the Experiment

Exp_06_bb2.jpg

Having a hard time seeing the circuit? Click on the wiring diagram for a closer look.

Note: The full-sized breadboard

注意:全尺寸的面包板电源导轨有中间断开的情况。如果最终使用电源导轨的下半部分,则需要在上端和下端之间跳转。

Run Your Script

60ReadButton.PNG

Code to Note

micro:bit上的引脚为低电平有效,这意味着外部按钮应连接到引脚并接地以通过按钮触发事件。这在MicroPython中无法更改,因为它可以在MakeCode中进行更改。我们还发现,MicroPython的中断时间非常困难,并且一次只能运行多个线程。使用MakeCode,可以运行多个线程。

pass

由于中断在MicroPython中非常困难,我们决定使用pass。

pass是一种处理来自while 循环的外部触发器而不影响while 循环的方式。在这种情况下,外部触发器是否按钮已被按下。这是使用中断的一种欺骗手段。我们可以连续检查micro:bit上的引脚16,以查看按钮是否被按下。

iter

iter()_方法创建一个对象,可以一次迭代或增加一个元素,直到指定的结束。在迭代结束时,会引发异常:“StopIteration”。

try and exceptiterator

try和except允许程序捕捉意外(或在这种情况下预期)错误,并处理错误,除非程序员想要。在这种情况下的错误将是iter 函数如何让程序知道它已经超过了最后的可迭代值。iter 方法引发的异常是“StopIteration”。我们正在“尝试”下一个异常,直到意外出现。一旦意外出现,我们退出尝试并移至except,这将再次启动迭代器。

What You Should See

当你按下按钮时,RGB将变成一种颜色。当再次按下时,颜色会改变,而另一次按则会再次改变颜色。再按一次,它会关闭。每次按下按钮,它都会增加一个变量,然后我们检查它以设置颜色。如果变量超过2的值,我们将它重置为0,这是关闭的。

Troubleshooting

Light Not Turning On

按钮是方形的,正因为如此,很容易出错。给它一个90度的扭曲,看看它是否开始工作。

Underwhelmed

别担心;这些电路都是非常精简的,以便轻松玩游戏组件,但一旦将它们放在一起,天空才是极限。不过请记住,这些都是钢铁侠套装的基石。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python语言程序设计实践教程实验七主要涉及到Python的面向对象编程,包括类的定义、继承、多态等内容。实验七的具体内容包括: 1. 定义一个类,包含属性和方法。 2. 定义一个子类,继承父类的属性和方法,并添加自己的属性和方法。 3. 实现多态,即在子类中重写父类的方法。 4. 使用类的实例进行操作,包括属性的访问和方法的调用。 通过实验七的学习,可以更深入地了解Python的面向对象编程思想,掌握类的定义和继承,以及多态的实现方法。这对于进一步学习Python编程和开发具有重要的意义。 ### 回答2: 本次实验Python语言程序设计实践教程中的第七个实验,主要涉及到Python中的GUI编程和图形用户界面设计实验中需要使用Python的Tkinter库来实现一个简单的图形界面程序。 首先,我们需要了解Tkinter库的基本使用方法,可以查看相关的教程资料来学习。实验中要求我们实现一个图形界面程序,包含三个功能:文件选择、文件预览和文件上传。通过Tkinter库中的组件来实现这三个功能,如文件选择按钮、文本框、按钮等。 在实验中,我们需要用到Python的os模块来获取文件路径和文件名,使用Tkinter中的Text组件来实现文件预览功能。具体可以参考实验指导书中的代码实现。 对于文件上传功能,我们需要使用Python的requests库来实现文件上传操作。在实验中,需要提供一个上传文件的接口URL,并将接口返回的数据在界面中显示出来。 在实验完成后,需要进行测试和调试以确保程序能够正常运行。建议使用真实的文件进行测试,以便更好的了解程序的实际使用情况。 通过这次实验,我们可以掌握Python中GUI编程和图形用户界面设计的基本方法,并且熟练使用Tkinter和requests库来实现文件选择、文件预览和文件上传的功能。这对我们今后进行Python编程和开发会有一定的帮助。 ### 回答3: Python语言程序设计实践教程实验七主要涉及到面向对象的知识,在本次实验中,我们需要创建一个烤鱼店的点餐系统。该系统需要实现以下几个功能: 1. 顾客可以查看菜单,选择自己想要的菜品进行点餐。 2. 店家可以更新菜单,添加、删除菜品。 3. 顾客可以选择结账方式,现金或支付宝等。 4. 店家可以生成账单,列出客人点的菜品和价格,并计算总金额。 在实现上述功能的过程中,我们需要定义一系列类来描述不同的对象。例如,我们可以定义一个Dish类来描述鱼的信息,包括名称、价格、描述等属性。我们可以定义一个Customer类来描述顾客,包括姓名、电话等信息。另外,我们还需要定义一个Menu类来存储餐厅的菜单信息。这些类可以通过面向对象的方式来实现,使我们能够更加方便地对对象进行操作。 在实验中,我们需要实现以下几个Python文件: 1. dish.py:该文件包含Dish类的定义和实现。该类包含了鱼的各种属性和方法。 2. customer.py:该文件包含Customer类的定义和实现。该类包含了顾客的各种属性和方法。 3. menu.py:该文件包含Menu类的定义和实现。该类包含了菜单的各种属性和方法。其中包括添加、删除、修改等方法。 4. order.py:该文件包含Order类的定义和实现。该类用来描述订单信息,包括菜品、顾客和账单等信息。其中还包括查询、结账等方法。 5. restaurant.py:该文件包含Restaurant类的定义和实现。该类用来启动整个系统,包括创建菜单、添加顾客等操作。同时,该类还包括了所有菜品和订单的信息。 在实验中,我们可以通过调用各个类中的方法来实现上述功能。在编写代码的过程中,我们需要充分利用面向对象的特性,尽量避免代码重复和冗余,并尽可能提高代码的可读性和可维护性。 总之,Python语言程序设计实践教程实验七是一个综合性的实验,需要广泛运用面向对象的知识和技巧。通过本次实验,我们可以更好地理解和掌握Python语言的特点和优势,提高我们的编程能力和技巧。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值