如何在Python脚本中获取方波的频率

2024-04-01

我正在使用 TSL235(http://www.ti.com/lit/ds/symlink/tsl235.pdf http://www.ti.com/lit/ds/symlink/tsl235.pdf)光频转换器和 Raspberry Pi。传感器的输出是方波(50% 占空比),其频率与光强度成正比。

所以我需要知道(在 python 脚本中)哪个频率到达 Raspberry Pi 的输入 GPIO 引脚。

我只找到了一个教程(http://playground.arduino.cc/Main/TSL235R http://playground.arduino.cc/Main/TSL235R)它显示了 C 代码,但我不懂 C...我只使用 python

到目前为止,读取 GPIO 输入并不难:

#!/usr/bin/python
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)
GPIO.setup(25, GPIO.IN)

impuls_count = 0
# Do next lines for i.e. 1000ms:
GPIO.wait_for_edge(25, GPIO.FALLING)
impuls_count = impuls_count + 1

我想我必须对一个时间间隔内的信号进行计数。但如何呢?


Use the time模块。它具有对 1 微秒 (1 MHz) 敏感的时钟功能。查看传感器的数据表,它最高只能达到 500 kHz,这应该足以在高光强度下获得准确的频率测量。

只需计算一组输入周期的平均频率即可。

import time

NUM_CYCLES = 10
start = time.time()
for impulse_count in range(NUM_CYCLES):
    GPIO.wait_for_edge(25, GPIO.FALLING)
duration = time.time() - start      #seconds to run for loop
frequency = NUM_CYCLES / duration   #in Hz
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Python脚本中获取方波的频率 的相关文章

  • InterfaceError:连接已关闭(使用 django + celery + Scrapy)

    当我在 Celery 任务中使用 Scrapy 解析函数 有时可能需要 10 分钟 时 我得到了这个信息 我用 姜戈 1 6 5 django celery 3 1 16 芹菜 3 1 16 psycopg2 2 5 5 我也使用了psyc
  • 如何生成给定范围内的回文数列表?

    假设范围是 1 X 120 这是我尝试过的 gt gt gt def isPalindrome s check if a number is a Palindrome s str s return s s 1 gt gt gt def ge
  • 如何打印没有类型的defaultdict变量?

    在下面的代码中 from collections import defaultdict confusion proba dict defaultdict float for i in xrange 10 confusion proba di
  • 如何在 Sublime Text 2 的 OSX 终端中显示构建结果

    我刚刚从 TextMate 切换到 Sublime Text 2 我非常喜欢它 让我困扰的一件事是默认的构建结果显示在 ST2 的底部 我的程序产生一些很长的结果 显示它的理想方式 如在 TM2 中 是并排查看它们 如何在 Mac 操作系统
  • pandas 替换多个值

    以下是示例数据框 gt gt gt df pd DataFrame a 1 1 1 2 2 b 11 22 33 44 55 gt gt gt df a b 0 1 11 1 1 22 2 1 33 3 2 44 4 3 55 现在我想根据
  • 打破嵌套循环[重复]

    这个问题在这里已经有答案了 有没有比抛出异常更简单的方法来打破嵌套循环 在Perl https en wikipedia org wiki Perl 您可以为每个循环指定标签 并且至少继续一个外循环 for x in range 10 fo
  • Python 中的二进制缓冲区

    在Python中你可以使用StringIO https docs python org library struct html用于字符数据的类似文件的缓冲区 内存映射文件 https docs python org library mmap
  • NameError:名称“urllib”未定义”

    CODE import networkx as net from urllib request import urlopen def read lj friends g name fetch the friend list from Liv
  • feedparser 在脚本运行期间失败,但无法在交互式 python 控制台中重现

    当我运行 eclipse 或在 iPython 中运行脚本时 它失败了 ascii codec can t decode byte 0xe2 in position 32 ordinal not in range 128 我不知道为什么 但
  • 在pyyaml中表示具有相同基类的不同类的实例

    我有一些单元测试集 希望将每个测试运行的结果存储为 YAML 文件以供进一步分析 YAML 格式的转储数据在几个方面满足我的需求 但测试属于不同的套装 结果有不同的父类 这是我所拥有的示例 gt gt gt rz shorthand for
  • Python:字符串不会转换为浮点数[重复]

    这个问题在这里已经有答案了 我几个小时前写了这个程序 while True print What would you like me to double line raw input gt if line done break else f
  • Pandas Dataframe 中 bool 值的条件前向填充

    问题 如何转发 fill boolTruepandas 数据框中的值 如果是当天的第一个条目 True 到一天结束时 请参阅以下示例和所需的输出 Data import pandas as pd import numpy as np df
  • Geopandas 设置几何图形:MultiPolygon“等于 len 键和值”的 ValueError

    我有 2 个带有几何列的地理数据框 我将一些几何图形从 1 个复制到另一个 这对于多边形效果很好 但对于任何 有效 多多边形都会返回 ValueError 请指教如何解决这个问题 我不知道是否 如何 为什么应该更改 MultiPolygon
  • 表达式中的 Python 'in' 关键字与 for 循环中的比较 [重复]

    这个问题在这里已经有答案了 我明白什么是in运算符在此代码中执行的操作 some list 1 2 3 4 5 print 2 in some list 我也明白i将采用此代码中列表的每个值 for i in 1 2 3 4 5 print
  • Python:尝试检查有效的电话号码

    我正在尝试编写一个接受以下格式的电话号码的程序XXX XXX XXXX并将条目中的任何字母翻译为其相应的数字 现在我有了这个 如果启动不正确 它将允许您重新输入正确的数字 然后它会翻译输入的原始数字 我该如何解决 def main phon
  • Python - 按月对日期进行分组

    这是一个简单的问题 起初我认为很简单而忽略了它 一个小时过去了 我不太确定 所以 我有一个Python列表datetime对象 我想用图表来表示它们 x 值是年份和月份 y 值是此列表中本月发生的日期对象的数量 也许一个例子可以更好地证明这
  • Numpy 优化

    我有一个根据条件分配值的函数 我的数据集大小通常在 30 50k 范围内 我不确定这是否是使用 numpy 的正确方法 但是当数字超过 5k 时 它会变得非常慢 有没有更好的方法让它更快 import numpy as np N 5000
  • 从 pygame 获取 numpy 数组

    我想通过 python 访问我的网络摄像头 不幸的是 由于网络摄像头的原因 openCV 无法工作 Pygame camera 使用以下代码就像魅力一样 from pygame import camera display camera in
  • 对输入求 Keras 模型的导数返回全零

    所以我有一个 Keras 模型 我想将模型的梯度应用于其输入 这就是我所做的 import tensorflow as tf from keras models import Sequential from keras layers imp
  • 在python中,如何仅搜索所选子字符串之前的一个单词

    给定文本文件中的长行列表 我只想返回紧邻其前面的子字符串 例如单词狗 描述狗的单词 例如 假设有这些行包含狗 hotdog big dog is dogged dog spy with my dog brown dogs 在这种情况下 期望

随机推荐

  • 我们如何在 Java 中进行异步 REST api 调用?

    我正在使用 Spring RestTemplate 并且想要调用另一个不返回任何响应正文的服务 所以 我不想等待回复 因此 只需即发即忘 然后继续剩余的代码 我正在考虑创建一个新线程来执行此操作 但不确定什么是正确的方法 如果您使用Java
  • 拉普拉斯滤波器是如何计算的?

    我不太明白他们是如何得出导数方程的 有人可以详细解释一下 甚至可以提供一个有足够数学解释的链接吗 拉普拉斯滤波器看起来像 拉普拉斯先生提出了这个方程 这就是拉普拉斯算子的简单定义 二阶导数之和 您也可以将其视为海森矩阵 https en w
  • VS 2015 Azure 发布向导不处理 ARM 创建的资源吗?

    我可以从发布向导中看到 ARM 云服务 但在使用管理员帐户时看不到 ARM 存储 我可以使用管理员帐户发布到 ARM 云服务 但必须指定 ASM 存储帐户 当使用 RBAC 访问权限仅限于包含上述云服务的资源组的帐户时 发布向导会提示云服务
  • 当从另一个函数调用 mongodb 时如何模拟 mongodb?

    我在嘲笑 mongodb 时需要帮助 我在用蒙戈莫克 https github com mongomock mongomock模拟 mongodb 我的项目结构是 my mongo py 代码 py my test py my mongo
  • MVC 控制器操作 - 处理 POST 和 GET,无需重复代码

    我一直在开发这个 MVC 3 Razor 应用程序 并且通常将视图模型用于我的视图 我的相当多的视图模型包含的信息不仅仅是我在表单中与之交互的特定实体 因此 我的 GET 操作处理程序将初始化视图模型并为每个属性提供预期值等 在我的 POS
  • R、Python 或 Octave:具有置信区间的经验分位数(逆 cdf)?

    我正在寻找一个返回样本分位数的内置函数和估计的置信区间在 MATLAB 以外的地方 MATLAB 的ecdf做这个 我猜 R 有这个内置功能 只是我还没有找到它 如果您有任何独立代码可以执行此操作 您也可以在此处指出它 尽管我希望找到作为更
  • 如何将多个 CSV 文件添加到 Kedro 的目录中?

    我有数百个 CSV 文件想要以类似方式处理 为了简单起见 我们可以假设它们都在 data 01 raw like data 01 raw 1 csv data 02 raw 2 csv 等 我宁愿不给每个文件一个不同的名称 并在构建管道时单
  • Wildfly 10.1 部署后停止部署

    我正在部署一个具有多个独立的 Web 应用程序war and ear 将文件发送到 Wildfly 10 1 服务器 我所做的是这样的 我清理deployments data content and tmp文件夹 然后复制所有必需的war
  • JQUERY AJAX - 如果成功则更改 $(this) 的类

    我有一个div 在该 div 内我有多个元素 有些元素具有 myClass 类 我也有一个按钮 单击时 foreach 循环会针对 div 中具有类 myClass 的每个元素运行 为每个元素发送一个ajaxCall 这些元素的文本颜色默认
  • 模型中的 Ruby on Rails 增量计数器

    我正在尝试从另一个模型增加我的用户表中的计数器 class Count lt ActiveRecord Base belongs to user after create update count def update count user
  • SonarQube 规则在启动时被禁用

    我最初在我的开发机器上设置了一个 Sonar 服务器 但后来在官方 Linux 机器上创建了一个服务器 目的是停止使用开发机器 在此过渡期间 我可能让两台服务器同时运行 指向同一个声纳数据库 现在我看到一些奇怪的行为 本地服务器运行良好 我
  • 持续交付中的生产数据迁移模式

    持续交付中生产中的关系数据库 和模式 迁移模式是什么 在许多传统开发中 DBA 从当前发布周期中创建的许多较小脚本中安排一个大型迁移脚本 但在 CD 中 开发人员可能希望立即将更改推送到生产中 而不是等待与其他脚本一起编译它们 我知道 Ra
  • 无法加载 Exchange powershell 管理单元:“Microsoft.Exchange.Data.Directory.Globals”的类型初始值设定项引发异常

    我有以下代码 用于创建一个加载了 Exchange 2010 管理单元的 PowerShell 运行空间 Dim runspaceConfig RunspaceConfiguration Create Dim snapInException
  • NodeJS 中的客户端 websocket 证书

    我有一个 NodeJS websocket 客户端应用程序 使用ws https www npmjs com package ws https www npmjs com package ws 这个 NodeJS 应用程序作为客户端连接到
  • Android:AlertDialog - 用户单击其他地方[重复]

    这个问题在这里已经有答案了 我有一个Alert dialog有 2 个按钮 是 否 如果用户点击yes or no警报对话框表现正常并进入点击方法 但是如果用户单击或触摸警报对话框之外的某个地方 它就会消失 并且不会发生任何事情 有什么方法
  • 每天在应用程序未打开时运行代码

    我想每天 每 24 小时 运行一些代码 问题是如果用户不打开应用程序 如何在应用程序未打开时运行代码 在android中运行后台周期性任务你可以使用多种方法 其中一些是 JobScheduler 仅适用于 API 21 或更高版本 Andr
  • 如何直接显示Excel单元格中的值?

    我正在尝试创建一个触发按钮 按下该按钮时 将在警报框或页面上显示 Excel 单元格中的值 下面是我能得到的所有内容 但它不会在页面上显示任何内容 更新 我设法使用 ActiveX 来做到这一点 但由于某些原因我不想使用这个库 你知道我该怎
  • FORBIDDEN(状态代码:403)无法向该用户发送消息

    我想创建一个命令将 DM 发送到整个服务器 但出现以下错误 Forbidden FORBIDDEN status code 403 Can t send messages to this user 可能是什么原因造成的 这是我当前的代码 b
  • 在 ggplot2 中创建密度直方图?

    我想创建下一个直方图密度图ggplot2 以 正常 方式 基础包 非常简单 set seed 46 vector lt rnorm 500 breaks lt quantile vector seq 0 1 by 0 1 labels 1
  • 如何在Python脚本中获取方波的频率

    我正在使用 TSL235 http www ti com lit ds symlink tsl235 pdf http www ti com lit ds symlink tsl235 pdf 光频转换器和 Raspberry Pi 传感器