5348浏览
查看: 5348|回复: 8

[已解决] 在原先传感器电路上接一个LED用输出,扫样频率为何会变慢

[复制链接]
急向各路大神求助!!


【目的】手上有一块Arduino UNO板,一个BH1750型光照度传感器,准备使用它进行基本的光照度判断等操作。
【问题】
    如题,原先传感器电路(下图中不含虚线矩形框的部分)能够正常工作,扫样频率为135ms/次,并按照这个频率在串口监视器上显示出数据。
    当我附加了一个LED作输出信号时(if光亮度大于某值就会发光),在程序中并没有新添delay等其他有关时间的语句,
    电路能正常工作,但是无论是串口监视器上的数据,还是Arduino板子上的TX小灯,出现/闪光频率都有很明显的降低。
   
    ( ⊙ o ⊙ )啊!因为是在做一个关于 预警引发光敏性癫痫的光 有关的课题,如果扫样频率太低的话等预警结果判定出来患者早就发作了……真心挺困扰的。


    希望各路大神们能看一下到底出了什么问题,不胜感谢!!
    预祝各位羊年快乐!!

【以下为接线图例与程序】
在原先传感器电路上接一个LED用输出,扫样频率为何会变慢图1


  1. #include <Wire.h>
  2. #include <math.h>
  3. int BH1750address = 0x23;//BH1750 I2C地址
  4. byte buff[2];
  5. int led = 5;
  6. void setup()
  7. {
  8. Wire.begin();
  9. Serial.begin(9600);
  10. pinMode(led,OUTPUT);
  11. }
  12. void loop()
  13. {
  14.    if( BH1750() > 80)
  15.    {
  16.      digitalWrite(led,HIGH);
  17.    }
  18.    else
  19.    {
  20.      digitalWrite(led, LOW);
  21.    }
  22.    Serial.print( BH1750() );
  23.    Serial.println("[lx]");
  24. }
  25. double BH1750() //BH1750设备操作
  26. {
  27. int i=0;
  28. double val=0;
  29. //开始I2C读写操作
  30. Wire.beginTransmission(BH1750address);
  31. Wire.write(0x10);//1lx reolution 120ms//发送命令
  32. Wire.endTransmission();
  33. delay(135);
  34. //读取数据
  35. Wire.beginTransmission(BH1750address);
  36. Wire.requestFrom(BH1750address, 2);
  37. while(Wire.available()) //
  38. {
  39. buff = Wire.read(); // receive one byte
  40. i++;
  41. }
  42. Wire.endTransmission();
  43. if(2==i)
  44. {
  45. val=((buff[0]<<8)|buff[1])/1.2;
  46. }
  47. return val;
  48. }
复制代码


Ricky  NPC

发表于 2015-1-25 21:44:22

需要搭的样例测试一下,代码上目测没有找出什么问题。
回复

使用道具 举报

cj2q  中级技匠

发表于 2015-1-26 00:13:11

话说光敏性癫痫是什么东西啊
回复

使用道具 举报

Tonytiger_CSQ  见习技师
 楼主|

发表于 2015-1-26 13:48:55

cj2q 发表于 2015-1-26 00:13
话说光敏性癫痫是什么东西啊

嘛这个啊……一时半会也说不清楚,但是你可以去看一下97年的神奇宝贝3D龙事件应该可以了解个大概
【咱是不是跑偏了;P】
回复

使用道具 举报

Cain  初级技匠

发表于 2015-1-26 15:48:59

只是多加了个if判断?应该不会这样啊
回复

使用道具 举报

Tonytiger_CSQ  见习技师
 楼主|

发表于 2015-1-26 18:22:33

Cain 发表于 2015-1-26 15:48
只是多加了个if判断?应该不会这样啊

所以说很困扰嘛:dizzy:
回复

使用道具 举报

Cain  初级技匠

发表于 2015-1-26 22:31:21


有没有试着用别的引脚控制灯?我不知道是不是和PWM引脚有关
回复

使用道具 举报

Cain  初级技匠

发表于 2015-1-26 22:34:01

cj2q 发表于 2015-1-26 00:13
话说光敏性癫痫是什么东西啊

就是很鲜艳的几种颜色快速变换,闪瞎眼的那种。然后感到头晕,严重点就昏迷了
回复

使用道具 举报

Tonytiger_CSQ  见习技师
 楼主|

发表于 2015-1-27 09:19:28

Cain 发表于 2015-1-26 22:31
有没有试着用别的引脚控制灯?我不知道是不是和PWM引脚有关

如果说是Digital对的那一排引脚的话好像换了别的序号的引脚输出灯好像也没有什么作用……我先试试看
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail