0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于STM32設(shè)計(jì)的自動(dòng)剎車燈

DS小龍哥-嵌入式技術(shù) ? 來(lái)源:DS小龍哥-嵌入式技術(shù) ? 作者:DS小龍哥-嵌入式技 ? 2023-06-28 09:07 ? 次閱讀

一、項(xiàng)目介紹

隨著科技的發(fā)展,人們對(duì)低碳環(huán)保的認(rèn)知和需求不斷提高。騎自行車既能夠低碳環(huán)保,又能夠鍛煉身體,成為了很多人出行的首選。然而,由于自行車本身沒(méi)有帶指示燈,比如剎車指示燈等,所以自行車的安全性并不是很好,如果人們?cè)隍T自行車時(shí)緊急剎車,后車無(wú)法及時(shí)判斷前方自行車的行為,容易造成交通事故。因此,設(shè)計(jì)一款自動(dòng)剎車燈系統(tǒng)具有十分重要的意義。

本項(xiàng)目實(shí)現(xiàn)了通過(guò)安裝ADXL345陀螺儀和四枚LED燈還有STM32F103C8T6主控芯片來(lái)實(shí)現(xiàn)自行車自動(dòng)剎車燈的功能。當(dāng)自行車上安裝了該設(shè)備后,ADXL345通過(guò)IIC通信協(xié)議將X,Y,Z三軸的加速度實(shí)時(shí)值發(fā)送給SMT32F103C8T6主控芯片,并結(jié)合STM32高級(jí)定時(shí)器的PWM功能,輸出不同占空比的脈沖,控制不同的LED燈輸出多種亮度等級(jí),從而控制不同的LED的開(kāi)關(guān)以及明暗,并且通過(guò)不同亮度的紅光和綠光混合,能夠得到黃色的LED燈光。這樣,在自行車急剎或者加速時(shí),實(shí)時(shí)地控制LED燈的亮度和顏色,讓后方車輛能夠更清楚地了解前方自行車的行為,從而做出快速的反應(yīng),保障騎行者以及后車的安全。同時(shí),該系統(tǒng)也能夠提高自行車的可見(jiàn)性,并且對(duì)于追求低碳環(huán)保的人群來(lái)說(shuō),讓自行車既能低碳環(huán)保,又能夠鍛煉身體。

image-20230618184936424

二、設(shè)計(jì)思路

2.1 項(xiàng)目目標(biāo)

本項(xiàng)目通過(guò)安裝ADXL345陀螺儀和四枚LED燈還有STM32F103C8T6主控芯片來(lái)實(shí)現(xiàn)自行車自動(dòng)剎車燈的功能,使得自行車在急剎或者加速時(shí),實(shí)時(shí)地控制LED燈的亮度和顏色,提高其可見(jiàn)性,降低交通事故的風(fēng)險(xiǎn)。同時(shí),該系統(tǒng)還能夠使自行車既能低碳環(huán)保,又能夠鍛煉身體。

2.2 項(xiàng)目硬件構(gòu)成

(1)自行車:作為安裝系統(tǒng)的物體,需要有一個(gè)固定的位置來(lái)安裝ADXL345陀螺儀和四枚LED燈。

(2)ADXL345陀螺儀:通過(guò)IIC通信協(xié)議與STM32F103C8T6主控芯片通信,并將X、Y、Z三軸的加速度實(shí)時(shí)值發(fā)送給SMT32F103C8T6主控芯片。

(3)四枚LED燈:使用不同亮度的紅光和綠光混合,能夠得到黃色的LED燈光。通過(guò)控制其亮度和顏色來(lái)提高自行車的可見(jiàn)性。

(4)STM32F103C8T6主控芯片:根據(jù)接收到的ADXL345數(shù)據(jù),結(jié)合STN32的高級(jí)定時(shí)器的PWM功能,輸出不同占空比的脈沖,控制不同的LED燈輸出多種亮度等級(jí)。

2.3 項(xiàng)目功能實(shí)現(xiàn)

