基于STM32震动感应灯

元器件:1.震动感应器,继电器,LED灯等。

震动传感器:引脚VVC、GND、高低点位变化DO(接STM32的信号端)、AO模拟信号端(本实验未使用到)

其中实现的代码如下:

void Shake_Init (void)
{
      GPIO_InitTypeDef Shake_init;
      RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE );//ʹÄÜAPB2µÄGPIOBʱÖÓ
      //ÅäÖÃʱÖӽṹÌå
      Shake_init.GPIO_Mode = GPIO_Mode_IPD;
      Shake_init.GPIO_Pin = GPIO_Pin_1;
      Shake_init.GPIO_Speed = GPIO_Speed_10MHz;
    
    GPIO_Init( GPIOA, &Shake_init);//³õʼ»¯º¯Êý

      
}

mian函数:

int  main()
{

    Relay_init();
  Shake_Init ();
    GPIO_SetBits(GPIOA,GPIO_Pin_3);     


    while(1)
    {
     if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_1) == 0)
        {
            GPIO_ResetBits(GPIOA,GPIO_Pin_3); 
            delay(9999);
            GPIO_SetBits(GPIOA,GPIO_Pin_3);     

        }
        else
        {            
            GPIO_SetBits(GPIOA,GPIO_Pin_3);     
 
        }        
    }
    
    }

本实验要调用库函数GPIO_ReadInputDataBit()对CPIOA的1号引脚的高低电平的读取,如果发声震动,则是低电平,读到低电平,32上的板子3号引脚会发信号给继电器会供电,使得灯亮起来。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值