给失眠者支个‘招’

2020-01-231.1万
AI 快速预览详细 收起
本项目通过Arduino Uno、DF MP3模块、麦克风模块、12V LED和场效应管IRF520,模拟自然界的雷电交加环境,帮助失眠者放松。项目中使用声音传感值550为测量点,大于这个值就让LED亮,亮的时间控制在0.2秒一次。适用于希望改善睡眠质量的成人。
大家都知道睡眠障碍患者普遍都面对到的问题之一是:难以进入放松状态。或因病痛,或思虑过多。本项目试图提供一个思路。从放松方式来入手。来改变人的放松方式。
大家都有在雷雨天入睡快的经历。这个项目就是模拟自然界的雷电交加来模拟一个放松环境。

硬件清单:
1.Arduino Uno
给失眠者支个‘招’图1
2.DF MP3
给失眠者支个‘招’图2
3.麦克风模块
给失眠者支个‘招’图3
4.12V led
给失眠者支个‘招’图4
5.场效应管IRF520
给失眠者支个‘招’图5
电路图
给失眠者支个‘招’图6
代码
[mw_shl_code=applescript,false]/*
gada888- 1-18-2020

thunder for Soothing

*/
#include <SoftwareSerial.h>
SoftwareSerial Serial1(10, 11);
unsigned char order[4] = {0xAA,0x06,0x00,0xB0};

const int buttonPin = 3;

int buttonState = 0;

int button = 0;

int busyPin = 9;

int ledPin = 12;

int sensorPin = A1;

int sensorValue = 0;

int bsy = 0;
//***************************************SETUP*************************************

void setup () {
Serial.begin (115200);
Serial1.begin (9600);

volume(0x1E);//闊抽噺璁剧疆0x00-0x1E

pinMode(buttonPin, INPUT);

pinMode(ledPin, OUTPUT);

pinMode(busyPin, INPUT);

pinMode(buttonPin, INPUT);
}

//.......................................LOOP................................................

void loop () {

Serial.println("");

//Serial.println("Waiting for Button Push");

do {

button = digitalRead(buttonPin);

}
while (button == 0);

//Serial.println("Button Hit");

play(0x01);//鎸囧畾鎾斁:0x01-鏂囦欢0001


do{

sensorValue = analogRead (sensorPin);

Serial.print(sensorValue);

Serial.print(" ");

if (sensorValue >= 550) {

Serial.println("thunder! ");

digitalWrite(ledPin, HIGH);

delay (250);

}

if (sensorValue <= 550) {

Serial.println("No sound! ");

digitalWrite(ledPin, LOW);

delay (250);

Serial.println (sensorValue, DEC);

}

bsy = digitalRead(busyPin);

}while (bsy == 0); // zero when sound active

//delay (360000);
}

void play(unsigned char Track)
{
unsigned char play[6] = {0xAA,0x07,0x02,0x00,Track,Track+0xB3};//0xB3=0xAA+0x07+0x02+0x00,鍗虫渶鍚庝竴浣嶄负鏍¢獙鍜?
Serial1.write(play,6);
}
void volume( unsigned char vol)
{
unsigned char volume[5] = {0xAA,0x13,0x01,vol,vol+0xBE};//0xBE=0xAA+0x13+0x01,鍗虫渶鍚庝竴浣嶄负鏍¢獙鍜?
Serial1.write(volume,5);
}[/mw_shl_code]

运行代码
给失眠者支个‘招’图7==============
代码解释:
1.设置开关的目的:不想让项目一通电就播放雷电声。
2.用声音传感值550为测量点。大于这个值就让LED亮。亮的时间控制的0.2秒一次。
==============
硬件连线
给失眠者支个‘招’图8
项目展示
给失眠者支个‘招’图9



创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(4)
帅猫
帅猫
你写MP3模块会S吗???
帅猫
帅猫
电路图可以画好一点吗?:P
帅猫
帅猫
雷雨天入睡快是因为雨水与空气摩擦或雷电电离空气产生的负离子对神经有压抑作用,让人放松,这种模拟可能只会吵得人睡不着觉:-P
kylinpoet
kylinpoet
这个好,必须支持。
- 没有更多了 -