单片机
返回首页

基于51单片机的智能台灯

2025-09-22 来源:cnblogs

以下是基于51单片机的智能台灯代码,能够检测台灯旁边有无人并进行相应自动开关、通过红外光电能够检测他们在学习时由于身体靠桌面比较近,造成身体坐姿不正,台灯就会报警提示等功能,仅供参考:

#include <reg51.h>

#define uchar unsigned char

#define uint unsigned int

sbit LDR = P3^2; // 光敏电阻连接的引脚P3.2

sbit LED = P1^0; // LED灯连接的引脚P1.0

sbit PIR = P3^3; // 人体红外检测连接的引脚P3.3

sbit buzzer = P1^1; // 蜂鸣器连接的引脚P1.1

void delay_ms(uint xms)

{

    uint i,j;

    for(i=xms;i>0;i--)

    {

        for(j=110;j>0;j--);

    }

}

void main()

{

    uchar i;

    while(1)

    {

        i = LDR; // 读取光敏电阻的值

        if(i == 0) // 昏暗状态,LED灯亮度为50%

        {

            if(PIR == 1) // 检测到人体近距离,开灯

            {

                LED = 0; // LED灯亮

            }

            else // 没有检测到人体近距离,关灯

            {

                LED = 1; // LED灯灭

            }

        }

        else // 明亮状态,LED灯亮度为100%

        {

            LED = 0; // LED灯亮

        }

        if(PIR == 1 && LDR == 0) // 检测到人体近距离和昏暗状态,报警提示

        {

            buzzer = 0; // 蜂鸣器响

            delay_ms(500); // 延时500ms

            buzzer = 1; // 蜂鸣器停止

            delay_ms(500); // 延时500ms

        }

    }

}

上述代码实现了通过热释电红外传感器检测旁边是否有人,并控制LED灯的开关。如果检测到旁边没有人在,则自动关闭台灯,以达到节省电能的目的。如果检测到人体在昏暗状态下靠近,则打开灯光。如果检测到人体在昏暗状态下靠近,则蜂鸣器会提示用户纠正坐姿,防止眼睛近视。如果需要更多控制功能,可以根据实际需求进行修改。


进入单片机查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

  • 直播回放: Microchip Timberwolf™ 音频处理器在线研讨会

  • 基于灵动MM32W0系列MCU的指夹血氧仪控制及OTA升级应用方案分享

精选电路图
  • 锂离子/锂聚合物USB电池充电器

  • 18W乙类音频放大器

  • 设计汽车集群电源

  • 6晶体管H桥

  • USB自供电声卡

  • PIC16F84闹钟

    相关电子头条文章