Arduino 实现手机WIFI控制LED灯
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编号:
密级:内部公开《手机WIFI控制LED灯》技术说明
一、方案概要
WIFI模块的串口和Arduino控制板的2号串口连接,并将WIFI模块设定为AP模式,就可以通过手机连上此WIFI模块来控制Arduino控制板上的LED指示灯。
硬件准备:
1、Arduino MEGA 2560 控制板 --- 1块
2、WIFI模块(HLK-RM04) --- 1块
3、5V电源适配器 --- 1个
4、USB AB型转换线 --- 1根
5、RS232转USB转换线 --- 1根
6、杜邦线 --- 2根
7、手机
二、实现过程
WIFI模块调试:
Wifi模块相关资料已经归档到此技术方案的 [HLK-RM04 wifi模块] 文件夹中,可以参阅此wifi模块的其他功能。下面来说明实现此方案时,需要对该模块进行的具体调试方法(通过串口配置)。
步骤:
1、先确保模块是出厂默认值。恢复出厂设置方法,给模块上电,等待 35 秒钟。然后按住wifi模块上的Default按钮超过 6 秒钟即可。
图 1
2、重新给模块上电,等待重新给模块上电,等待 35s ,待模块上的灯闪烁后。用 DB9 串口和电脑的串口用直连线连接起来。或者直接用 USB 转串口线连接到 HLK-RM04 的底板。如图1所示。打开电脑的设备管理查看端口号,如图2所示。
图 2
3、短按“ E xit/ Default”按钮,打开配置软件,选择串口号,点击搜索模块按钮,打开配置软件,选择串口号,点击搜索模块,在命令执行与回复返回框里有 (:Found Device at COM1(115200)! 消息出现,证明找到模块。
图 3
4、配置参数:
工作模式选择:无线 AP 模式
网络协议选择: TCP 服务器
远端 IP:作为服务器的时候远端 IP 不起作用
端口:TCP 服务开启的监听端口设为 8080
串口参数:根据自己的需要修改成自己需要的参数
网络参数:IP: 这与默认的不同。默认的是子网掩码:如图4所示,选择好配置的参数后,提交配置。
图 4
5、等待几秒后,用手机搜索空间内的WIFI信号会发现,刚才所创建的WIFI,如图5输入设定的密码后就可以连上WIFI了。
图 5
6、现在可以进行wifi转串口的测试了。在电脑端打开串口通信软件,此例中使用的是Arduino IDE的串口监视器,注意串口波特率需和图4中的设置一致。手机端需下载TCP测试工具App。测试结果OK,如图6所示。
图 6
接线原理:
本实验的接线方式非常简单,将wifi模块的串口的RX、TX和Arduino控制板的2号串口的RX、TX进行交叉连接即可。wifi模块的RX接控制板的TX,wifi模块的TX接控制板的RX。
程序流程:
Arduino控制板的2号串口接收到“on”,控制板的13号脚输出高电平,点亮LED灯;当接收到“off”,控制板的13号引脚输出低电平,熄灭LED灯。下面是具体的代码。
String inString = "";
int LED = 13; // 控制13脚的LED灯
void setup() {
// put your setup code here, to run once:
pinMode(LED, OUTPUT);
(9600);
(115200);
}
void loop() {
// put your main code here, to run repeatedly:
while( () )
{
char c = ();
inString += c;
if( c == '\n')
(inString);
}
if( inString == "on" )
{
digitalWrite(LED, HIGH);
}
else if( inString == "off")
{
digitalWrite(LED, LOW);
}
else if(inString == "blink")
{
for(int i = 0; i <= 5; i++) {
digitalWrite(LED, HIGH); delay(500);
digitalWrite(LED, LOW); delay(500);
}
}
delay(1000);
inString = "";
}
附一张整体效果图: