光电门验证动量守恒实验

本实验所需器件与第二个实验相同。但是连线方式有所区别,先将Arduino的电源输出接到两个光电门,然后再将光电门1的信号输出线接到Arduino的第10个端口,光电门2的信号输出线接到Arduino的第11个端口。对Arduino写入下列程序(只有主要程序段):

……

void loop () {

if(digitalRead(inputPin1) ==HIGH&&i1==0) //如果光电门1被挡光,则运行

{  t1=micros();   //将当前系统的时间赋值给t1,精确到1微秒

  i1=1;}

if(digitalRead(inputPin2)==HIGH&&i2==0) /如果光电门2被挡光,则运行

{  t2=micros();//将当前系统的时间赋值给t2,精确到1微秒

  i2=1;}

if(digitalRead(inputPin1) ==LOW&&i1==1)//如果光电门1挡光结束,则运行

{  tt1=micros();   //将当前系统的时间赋值给tt1

  t1=tt1-t1;      //重新计算t1=tt1-t1,也就是从挡光到挡光结束的时间差

  i1=0;

   Serial.print("l");  //发送字符”l”,用于flash端处理用

   Serial.print(t1);  //发送t1

   Serial.print(0,BYTE); }  //发送结束字段

if(digitalRead(inputPin2)==LOW&&i2==1)

{  ……与光电门1的代码类似,此处省略……      }

……

可以看到Arduino端程序的作用是发送两个光电门各自被挡光的时间间隔,利用字符“l”和“r”来区分两个光电门。这段程序能够识别发送的时间间隔是哪个光电门的。所以在Flash端可以实现更多的功能。下面笔者介绍用此传感器进行《探究碰撞中的不变量》课件的制作。

本实验需要测量的有质量和速度,需要计算的有mv、mv2、v/m等。质量用天平测完后直接填入课件中,速度由光电门测得的数据计算得到。

因为是探究课,所以需要计算的一些量不能全部都显示在课件上,只有当学生猜想到某个量时,才可以将这个量的计算值显示出来,而这是普通的商用传感器软件所没法完成的。除了这个功能外,还需要在课件上实时的显示滑块的位置,以便使学生能更直观的了解到滑块的运动。

笔者根据上诉想法,制作了《探究碰撞中的不变量》这堂课的实验部分课件。以下就是一些课件界面的截图,有关代码部分因为字数过多省去。


 

首先显示的界面很简单,只有一些最基本的测速部分。导轨上也只有一个滑块。可以通过这个来讲解测速原理。在实际实验时课件上滑块的位置会随着真实滑块的运动而改变位置,两个速度框里会实时显示滑块通过光电门时的速度。在课件的右下角有一些有图案的按钮,通过点击这些按钮可以实现不同情况的碰撞探究。以下是探究两个物体相对运动发生碰撞的情况。可以看到点击按钮后会出现一个用来记录实验数据的表格。此时只要填入两个物体的质量和挡光片的宽度,然后使两个滑块相对运动发生碰撞,课件便会自动计算出两个滑块碰前和碰后的速度,并可以通过点击填入速度按钮来选择是否采用这组数据。

当采集到了三组数据后,可以让学生通过这些数据进行猜想,然后通过学生的猜想来进行具体数据的计算。这些可以通过课件右下角的几个彩色圆点按钮来实现,当然我们在之前必须设计足够多的猜想结果。点击原点按钮后显示的情况如下图所示:

 

   

 

通过点击计算按钮,课件便会计算出我们想要计算的结果。通过观察这些结果来验证学生的猜想是否正确。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/44755.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ELK集群搭建

ELK集群搭建 文章目录 ELK集群搭建1.环境准备2.Elasticsearch环境搭建1.创建es账户并设置密码2.选择对应版本进行下载3.编辑配置文件4.设置JVM堆大小 #7.0默认为4G5.创建es数据及日志存储目录6.修改安装目录和存储目录权限 3.系统优化1.增加最大文件打开数2.增加最大进程数3.增…

有了HTTP,为什么还需要HTTPS?

一、HTTPS的重要性 背景:互联网时代信息传播快,互动便捷,但数据安全和个人隐私保护问题日益突出。普及趋势:HTTPS协议因其安全性和隐私保护功能而成为互联网发展的必然选择。 二、HTTPS相较于HTTP的优势 安全性 HTTP&#xff1a…

(3)滑动窗口算法练习:最长连续1的个数Ⅲ

最长连续1的个数Ⅲ 题目链接:1004. 最大连续1的个数 III - 力扣(LeetCode) 给定一个二进制数组 nums 和一个整数 k,如果可以翻转最多 k 个 0 ,则返回 数组中连续 1 的最大个数 。 示例 1: 输入&#xff1a…

【GreenHills】GHS-Servecode的查看和说明

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 在Green Hills客户申请license试用以及正式文件的Servecode编号会有不同,该文档对此进行说明并如何主动查看Servecode,并且说明Servecode的类别,通过Servecode了解客户授权情况。 …

【机器学习】初学者经典案例(随记)

🎈边走、边悟🎈迟早会好 一、概念 机器学习是一种利用数据来改进模型性能的计算方法,属于人工智能的一个分支。它旨在让计算机系统通过经验自动改进,而不需要明确编程。 类型 监督学习:使用带标签的数据进行训练&…

spring boot 3.2.x 使用CDS加速启动

maven 配置 业务包和依赖包分离 <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><executable>true</executable><la…

2-30 基于matlab的神经网路下身份证号码识别算法

基于matlab的神经网路下身份证号码识别算法&#xff0c;二值化、膨胀处理、边界区域划分、身份证字符分割&#xff0c;字符识别算法&#xff0c;输出识别结果。并保存识别结果。程序已调通&#xff0c;可直接运行。 2-30 神经网络 身份证识别 图像处理 - 小红书 (xiaohongshu.c…

FastAPI 学习之路(四十)后台任务

我们在实际的开发中&#xff0c;都会遇到&#xff0c;我们要执行的一些任务很耗时&#xff0c;但是对于前端&#xff0c;没必要进行等待。比如发送邮件&#xff0c;读取文件。我们在fastapi如何实现呢。 其实很简单&#xff0c;fastapi已经给我们封装好一个现成的模块&#xff…

4款免费国产开源软件,功能过于强大,常被认为是外国人开发

之前小编分享了一些良心的电脑软件&#xff0c;大部分都是国外的开源软件&#xff0c;就有部分同学在后台说小编有点极端了&#xff0c;国内也是有良心的电脑软件的。 本期就是国产软件专场&#xff0c;今天就给大家推荐几款良心的国产电脑软件&#xff0c;说真的&#xff0c;…

UNIAPP_ReferenceError: TextEncoder is not defined 解决

错误信息 1、安装text-decoding npm install text-decoding2、main.js import { TextEncoder, TextDecoder } from text-decoding global.TextEncoder TextEncoder global.TextDecoder TextDecoder

list模拟实现【C++】

文章目录 全部的实现代码放在了文章末尾准备工作包含头文件定义命名空间类的成员变量为什么节点类是用struct而不是class呢&#xff1f;为什么要写get_head_node? 迭代器迭代器在list类里的实例化和重命名普通迭代器operator->()的作用是什么&#xff1f; const迭代器反向迭…

ENSP防火墙综合配置

综合拓扑&#xff1a; 实验要求&#xff1a; 要求一 生产区的安全策略配置 办公区的安全策略 要求二 生产区的安全策略 游客和办公区的安全策略 因为ISP返回的数据包会被防火墙最后的默认安全策略给拒绝&#xff0c;所以&#xff0c;把要ISP返回的数据给允许通过 要求三 增加…

python如何计算今天是星期几

需要解决的问题&#xff1a;时区问题 解决方案&#xff1a;引入pytz 封装的方法如下&#xff1a; import datetime from .. import pytzweek_list ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六&quo…

qt 自定义信号和槽举例

在Qt中&#xff0c;自定义信号和槽是对象间通信的一种强大机制。以下是一个简单的例子&#xff0c;展示了如何定义和使用自定义信号和槽。 首先&#xff0c;我们定义一个简单的Worker类&#xff0c;它有一个自定义信号workCompleted&#xff0c;当某个任务完成时&#xff0c;这…

人工智能及深度学习在病理组学中的应用概述|系列推文·24-07-11

小罗碎碎念 从本期推文开始&#xff0c;小罗将开始进行一项长期的工作——从头开始梳理人工智能在病理组学中的应用。 我会先从机器学习的进展开始讲&#xff0c;随后过渡到深度学习&#xff0c;再进一步阐述数据的处理分析方法&#xff0c;最后介绍人工智能在精准医疗以及病…

不用sleep 来实现延时,用handler 实现延时

如果您希望继续使用Handler来实现延时而不使用sleep&#xff0c;并且想保持代码结构清晰&#xff0c;可以采用链式postDelayed调用来替代之前的多层嵌套。同时&#xff0c;我将展示如何通过创建一个方法来组织这些延时任务&#xff0c;使得代码更加模块化和易于管理。 首先&…

django超市管理系统-计算毕业设计源码50628

摘要 随着零售业的快速发展和数字化趋势的加强&#xff0c;超市作为零售业的重要组成部分&#xff0c;面临着日益增长的竞争压力。为了提高超市的运营效率、降低管理成本并提供更好的客户服务&#xff0c;超市管理系统的引入变得至关重要。基于Python的超市管理系统旨在利用先进…

【MyBatis】——入门基础知识必会内容

&#x1f3bc;个人主页&#xff1a;【Y小夜】 &#x1f60e;作者简介&#xff1a;一位双非学校的大二学生&#xff0c;编程爱好者&#xff0c; 专注于基础和实战分享&#xff0c;欢迎私信咨询&#xff01; &#x1f386;入门专栏&#xff1a;&#x1f387;【MySQL&#xff0…

Unity3D 太空大战射击游戏

一、前言 本案例是初级案例&#xff0c;意在帮助想使用unity的初级开发者能较快的入门&#xff0c;体验unity开发的方便性和简易性能。 本次我们将使用团结引擎进行开发&#xff0c;帮助想体验团结引擎的入门开发者进行较快的环境熟悉。 本游戏案例以太空作战为背景&#xff0c…

kubernetes集群部署:关于CRI(一)

上周接到了一项紧急预研任务&#xff1a;kubernetes各项属性采集。目前我手里已经存在二进制部署的一套kubernetes&#xff08;v1.23版本CRI&#xff1a;dockershim&#xff09;集群&#xff1b;为了适配的广泛性&#xff0c;决定使用kuberadm工具部署最新&#xff08;v1.30版本…