1 、基础功能要求
- 主体电路包括晶振、复位、电源指示电路,预留程序下载接口;
- 通过AT指令对蓝牙模块进行配置,实现上电配置后模块可连接手机通信;
- 能够通过手机端测试软件发送指令给单片机,使其控制对应的LED灯以不同模式闪烁,如:呼吸模式、常亮模式、流水模式等,至少具备三种模式。
2、扩展功能要求
实现亮灯时间的手动控制。如通过手机端发送亮灯时间给单片机,让单片机控制LED等持续点亮30s或者1分钟等。
需要完整代码的5块一份噢,上面的要求完全可以实现,需要可以私信噢
ESP32的基础代码:
#include <Arduino.h>
#include <BluetoothSerial.h>
BluetoothSerial SerialBT;
void setup()
{
Serial.begin(115200);
SerialBT.begin("BAKUMAN"); // 如果没有参数传入则默认是蓝牙名称是: "ESP32"
// SerialBT.setPin("1234"); // 蓝牙连接的配对码
Serial.printf("BT initial ok and ready to pair. \r\n");
}
void loop()
{
if (Serial.available())
{
SerialBT.write(Serial.read());
}
if (SerialBT.available())
{
Serial.write(SerialBT.read());
}
delay(1);
}
51单片机的部分代码:
#include<reg52.h>
#include <intrins.h>
typedef unsigned int uint;
typedef unsigned char uchar;
sbit led0 = P0^0;
sbit led1 = P0^2;
sbit led2 = P0^4;
uint pass = 0;
void UART_init() //?????? ????11.0592MHZ
{
TMOD = 0x20;
TH1 = 0xfd;
TL1 = 0xfd; //???9600
SM0 = 0;
SM1 = 1; // ??????1 10???
REN = 1; //??????
TR1 = 1;
EA = 1;
ES =1 ; //????
}
void delay(unsigned int xms)
{
unsigned int i,j; //?????????i(???0~65535)
for(i=xms;i>0;i--) //??xms????x??
for(j=115;j>0;j--); //??1ms(?i?1ms????,????????i--??115??1ms)
}
void huxideng()
{ uint i;
for(i=500;i<=2000;i=i+500)
{
LED0(); //?
delay(i);
LED1(); //?
delay(2000-i);
}
}
void leftrl()
{
uint i,j;
P0=0xff;//?P2^0~P2^7???????
for(i=0;i<3;i++){
P0=P0<<2;//?P2?????????????????P2
delay(500);
}
P0=0xff;//????LED?
for(j=0;j<3;j++)
{
P0=P0>>2 ;//?P2???????????P2
delay(500);
}
}