找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 5275|回复: 4

乐高光度感应器的问题,求高手支招!!!

[复制链接]
发表于 2013-10-24 09:06:13 | 显示全部楼层 |阅读模式
悬赏1乐币未解决
本人用乐高搭建了一个分捡白色球和橙色球的装置,在调试光度感应器的时候发现不同的地方,光值差别大,就不好设置他们的差值点,有时候就区分不出来白球和橙色球,贴了黑色胶布也不明显,而且旁边有人的时候,光值都要变化,本身白色和橙色的光值差别就不大,出错的几率很高。有没有好的办法解决呢,请高手解答。

如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2013-10-24 09:20:35 | 显示全部楼层
你可以关掉光敏分支里面的“产生光”选项试试
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2013-10-24 12:50:19 | 显示全部楼层
把程序做成颜色比对的方式,不要使用固定的光值
void good(void)
{
      int k = 1;
      int m = 1;
      
      while(k){
               numb_1 = Sensor(IN_3);
               if(numb_1 < Null){
                      TextOut(8,32,"NULL 1");
               }
               else  {
                       k = 0;
                       TextOut(8,32,"Detect..1") ;
                }
      }
      fangzhi(1);
      PlayToneEx(3000,500,100,0);
      k = 1;
      m = 1;
      while(k){
               numb_2 =  Sensor(IN_3);
               
               while(m){
                      if(numb_2 < Null){
                                TextOut(8,32,"NULL 2");
                                }
                      else
                                m = 0;
               }
               
               if((numb_2 > numb_1 - 2) && (numb_2 < numb_1 + 2))
               {
                 PlayToneEx(3000,500,100,0);
                 fangzhi(1);
                 TextOut(8,32,"Detect..2") ;
                 ;
               }
               else{
                   PlayToneEx(3000,500,100,0);
                   numb_2 = Sensor(IN_3);
                   fangzhi(2);
                   k = 0;
               }
      
      }
      k = 1;
      m = 1;
      while(k){
      
               numb_3 =  Sensor(IN_3);
               while(m){
                      if(numb_3 < Null){
                                TextOut(8,32,"NULL 3");
                                }
                      else
                                m = 0;
               }
               if((numb_3 > numb_1 - 2) && (numb_3 < numb_1 + 2))
               {
                 PlayToneEx(3000,500,100,0);
                 TextOut(8,32,"Detect..3") ;
                 fangzhi(1);
                 
              }
               else{
                       if((numb_3 > numb_2 - 2) && (numb_3 < numb_2 + 2))
                        {
                              PlayToneEx(3000,500,100,0);
                              TextOut(8,32,"Detect..3") ;
                              fangzhi(2);
                        }
                        else{
                              PlayToneEx(3000,500,100,0);
                              numb_3 = Sensor(IN_3);
                              fangzhi(3);
                              k = 0;
                        }
               }
      }
}


这段代码可以自动比对三种颜色,不用管是什么颜色,只要是不同的就可以区分出来,你有什么写的代码啊
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2013-10-24 16:46:21 | 显示全部楼层
你可以用在一开机的时候去掉光值,那样会好多了,另外,我不建议你使用白色和橙色的球,因为它们太接近了,所以建议你使用颜色差别大一点的球
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2013-10-24 19:56:55 | 显示全部楼层
Ryant_jin 发表于 2013-10-24 16:46
你可以用在一开机的时候去掉光值,那样会好多了,另外,我不建议你使用白色和橙色的球,因为它们太接近了, ...

比如 red  and  green .
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

手机版|中文乐高 ( 桂ICP备13001575号-7 )

GMT+8, 2025-1-31 12:58 , Processed in 0.328511 second(s), 26 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表