基於stm32的藍牙開關

本設計爲原創DIY作品,2019.10.18日打好PCB樣板,代碼調試了近10天,出了V1.0版本,還有待改進的地方,比如功耗問題,V1.0版本功耗在58毫安左右,經改進V2.0功耗在2毫安左右(主要是舵機的待機功耗,在2.5毫安左右),2.0的板子還沒打好,這裏先貼出V1.0的板子設計和代碼,設計上或者代碼上有問題的還望大家指正。如需轉載,請註明出處,QQ:1907913345,Author:Vence

Q1:此電路中主芯片的VCC和GND之間沒有加耦合電容,在電壓不穩定的情況下,容易燒壞主芯片,一般情況不會燒壞

Q2:此電路中的按鍵GND腳設置錯誤,需要的請自行修改板子

Q3:所使用的藍牙模塊爲信馳達的主從一體4.0

Q4:V1.0的電路圖中我把藍牙模塊的P05和P04接到BLUE和RED上了,本來希望來用來判斷是否連接成功,發現這樣設計的話,沒法將P05拉低,就不能利用藍牙進行停機喚醒。

Q5:AMS1117可以不使用,本來想用5V的電源來驅動馬達的,但是發現馬達轉速太快,關不了燈,後來換成了舵機,就不需要AMS1117和HR9110的馬達驅動芯片了

原理圖:

PCB:

 

實物:

 

 

操作方式:

V1.0版本:藍牙APP發送0x01,舵機轉動到-45°,發送0x02,舵機轉動到-90°,發送0x11,舵機轉動到45°,發送0x12,舵機轉動到90°,發送0x00,舵機轉動到0°。

主函數代碼:

//本設計利用信馳達進行藍牙通信,通過串口1控制電動馬達的轉動,stm32的PB1控制藍牙模塊的使能,藍牙模塊的工作電壓範圍在1.8-3.3V,具有低功耗
//2019年10月22號21點44分,作者Vence
#include "stm32f10x.h"
#include "usart1.h"
#include "bluetooth.h"
#include "key.h"
#include "led.h"
#include "motor.h"
#include "runmodel.h"

u8 motor_mode = 0;       	//電機運動模式
u8 send_flag = 0;

int main(void)
{	
		NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);		         //中斷控制器分組設置
		Key_Init();										                            //初始化按鍵
		EXTI_Configuration();
		Usart1_Init(115200);					                           //設置串口1的波特率爲115200bit
		LedInit();									                            //初始化led
		Delay_Init();									                         //初始化延遲函數
		BlueTooth_Init();							                        //初始化藍牙模塊
		USART_Cmd(USART1, ENABLE);													 //除能串口
		GPIO_ResetBits(GPIOB,EN);
		Motor_Init();																				//舵機初始化
		Lo_Signal;
		while(1)
		{
			if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_8) == Bit_RESET)
			{
				DelayMs(100);
				if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_8) == Bit_RESET)
				{
					send_flag++;
					if(send_flag == 2)
						send_flag = 0;
					if(GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_2) == Bit_RESET)
						GPIO_SetBits(GPIOA,GPIO_Pin_2);	
					else
						GPIO_ResetBits(GPIOA,GPIO_Pin_2);	
					
					if(send_flag == 1)
					{
						Motor_Mode(Reverse_45);
					}
					
					if(send_flag == 0)
					{
						Motor_Mode(Forward_45);
					}
				}
			}
			
		}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章