(1)自行車加速度監(jiān)測(cè):ADXL345陀螺儀通過(guò)IIC通信協(xié)議與STM32F103C8T6主控芯片通信,實(shí)時(shí)地感知自行車的加速度變化。

(2)LED燈亮度和顏色控制:STM32F103C8T6主控芯片運(yùn)用高級(jí)定時(shí)器的PWM功能,能夠輸出不同占空比的脈沖,并控制不同的LED燈輸出多種亮度等級(jí),通過(guò)不同亮度的紅光和綠光混合,能夠得到黃色的LED燈光,提高自行車的可見(jiàn)性。

(3)系統(tǒng)安裝和調(diào)試:需要將ADXL345陀螺儀和四枚LED燈與STM32F103C8T6主控芯片連接起來(lái),并進(jìn)行系統(tǒng)測(cè)試和調(diào)試。

三、系統(tǒng)測(cè)試

3.1 功能樣機(jī)安裝與焊接

繪制好電路原理圖之后,按照原理圖將自動(dòng)剎車燈系統(tǒng)的各個(gè)模塊安裝在事先購(gòu)買(mǎi)好的洞洞板上,然后用導(dǎo)線將他們連接在一起,最后再焊接在一起,做成完整的自動(dòng)剎車燈電路板。

image-20230618184608787

3.2 ADXL345模塊調(diào)試

當(dāng)上電后,將自動(dòng)剎車燈電路的串口2外設(shè)引腳連接至PC端,將加速度解算后的實(shí)際值發(fā)送至PC端,通過(guò)PC端串口調(diào)試助手顯示出具體數(shù)值,再觀察數(shù)值是否符合常理。

image-20230618184700297

通過(guò)顯示的數(shù)據(jù)信息,可以推測(cè)出ADXL345陀螺儀能夠正常工作。

3.3 實(shí)物調(diào)試

最后階段,將對(duì)自行車自動(dòng)剎車燈進(jìn)行實(shí)物調(diào)試,確定其基本功能能夠正常實(shí)現(xiàn)。

當(dāng)系統(tǒng)上電后,左右各一枚LED發(fā)出低亮黃色燈光,如下圖。

image-20230618184801135

靜置30S后,所有LED均熄滅,如下圖。

image-20230618184825767

當(dāng)檢測(cè)到震動(dòng)后,重新亮起兩盞黃色LED燈,如下圖。

image-20230618184849795

當(dāng)檢測(cè)到剎車時(shí),四枚LED燈均以高亮發(fā)出紅色燈光,如下圖。

image-20230618184910210

結(jié)合自行車自動(dòng)剎車燈的功能需求和實(shí)物調(diào)試結(jié)果,可以發(fā)現(xiàn),調(diào)試結(jié)果完全符合自動(dòng)剎車燈的預(yù)期功能。

四、代碼設(shè)計(jì)

4.1 主函數(shù)

