flash做安卓游戏下载网站,网站一个人可以做吗,怎么做旅行网站,wp网站模板一,意图
通过手机蓝牙连接WeMosD1R32开发板,开发板又通过TTL转USB与电脑连接.手机通过蓝牙控制开发板上的LED灯的开,关,闪等动作,在电脑上打开串口监视工具观察其状态.也可以通过电脑上的串口监视工具来控制开发板上LED灯的动作,而在手机蓝牙监测工具中显示灯的状态.
二,原料…一,意图
通过手机蓝牙连接WeMosD1R32开发板,开发板又通过TTL转USB与电脑连接.手机通过蓝牙控制开发板上的LED灯的开,关,闪等动作,在电脑上打开串口监视工具观察其状态.也可以通过电脑上的串口监视工具来控制开发板上LED灯的动作,而在手机蓝牙监测工具中显示灯的状态.
二,原料:
手机,TTL转USB转换器模块,WeMosD1R32开发板,电脑,杜邦线 三,连线
1,实物连线图 2,逻辑连线图 连线时注意:
一定要连接5V线,因为要为开发板供电.3V3可能无法工作.TXD和RXD连接时一定要交叉. 四,操作
1,连接好USB转TTL模块和WeMosD1R32开发板;
2,将USB插入电脑;
3,在电脑设备管理器中端口项目中,找到CH340对应的端口;
4,打开串口检测工具(通讯猫, sscom,等等);此实验采用的是arduino IDE的串口检测接口.
5,打开手机蓝牙,连接WeMosD1R32.设置好相关参数. 本实验设置如下: 发送 H. 发送1 L. 发送2 F. 发送3 B.
6,点击手机蓝牙工具按钮,观察电脑串口显示界面中的信息. (切图有误,下面的红色方框内应该是:H.L.F.B.) 五,程序代码
/*WeMos D2 R32将蓝牙输入信息转换为电脑串口输出信息将蓝牙输出信息转换为电脑串口输入信息通过RS485连线,控制WoMos的板载LED灯,然后返回相关的信息本程序只是简单地从串口接收命令.H openL closeF flickerB blink*/
#include BluetoothSerial.h
#include Ticker.h#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth is not enabled! Please run make menuconfig to and enable it
#endifBluetoothSerial SerialBT;Ticker flipper;#define LED_BUILTIN 2 // Set the GPIO pin where you connected your test LED or comment this line out if your dev board has a built-in LED
void flip() {int state digitalRead(LED_BUILTIN); // get the current state of GPIO1 pindigitalWrite(LED_BUILTIN, !state); // set pin to the opposite state
}void setup()
{Serial.begin(9600);SerialBT.begin(WeMosD1R32); //Bluetooth device nameSerialBT.println(The device started, now you can pair it with bluetooth!);pinMode(LED_BUILTIN, OUTPUT);//Serial.println();//Serial.println(Device is ready...);
}void loop()
{String cstr ; // 用来保存客户端发来的数据//直接读取一行//String strSerial.readString();//按指定字符分割读取比如‘.’//String strSerial.readStringUntil(.);String BTLine,PCLine;if (SerialBT.available()) { // 检查蓝牙串口缓存是否有数据等待传输 BTLine SerialBT.readStringUntil(.);SerialBT.print(BT:);SerialBT.println(BTLine);//Serial.print(BT:);//Serial.println(BTLine);cstr BTLine;}if (Serial.available()) { // 检查电脑串口缓存是否有数据等待传输 PCLine Serial.readStringUntil(.);//Serial.print(PC:);//Serial.println(PCLine);SerialBT.print(PC:);SerialBT.println(PCLine);cstr PCLine;}if(cstr.length()0) {if (cstr.startsWith(H)) {flipper.detach();//Serial.println(--开灯);digitalWrite(LED_BUILTIN, HIGH);} else if (cstr.startsWith(L)) {flipper.detach();//Serial.println(--关灯);digitalWrite(LED_BUILTIN, LOW);} else if (cstr.startsWith(F)) {//Serial.println(--闪烁);flipper.attach(0.5, flip);} else if (cstr.startsWith(B)) {//Serial.println(--眨眼);flipper.attach(0.1, flip);} else {//Serial.print(不知道的命令:);//Serial.println(cstr);}// 以下两句为了向另一开发板的串口发送相同的命令Serial.print(cstr);Serial.print(.);}
}后记
本实验的最终目的是将TTL/USB模块换为RS485/USB模块需要考虑连线。后经努力也成功实现了同样的功能。