查看: 7800|回复: 13

用Arduino实现LED自我控制发光

[复制链接]
  • TA的每日心情
    郁闷
    2019-5-25 14:52
  • 签到天数: 169 天

    [LV.7]常住居民III

    发表于 2015-3-21 11:11 | 显示全部楼层 |阅读模式
    本帖最后由 ntwhq 于 2016-3-19 23:59 编辑

          这个LED是用Arduino控制的,观看下列视频你会发现:光线稍强时LED熄灭,挡一下光LED就点亮了,但是你并没有看到有光敏传感器,这是怎么回事呢?


        众所周知:给LED通电它就会发光,那么反过来我们用光照射LED会不会产生电压呢?经过试验答案是肯定的,即LED也具有光伏效应,一只普通的白光LED受到稍强的光线照射后会在4.7M的负载电阻上产生数十毫伏的电压(对于大功率的LED其产生的电压还要高)。
           当负载为4.7M时,在室内靠近窗户的光线下几种LED光伏效应的测量结果:
          1、白色LED:
    LED1.JPG
          2、绿色LED:
    LED2.JPG
          3、红色LED
    LED3.JPG
          这里Arduino就是利用LED的这一特征作自我控制的,当对LED挡光时,LED不产生光伏电流或产生的光伏电流较小,电路控制其接通,受到光照时,产生的光伏电流较大,电路控制其熄灭。控制灵敏度阈值由程序设定。
           LED的两个角色是由Arduino分时控制实现的,由于测量的时间极短,你是感觉不到因测量而中断发光引起的闪烁的。
           电路图:
    LED_图示.jpg
    接线图:
    LED.jpg

    kittenblock中小学创客名师推荐的图形化编程软件

    
    int temp=10;
    void setup()
    {
      analogReference(INTERNAL);
    }
    void loop()
    {  
      pinMode( A0 , INPUT);
      if (analogRead(A0) < temp )
      {
        pinMode( A0 , OUTPUT);
        digitalWrite( A0 , HIGH );
        temp=15;
        delay(1);    
      }
      else temp=10;
    }

    打赏作者鼓励一下!
  • TA的每日心情
    慵懒
    2016-6-28 09:17
  • 签到天数: 58 天

    [LV.5]常住居民I

    发表于 2015-3-21 14:06 | 显示全部楼层
    这个有意思,{:soso_e163:}
  • TA的每日心情
    开心
    2015-7-23 20:28
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2015-3-21 15:37 | 显示全部楼层
    A0-A5也可以作为普通的I/O引脚吗?
  • TA的每日心情
    郁闷
    2019-5-25 14:52
  • 签到天数: 169 天

    [LV.7]常住居民III

     楼主| 发表于 2015-3-21 15:47 | 显示全部楼层
    本帖最后由 ntwhq 于 2015-3-21 15:48 编辑
    huaxinglsh 发表于 2015-3-21 15:37
    A0-A5也可以作为普通的I/O引脚吗?

            是的,AVR单片机好多引脚都有复用功能。
    打赏作者鼓励一下!

    该用户从未签到

    发表于 2015-3-21 16:55 | 显示全部楼层
    有新意{:soso_e179:}
  • TA的每日心情
    开心
    2015-5-9 10:01
  • 签到天数: 28 天

    [LV.4]偶尔看看III

    发表于 2015-3-21 21:43 | 显示全部楼层
    第一次听说led有光伏消效应,要试试看
  • TA的每日心情
    郁闷
    2019-5-25 14:52
  • 签到天数: 169 天

    [LV.7]常住居民III

     楼主| 发表于 2015-3-21 21:46 | 显示全部楼层
    xiansr 发表于 2015-3-21 21:43
    第一次听说led有光伏消效应,要试试看

    是的,很微弱,用普通指针万用表很难测量,用数字万用表可测量。
    打赏作者鼓励一下!
  • TA的每日心情
    奋斗
    2015-8-9 09:02
  • 签到天数: 34 天

    [LV.5]常住居民I

    发表于 2015-3-22 15:50 | 显示全部楼层
    这个真不错
    应该能玩一玩
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    【原创】全球最小口袋3D打印机mini one直播教程贴
    【原创】全球最小口袋3D打
    最近闲得蛋疼,没事搞个掌上3D打印机,先放效果图吧。 搞了半天,终于能正常打印,
    Blink——Arduino的Hello World!
    Blink——Arduino的Hello
    本教程节选自《Arduino程序设计基础》 Arduino编程基础(零)——Blink,Arduino的He
    ATmega2560-16AU刷BootLoader好慢
    ATmega2560-16AU刷BootLoa
    各位朋友,ATmega2560-16AU刷BootLoader好慢,有没有比较快的办法,一块板子要5分钟左
    【Arduino】108种传感器模块系列实验(104)---MAX30102手腕心率
    【Arduino】108种传感器模
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    Arduino MEGA 与UNO 通过nRF24L模块通讯
    Arduino MEGA 与UNO 通过n
    之前在深水宝很“实惠”的店铺买了一些原件,随手砍了esp8266以及nRF24L*3 因为缺
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表