#include "stm32f10x.h"
 #include "usart.h"
 #include "led.h"
 #include "RTC_Time.h" 
 #include < stdio.h >
 #include "delay.h"
 #include "sys.h"
 #include "stdlib.h"
 #include "stdio.h"
 #include "string.h"
 #include "adxl345.h"
 int main(void)
 {
       u32 flag=0;
       short x, y, z;
     float accelerated;
       LED_GPIO_Config();//初始化LED
     USART2_Config();
     delay_init(); //延時(shí)函數(shù)初始化
     PWM_LED_INIT();   //PWM   PA8-9
       LED_Init();    //PB7 LED-R
       PBout(7) = 1;     
       ADXL345_Init(); //PB 10,11
     ADXL345_Read_Average(&x, &y, &z, 20);
     ADXL345_AUTO_Adjust((char *)&x, (char *)&y, (char *)&z);
     TIM_SetCompare1(TIM1, 50); //設(shè)置TIMx捕獲比較1寄存器(通道1)值(脈沖寬度)   占空比%20
     TIM_SetCompare2(TIM1, 50); //設(shè)置TIMx捕獲比較2寄存器(通道2)值(脈沖寬度)   占空比%20
     while (1)
     {
         ADXL345_Read_Average(&x, &y, &z, 5);   //讀加速度值
               accelerated=(x*3.9/1000*9.8);          //加速度實(shí)際值
             printf("X=%4.1f   Y=%4.1f  Z=%4.1f
",accelerated,(y*3.9/1000*9.8),(z*3.9/1000*9.8));
             while(flag >425)
             {
                  TIM_SetCompare1(TIM1, 0);          //通道2 占空比%0                         
                  TIM_SetCompare2(TIM1, 0);          //通道2 占空比%0 
                ADXL345_Read_Average(&x, &y, &z, 5);
                  accelerated=(x*3.9/1000*9.8);
                 if(accelerated< -5||accelerated >5) 
                 {
                     break;
                 }
             }
                 flag++; 
           if(accelerated< -4)
                 {
                     //四個(gè)LED低電平導(dǎo)通           
                     TIM_SetCompare1(TIM1, 0);            //GREEN不亮                          
                     TIM_SetCompare2(TIM1, 1000);         //RED高亮
                     PBout(7) = 0;   
                     flag=0;    
                 }
                 if(accelerated >0)
                 {
                     PBout(7) = 1;
                     TIM_SetCompare1(TIM1, 50);           //RED低亮  
                     TIM_SetCompare2(TIM1, 50);           //GREEN低亮
          }
                 if(accelerated >5)
                 {
                 flag=0; 
                 }
     }   
 }

4.2 LED燈控制

#include "led.h"
 #include "delay.h"
 void LED_GPIO_Config(void)
 {   
     //定義一個(gè)GPIO_InitTypeDef 類型的結(jié)構(gòu)體,名字叫GPIO_InitStructure 
     GPIO_InitTypeDef  GPIO_InitStructure;
     //使能GPIOC的外設(shè)時(shí)鐘
     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
     //選擇要用的GPIO引腳       
     GPIO_InitStructure.GPIO_Pin =GPIO_Pin_13;
     ///設(shè)置引腳模式為推免輸出模式             
     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;         
     //設(shè)置引腳速度為50MHZ
     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
     //調(diào)用庫(kù)函數(shù),初始化GPIO
     GPIO_Init(GPIOC, &GPIO_InitStructure);
 }
 void TIME_INIT()
 {
     TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
     TIM_OCInitTypeDef TIM_OCInitStructure; //根據(jù)TIM_OCInitStruct中指定的參數(shù)初始化外設(shè)TIMx
     RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);
     //TIM1定時(shí)器初始化  10ms
     TIM_TimeBaseInitStructure.TIM_Period = 999; 
     TIM_TimeBaseInitStructure.TIM_Prescaler = 719;
     TIM_TimeBaseInitStructure.TIM_ClockDivision = 0;
     TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;
     TIM_TimeBaseInit(TIM1, &TIM_TimeBaseInitStructure);
     //TIM1的PWM配置     
     TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
     TIM_OCInitStructure.TIM_Pulse = 0;//設(shè)置初始PWM脈沖寬度為0
     TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //PWM輸出使能
     TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;//當(dāng)定時(shí)器計(jì)數(shù)值小于CCR_Val時(shí)為低電平
       //通道的使能
     TIM_OC1Init(TIM1, &TIM_OCInitStructure);  //通道1
     TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Enable); 
         TIM_OC2Init(TIM1, &TIM_OCInitStructure);  //通道2
     TIM_OC2PreloadConfig(TIM1, TIM_OCPreload_Enable);   
         TIM_ARRPreloadConfig(TIM1, ENABLE);   //使能TIM1重載寄存器ARR
     TIM_Cmd(TIM1, ENABLE);                //使能
     TIM_CtrlPWMOutputs(TIM1, ENABLE);     //高級(jí)定時(shí)器必須加
 }
 void PWM_LED_INIT(void)
 {
     GPIO_InitTypeDef GPIO_InitStructure;
       RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB, ENABLE);  //GPIOA8,9,10是TIM1的通道1,2,3
     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 ;
     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //復(fù)用推挽輸出
     GPIO_Init(GPIOA, &GPIO_InitStructure);
     TIME_INIT();
 }
 void LED_Init(void)
 {
     GPIO_InitTypeDef GPIO_InitStructure;
   //RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB,ENABLE);
     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
     GPIO_Init(GPIOB, &GPIO_InitStructure);
 }
 ?

