基于单片机HCSR501人体感应智能台灯设计(毕设课设)

该智能台灯采用HC-SR501人体感应检测是否有人进入,通过按键开关控制LED灯的亮或灭。根据大功率LED的功率数,选择并联三极管个数。或者需用MOS管驱动,本电路选用3W LED。

本智能台灯除了自动控制调节模式外还有手动模式。按键控制开关灯。本设计本人已在厕所安装,经使用OK。不用每次进出都开关灯,方便。亮的时间通过距离进行调节。

【资源下载】下载地址如下(885):https://docs.qq.com/doc/DTlRSd01BZXNpRUxl

 

  • 1
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是基于32单片机HCSR501程序示例,供参考: ```c #include "stm32f10x.h" #define LED_PIN GPIO_Pin_13 #define LED_PORT GPIOC void GPIO_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); GPIO_InitStructure.GPIO_Pin = LED_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(LED_PORT, &GPIO_InitStructure); // HCSR501引脚配置 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOA, &GPIO_InitStructure); } void EXTI_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; // HCSR501中断线配置 GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0); EXTI_InitStructure.EXTI_Line = EXTI_Line0; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure); NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x00; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x01; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); } void EXTI0_IRQHandler(void) { if (EXTI_GetITStatus(EXTI_Line0) != RESET) { GPIO_WriteBit(LED_PORT, LED_PIN, Bit_SET); // 点亮LED EXTI_ClearITPendingBit(EXTI_Line0); // 清除中断标志位 } } int main(void) { GPIO_Config(); EXTI_Config(); while (1) { GPIO_WriteBit(LED_PORT, LED_PIN, Bit_RESET); // 熄灭LED } } ``` 在此示例中,我们将HCSR501连接到了STM32的PA0引脚,并通过中断检测到人体运动信号。当检测到人体运动时,会触发PA0的中断,并通过中断服务程序点亮PC13引脚上的LED灯。在主函数中,我们通过循环控制LED灯的状态,以保证程序一直运行。 需要注意的是,上述示例中省略了HCSR501初始化的代码,需要根据具体的芯片型号进行相应的配置。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值