蓝牙和 APPinventor实现一键SOS求救(Arduino)
大家好,最近准备参加学校的比赛,做了一个项目,需要用到一键SOS求救,可实现手机自动拨打电话。中途遇到一些问题,所以想记录下来。希望可以帮到大家。
Arduino板和蓝牙还有按键的连接
蓝牙--------------------------------------Arduino-------------------------------按键
VCC--------------------------------------3.3V-----------------------------------VCC
GND--------------------------------------GND----------------------------------GND
TX-----------------------------------------RX(0)
RX-----------------------------------------TX(1)
--------------------------------------------引脚2------------------------------信号线S
(这里要注意给Arduino板上传数据时,要拔掉蓝牙的RX和TX,否则程序就会上传失败)
这里附上Arduino代码
const int buttonPin = 2; // 连接按键的引脚
// 变量定义
int buttonState = 0; // 存储按键状态的变量
int i=0;
int x=0;
void setup() {
// 初始化LED引脚为输出状态
Serial.begin(9600);
pinMode(buttonPin, INPUT);
}
void loop(){
// 读取按键状态并存储在变量中
buttonState = digitalRead(buttonPin);
// 检查按键是否被按下
// 如果按键按下,那buttonState应该为高电平
if (buttonState == HIGH)
{
delay(500);
x++;
Serial.print("1"); //Arduino连接的蓝牙给APP端的蓝牙传输数据
Serial.print("1");
}
else
{
x=0;
delay(500);
}
if(x==0)
{
Serial.print("0");
delay(1000);
}
}
我这里设置了两个变量传给蓝牙,具体原因请参考APP端的代码块
APPinventor端代码块
这里是appinventor的网页链接https://app.wxbit.com/login/
点击逻辑设计
最后,按下按键(持续1s左右),打开Arduino串口检测,当手机APP的标签1和标签2的显示文本都为1时,就可以自动拨打电话。
所有部分都已经过实际检测,可用。
作者比较菜,勿喷。有什么问题可以在下面讨论。谢谢!
参考链接https://www.arduino.cn/thread-75504-1-1.html