Arduino懒人叫醒枕头制作
赖床星人的枕头
前言
新的一天,最痛苦的第一件事是什么?想必很多人的答案都是起床。
传统闹钟仅具备定点报时功能,对于睡眠深的人群并不友好,应为睡得太深而听不见闹铃的声音,这样闹钟就失去了其本身的意义。另外如果和他人生活在一起,自己早晨的闹钟铃声也会给他人带来困扰。这个时候一款舒适又具有唤醒功能的振动枕头就成了神器了。
一、整体构思
赖床星人的枕头要实现智能唤醒
-
首先具备传统闹钟定点报时,采用手机app实现闹铃唤醒
为解决铃声打扰他人,该功能可手动选择关闭,换成电机振动唤醒,也解决了睡得太沉而听不到铃声的问题。 -
项目创新点在于采用薄膜压力传感器采集人体是否起床信号控制电机开关。解决了再睡五分钟就关闭闹钟的漏洞
-
app增加备忘录功能,铃响前语音播报备忘录填写内容,提醒重要日程
硬件包括RP-L电阻式压敏传感器、arduino单片机、振动电机、继电器、电源指示灯、蓝牙指示灯等。
软件使用appinventor
二、arduino代码部分
1.
<font color=#999AAA >代码如下(示例):
```c
//压力传感器AO接AO,VCC GND
//继电器NO接点机,COM接VCC,电机另外接GND
//继电器S接D13,+VCC,-GND
#include <Arduino.h>
char order; //定义字符order接收app传回符号+=
int sensorPin = A0; //定义传感器的引脚
#define PRESS_MIN 20
#define PRESS_MAX 6000
#define VOLTAGE_MIN 200 //电压最小200
#define VOLTAGE_MAX 3300//电压最大3300
#define DEBUGSerial Serial
int dianji= 13; //定义电机输出口13
int p; //定义变量接收蓝牙发送的1
void setup()
{
DEBUGSerial.begin(9600);
//Serial.begin(9600); //打开串口(蓝牙)
pinMode(11,OUTPUT); // 定义11脚为输出。(数字或PWM)
digitalWrite(11,LOW); //默认输出低电平
}
void loop()
{
while(Serial.available()>0) //接收字符数大于0
{
order = Serial.read(); //order等于串口读取到数值
Serial.println(order); //输出(order)
}
if(order =='+') //如果order收到+,到定时时间一个小时范围
getPressValue(sensorPin); //调用压力传感器函数
}
long getPressValue(int pin) //压力传感器(接收到蓝牙pin=1)
{
long PRESS_AO = 0;
int VOLTAGE_AO = 0;
int value = analogRead(pin);
VOLTAGE_AO = map(value, 0, 1023, 0, 5000); //0,1023为value的上下界,0,5000为 VOLTAGE_AO的上下界,该函数将value变量值根据范围比例变换后将结果存入VOLTAGE_AO
if(VOLTAGE_AO < VOLTAGE_MIN)
{
PRESS_AO = 0;
}
else if(VOLTAGE_AO > VOLTAGE_MAX)
{
PRESS_AO = PRESS_MAX;
}
else
{
PRESS_AO = map(VOLTAGE_AO, VOLTAGE_MIN, VOLTAGE_MAX, PRESS_MIN, PRESS_MAX);
}
pinMode(dianji,OUTPUT); //电机13脚为输出
digitalWrite(dianji,LOW); //默认输出低电平
if(VOLTAGE_AO > VOLTAGE_MIN) //AO口点平大于200
{
digitalWrite(dianji,HIGH); //电机振动
}
else
{
digitalWrite(dianji,LOW);
}
return PRESS_AO; //返回AO口数值
}
三、appinventor代码块
四、硬件搭建
//压力传感器AO接AO,VCC GND
//继电器NO接点机,COM接VCC,电机另外接GND
//继电器S接D13,+VCC,-GND
振动电机选择震动棒制作专用电机,振感强,保证唤醒
第一代
第二代
最后,考虑到电机放于枕头里的使用舒适性,用3D打印了电机的外壳,参照市面上的按摩枕头体感做成拱形结构,不隔头。
好啦接下来就可以把这套装备放进你的枕头里啦!
补充:蓝牙AT
使用ch340串口调试,安装ch340
1、接线
T R反接
5V接VCC
GND接GND
3.3V接EN
STATE不接
2、在XCOM中进行AT
波特率38400
发送AT返回OK//进入AT模式
发送AT+ORGL//初始化
发送AT+NAME?//返回名字
发送AT+NAME=hello//起名字为hello
发送AT+ROLE?//询问主从模式,1为主0为从默认出场是从,主是它搜别人,从是别人搜它,我们需要它从
发送AT+PSWD=1234//密码设为1234
发送AT+UART=9600,0,0//波特率9600