4.3 adxl345.c

#include "adxl345.h"
 #include "sys.h"
 #include "delay.h"
 #include "math.h"   
 u8 ADXL345_Init(void)
 {                 
     IIC_Init();                         //初始化IIC總線  
     if(ADXL345_RD_Reg(DEVICE_ID)==0XE5) //讀取器件ID
     {  
         ADXL345_WR_Reg(0X31,0X2B);  //低電平中斷輸出,13位全分辨率,輸出數(shù)據(jù)右對(duì)齊,16g量程 
         ADXL345_WR_Reg(0X2C,0x0A);        //數(shù)據(jù)輸出速度為100Hz
         ADXL345_WR_Reg(0X2D,0x28);    //鏈接使能,測(cè)量模式
         ADXL345_WR_Reg(0X2E,0x00);  //不使用中斷      
         ADXL345_WR_Reg(0X1E,0x00);
         ADXL345_WR_Reg(0X1F,0x00);
         ADXL345_WR_Reg(0X20,0x00);  
         return 0;
     }           
     return 1;                                     
 }   
 //寫(xiě)ADXL345寄存器
 //addr:寄存器地址
 //val:要寫(xiě)入的值
 //返回值:無(wú)
 void ADXL345_WR_Reg(u8 addr,u8 val) 
 {
     IIC_Start();                 
     IIC_Send_Byte(ADXL_WRITE);  //發(fā)送寫(xiě)器件指令    
     IIC_Wait_Ack();    
   IIC_Send_Byte(addr);              //發(fā)送寄存器地址
     IIC_Wait_Ack();                                                        
     IIC_Send_Byte(val);             //發(fā)送值                      
     IIC_Wait_Ack();                    
   IIC_Stop();                             //產(chǎn)生一個(gè)停止條件       
 }
 //讀ADXL345寄存器
 //addr:寄存器地址
 //返回值:讀到的值
 u8 ADXL345_RD_Reg(u8 addr)      
 {
     u8 temp=0;       
     IIC_Start();                 
     IIC_Send_Byte(ADXL_WRITE);  //發(fā)送寫(xiě)器件指令    
     temp=IIC_Wait_Ack();       
     IIC_Send_Byte(addr);        //發(fā)送寄存器地址
     temp=IIC_Wait_Ack();                                                       
     IIC_Start();                //重新啟動(dòng)
     IIC_Send_Byte(ADXL_READ);   //發(fā)送讀器件指令    
     temp=IIC_Wait_Ack();       
     temp=IIC_Read_Byte(0);      //讀取一個(gè)字節(jié),不繼續(xù)再讀,發(fā)送NAK               
     IIC_Stop();                 //產(chǎn)生一個(gè)停止條件      
     return temp;                //返回讀到的值
 }  
 //讀取ADXL的平均值
 //x,y,z:讀取10次后取平均值
 void ADXL345_RD_Avval(short *x,short *y,short *z)
 {
     short tx=0,ty=0,tz=0;      
     u8 i;  
     for(i=0;i< 10;i++)
     {
         ADXL345_RD_XYZ(x,y,z);
         delay_ms(10);
         tx+=(short)*x;
         ty+=(short)*y;
         tz+=(short)*z;     
     }
     *x=tx/10;
     *y=ty/10;
     *z=tz/10;
 } 
 //自動(dòng)校準(zhǔn)
 //xval,yval,zval:x,y,z軸的校準(zhǔn)值
 void ADXL345_AUTO_Adjust(char *xval,char *yval,char *zval)
 {
     short tx,ty,tz;
     u8 i;
     short offx=0,offy=0,offz=0;
     ADXL345_WR_Reg(POWER_CTL,0x00);     //先進(jìn)入休眠模式.
     delay_ms(100);
     ADXL345_WR_Reg(DATA_FORMAT,0X2B);   //低電平中斷輸出,13位全分辨率,輸出數(shù)據(jù)右對(duì)齊,16g量程 
     ADXL345_WR_Reg(BW_RATE,0x0A);       //數(shù)據(jù)輸出速度為100Hz
     ADXL345_WR_Reg(POWER_CTL,0x28);     //鏈接使能,測(cè)量模式
     ADXL345_WR_Reg(INT_ENABLE,0x00);    //不使用中斷      
     ADXL345_WR_Reg(OFSX,0x00);
     ADXL345_WR_Reg(OFSY,0x00);
     ADXL345_WR_Reg(OFSZ,0x00);
     delay_ms(12);
     for(i=0;i< 10;i++)
     {
         ADXL345_RD_Avval(&tx,&ty,&tz);
         offx+=tx;
         offy+=ty;
         offz+=tz;
     }           
     offx/=10;
     offy/=10;
     offz/=10;
     *xval=-offx/4;
     *yval=-offy/4;
     *zval=-(offz-256)/4;      
     ADXL345_WR_Reg(OFSX,*xval);
     ADXL345_WR_Reg(OFSY,*yval);
     ADXL345_WR_Reg(OFSZ,*zval); 
 } 
 //讀取3個(gè)軸的數(shù)據(jù)
 //x,y,z:讀取到的數(shù)據(jù)
 void ADXL345_RD_XYZ(short *x,short *y,short *z)
 {
     u8 buf[6];
     u8 i;
     IIC_Start();                 
     IIC_Send_Byte(0X3A);    //發(fā)送寫(xiě)器件指令    
     IIC_Wait_Ack();    
   IIC_Send_Byte(0x32);          //發(fā)送寄存器地址(數(shù)據(jù)緩存的起始地址為0X32)
     IIC_Wait_Ack();             
     IIC_Start();                //重新啟動(dòng)
     IIC_Send_Byte(0X3B);    //發(fā)送讀器件指令
     IIC_Wait_Ack();
     for(i=0;i< 6;i++)
     {
         if(i==5)buf[i]=IIC_Read_Byte(0);//讀取一個(gè)字節(jié),不繼續(xù)再讀,發(fā)送NACK  
         else buf[i]=IIC_Read_Byte(1);   //讀取一個(gè)字節(jié),繼續(xù)讀,發(fā)送ACK 
         delay_us(15);
       IIC_Start();                  //重新啟動(dòng)
         IIC_Send_Byte(0X3A);    //發(fā)送寫(xiě)器件指令
             IIC_Wait_Ack(); 
         IIC_Send_Byte(0x33+i);          //發(fā)送寄存器地址(數(shù)據(jù)緩存的起始地址為0X32)
       IIC_Wait_Ack();           
       IIC_Start();                  //重新啟動(dòng)
       IIC_Send_Byte(0X3B);  //發(fā)送讀器件指令
       IIC_Wait_Ack();
     }                  
     IIC_Stop();                 //產(chǎn)生一個(gè)停止條件
     *x=(short)(((u16)buf[1]< < 8)+buf[0]);        
     *y=(short)(((u16)buf[3]< < 8)+buf[2]);        
     *z=(short)(((u16)buf[5]< < 8)+buf[4]);       
 }
 //讀取ADXL345的數(shù)據(jù)times次,再取平均
 //x,y,z:讀到的數(shù)據(jù)
 //times:讀取多少次
 void ADXL345_Read_Average(short *x,short *y,short *z,u8 times)
 {
     u8 i;
     short tx,ty,tz;
     *x=0;
     *y=0;
     *z=0;
     if(times)//讀取次數(shù)不為0
     {
         for(i=0;i< times;i++)//連續(xù)讀取times次
         {
             ADXL345_RD_XYZ(&tx,&ty,&tz);
             *x+=tx;
             *y+=ty;
             *z+=tz;
             delay_ms(5);
         }
         *x/=times;
         *y/=times;
         *z/=times;
     }
 }
 //得到角度
 //x,y,z:x,y,z方向的重力加速度分量(不需要單位,直接數(shù)值即可)
 //dir:要獲得的角度.0,與Z軸的角度;1,與X軸的角度;2,與Y軸的角度.
 //返回值:角度值.單位0.1°.
 short ADXL345_Get_Angle(float x,float y,float z,u8 dir)
 {
     float temp;
     float res=0;
     switch(dir)
     {
         case 0://與自然Z軸的角度
             temp=sqrt((x*x+y*y))/z;
             res=atan(temp);
             break;
         case 1://與自然X軸的角度
             temp=x/sqrt((y*y+z*z));
             res=atan(temp);
             break;
         case 2://與自然Y軸的角度
             temp=y/sqrt((x*x+z*z));
             res=atan(temp);
             break;
     }
     return res*1800/3.14;
 }

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    452

    文章

    49938

    瀏覽量

    419595
  • 通信協(xié)議
    +關(guān)注

    關(guān)注

    28

    文章

    823

    瀏覽量

    40191
  • 陀螺儀
    +關(guān)注

    關(guān)注

    44

    文章

    774

    瀏覽量

    98387
  • STM32
    +關(guān)注

    關(guān)注

    2262

    文章

    10846

    瀏覽量

    353660
  • IIC
    IIC
    +關(guān)注

    關(guān)注

    11

    文章

    293

    瀏覽量

    38206
  • ADXL345
    +關(guān)注

    關(guān)注

    13

    文章

    69

    瀏覽量

    33689
  • 剎車燈
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    4273
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    第三剎車燈:CHMSL設(shè)計(jì)方案

    CHMSL代表中央高位剎車燈,安裝在車輛左側(cè)和右側(cè)制動(dòng)車燈(也稱為剎車燈)的上方。根據(jù)美國(guó)國(guó)家高速公路交通安全管理局的規(guī)定,當(dāng)剎車系統(tǒng)工作時(shí),CHMSL要向后方司機(jī)提供明顯確切的信息,
    的頭像 發(fā)表于 05-29 16:25 ?7519次閱讀

    [求助]明銳16剎車燈自檢原理??

    明銳16剎車燈斷絲后,儀表盤(pán)燈故障指示亮,換新燈后儀表盤(pán)燈故障指示消除?;厩闆r介紹:鑰匙旋轉(zhuǎn)至加電位置,車計(jì)算機(jī)自檢,若剎車燈有故障則儀表盤(pán)燈故障指示亮;若無(wú),則不亮。繼續(xù)轉(zhuǎn)至發(fā)動(dòng)機(jī)啟動(dòng)位,汽車
    發(fā)表于 03-31 13:30

    開(kāi)源硬件-基于STM32自動(dòng)剎車燈設(shè)計(jì)

    開(kāi)源硬件-基于STM32自動(dòng)剎車燈設(shè)計(jì)...
    發(fā)表于 03-25 19:59

    【云智易申請(qǐng)】基于stm32自動(dòng)剎車燈

    申請(qǐng)理由:此項(xiàng)目具有很大的實(shí)用性,而且節(jié)能環(huán)保,應(yīng)用范圍廣。另外,本人從事高校教學(xué)工作數(shù)年,期間不間斷承接企業(yè)項(xiàng)目,具有較豐富的開(kāi)發(fā)經(jīng)驗(yàn)。項(xiàng)目描述:自動(dòng)剎車燈由電池供電并內(nèi)置加速度傳感器,因此無(wú)需
    發(fā)表于 08-05 08:01

    基于STM32自動(dòng)剎車燈設(shè)計(jì)

    自動(dòng)剎車燈是一個(gè)小巧的電路板,在剎車減速時(shí)自動(dòng)亮起??梢詫⑵浒惭b在自行車上,用于警示其他車輛和行人。自動(dòng)
    發(fā)表于 08-29 11:51

    8.31【Elecfans社區(qū)好資料】想要學(xué)好STM32,必須弄懂這八個(gè)經(jīng)典項(xiàng)目設(shè)計(jì)

    基于STM32自動(dòng)剎車燈設(shè)計(jì)https://bbs.elecfans.com/jishu_1639073_1_1.html5.基于STM32示波器DDS信號(hào)發(fā)生器https
    發(fā)表于 08-31 14:32

    中央高位剎車燈CHMSL的散熱性怎么考慮?

    CHMSL代表中央高位剎車燈,安裝在車輛左側(cè)和右側(cè)制動(dòng)車燈(也稱為剎車燈)的上方。根據(jù)美國(guó)國(guó)家高速公路交通安全管理局的規(guī)定,當(dāng)剎車系統(tǒng)工作時(shí),CHMSL要向后方司機(jī)提供明顯確切的信息,
    發(fā)表于 08-13 07:05

    智能車大作戰(zhàn),各類智能車開(kāi)源資料,你更偏愛(ài)哪一款?

    `1、開(kāi)源硬件-基于STM32自動(dòng)剎車燈設(shè)計(jì)自動(dòng)剎車燈是一個(gè)小巧的電路板,在剎車減速時(shí)
    發(fā)表于 10-23 15:20

    汽車剎車燈監(jiān)視電路分析

    為克服以上缺點(diǎn),筆者制作了一個(gè)電路(原理圖見(jiàn)圖1所示),巧妙地借用了原車儀表內(nèi)的剎車燈/手剎報(bào)警燈作為附加電路的報(bào)警顯示,且僅用1根線接至手剎開(kāi)關(guān)上,就能完成對(duì)剎車燈的監(jiān)控,并指示出可能出現(xiàn)的四種狀態(tài)。
    發(fā)表于 04-26 07:06

    閃光式剎車燈電路

    閃光式剎車燈電路
    發(fā)表于 09-09 11:01 ?1385次閱讀
    閃光式<b class='flag-5'>剎車燈</b>電路

    摩托車剎車燈延時(shí)熄燈電路

    摩托車剎車燈延時(shí)熄燈電路
    發(fā)表于 01-24 17:21 ?13次下載

    STM32經(jīng)典項(xiàng)目設(shè)計(jì)實(shí)例分享

    學(xué)習(xí)參考意義的設(shè)計(jì)實(shí)例。尤其對(duì)于新手,是一個(gè)學(xué)習(xí)stm32單片機(jī)的活生生的范例。 1.開(kāi)源硬件-基于STM32自動(dòng)剎車燈設(shè)計(jì) 自動(dòng)
    發(fā)表于 10-16 10:39 ?65次下載

    閃光剎車燈電路圖

     剎車燈,一般安裝在車輛尾部,主體顏色為紅色的燈,以便后面行駛的車輛易于發(fā)現(xiàn)前方車輛剎車,起到防止追尾事故發(fā)生的目的。簡(jiǎn)單的車型就是電源通過(guò)保險(xiǎn),然后到剎車開(kāi)關(guān),踩下制動(dòng)踏板進(jìn)行剎車時(shí)
    的頭像 發(fā)表于 07-19 10:08 ?9461次閱讀
    閃光<b class='flag-5'>剎車燈</b>電路圖

    中央高位剎車燈——第三剎車燈

    中央高位剎車燈——第三剎車燈
    發(fā)表于 11-01 08:26 ?5次下載
    中央高位<b class='flag-5'>剎車燈</b>——第三<b class='flag-5'>剎車燈</b>

    汽車剎車燈故障報(bào)警裝置介紹

    現(xiàn)有汽車剎車燈的控制電源為12蓄電池(汽油發(fā)動(dòng)機(jī)),踩下剎車踏板時(shí),電流從蓄電池正極流出,經(jīng)過(guò)保險(xiǎn)絲及剎車燈開(kāi)關(guān)的閉合觸點(diǎn)到達(dá)并聯(lián)的2個(gè)剎車燈炮中,然后經(jīng)過(guò)車身搭鐵回到蓄電池負(fù)極。
    的頭像 發(fā)表于 01-14 11:29 ?2807次閱讀