电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>覆盆子和Arduino的色光疗法

覆盆子和Arduino的色光疗法

2022-12-12 | zip | 2.23 MB | 次下载 | 免费

资料介绍

描述

技术如何帮助我们改善生活?

这是我在考虑要实现的新项目时问自己的问题。

每天我花很多时间在电脑前工作,我希望科技能“照顾”我,试着了解我的心情,找到让我放松和快乐的方法。

我的电脑如何解读我的表情并让我感觉良好?

答案很明确……使用Microsoft 认知服务和我最喜欢的小工具(Raspberry 和 Arduino)。

说说我的项目吧,走吧!

理念

在色光疗法中,每种颜色都与个人特定的心理和精神特征相关,支持者认为同样会对身体机能产生特殊影响。

没有临床或科学证据证明这些未经证实的断言的优点。

然后,每种颜色都与特定属性相关联,通常基于简单的心理类比。

我创建了一个系统,能够看到我的表情,了解我是否快乐,并决定房间的最佳颜色是什么,以改变我的心情。

我认为它非常酷!!!

硬件设置

我的硬件如下图

 
poYBAGONY4SAD-X3AAfXqmH5zVo260.png
图式
 

软件

阿杜诺

第一步是在我的设备(Raspberry 和 Arduino)之间建立通信为此,我决定使用SoftwareSerial Library。我受到David Jones ProjectJiong Shi主持的项目的启发

下一步是更改我的蓝牙设备的默认名称。模块的默认名称是HC-05 ,这并不酷!

要更改蓝牙模块的名称,我们应该学习和使用 AT 命令。有关 AT 命令以及如何使用 Arduino 和蓝牙模块使用它们的更多信息请参阅此链接。

正如我所说,Raspberry 和 Anrduino 之间的通信是由蓝牙连接组成的。我决定在 UWP 应用程序中实现一种方法,将包含 3 个字符(相当于 3 个字节)的字符串发送到 Arduino,Arduino 接收并解码输入数据。

仅供参考,一段Arduino解码代码如下所示(完整源码见下方代码部分):

if (BTSerial.available())
{ 
	// Read string from Raspberry 
	delay(10); 
	ch1 = BTSerial.read(); 
	delay(10); 
	ch2 = BTSerial.read(); 
	delay(10); 
	ch3 = BTSerial.read(); 
	delay(10); 
	if (ch1 == '1') 
		digitalWrite(GREEN, HIGH); 
	else 
		digitalWrite(GREEN, LOW); 
	if (ch2 == '1') 
		digitalWrite(BLUE, HIGH); 
	else 
		digitalWrite(BLUE, LOW); 
	if (ch3 == '1') 
		digitalWrite(RED, HIGH); 
	else 
		digitalWrite(RED, LOW); 
	... 
	... 
	... 
} 

现在是时候创建一个新的解决方案并实现我们的代码了!

通用 Windows 平台应用程序

我决定探索 Microsoft 的Emotion API (有关 SDK 的更多详细信息,请参阅链接)。

 
 
 
 
poYBAGOSzPuAGsLCAADvetmW7qU185.png
 
1 / 2图 1 - Emotion Api 标头
 
如果您从头开始创建 UWP 项目,则必须安装“Oxford”包,在 Visual Studio 中打开“NuGet 包管理器控制台”并键入Install-Package Microsoft.ProjectOxford.Emotion

确保您已通过 Azure 生成了情感服务密钥。为此,转到并单击“在 Azure 上购买”

 
poYBAGOSzP-ARys4AACONwAuAiw038.png
在 Azure 上购买
 

然后,您将被重定向到您的 Azure 帐户,现在您必须编译一些字段,如下所示,我使用了“免费定价层”,每月允许您进行 30000 次图像交易。(如果您没有免费的 Azure 帐户,请访问此链接

 
pYYBAGOSzQKAGpphAACFTRBp92I494.png
Azure - 在您的 Azure 中创建认知服务
 

现在探索您在 Azure 中的认知服务帐户并转到密钥部分。

 
pYYBAGOSzQeAE4yXAACpYbJhwqo920.png
Azure - 复制你的密钥
 

有 2 个键,选择一个并在以下字符串中“复制并粘贴” MainPage.xaml.cs中的值:

string subscriptionKey = "xxxxxxxxxxxxxxxxxxx";

UWP 必备

要访问蓝牙和其他各种功能,如网络摄像头、图片等,我们需要在“ Package.appmanifest ”文件中提及它们。

为此,请按照提到的步骤操作:

 
pYYBAGOSzQuAHbHkAAG8BqgirsE588.png
设备能力
 

代码片段:

<Capabilities>
  <Capability Name="internetClient" /> 
  <uap:Capability Name="picturesLibrary" /> 
  <uap:Capability Name="removableStorage" /> 
  <DeviceCapability Name="bluetooth.rfcomm"> 
    <Device Id="any"> 
      <Function Type="name:serialPort"/> 
    Device> 
  DeviceCapability> 
  <DeviceCapability Name="webcam" /> 
  <DeviceCapability Name="microphone" /> 
Capabilities>

基本理念(图像捕捉、UWP 应用程序)

我们需要将捕获的图像转换为 MemoryStream。为此:

var reader= new Datareader(photoStream.GetInputStreamAt(0);
var bytes = new byte[photoStream.Size];
await reader.LoadAsync((uint)photoStream.Size);
reader.ReadBytes(bytes); 
var stream = new MemoryStream(bytes);

所以现在,使用一次调用,您可以从 Azure 检索情绪结果:

Emotion[] emotionResult;           
emotionResult = await emotionServiceClient.RecognizeAsync(stream);

硬件

 
 
 
 
poYBAGOSzTSAd76LAAjWTZOkKa8098.jpg
 
1 / 3色光疗法系统视图 1
 

UWP应用程序

在第一张图片中,您可以看到应用程序启动屏幕。在左侧,它显示从网络摄像头捕获的图片。在中间的情绪状态和右侧,您可以配置与 Arduino 的蓝牙连接。

 
 
 
 
pYYBAGOSzTeAH5hwAAA6ZIrwT6o168.png
 
1 / 4图 1 - 应用布局
 

每次获取图像时,系统都会评估打开灯光的最佳颜色,并通过蓝牙将其发送到 Arduino。(正如您从后面的代码中看到的那样,我创建了一个每 10 秒捕获一次图片的计时器。)

目前UWP应用程序在我的PC上运行,因为它很容易截图,但它是一个UWP应用程序,所以在Raspberry上部署应用程序不是问题。

目前,系统管理以下 3 种颜色,但创建逻辑非常容易,您会更喜欢:

if (emotionResult[0].Scores.Happiness >= 0.85) 
{ 
	Send("111"); 
} 
else if (emotionResult[0].Scores.Happiness >= 0.50 && emotionResult[0].Scores.Happiness < 0.85) 
{ 
	Send("001"); 
} 
else if (emotionResult[0].Scores.Happiness > 0.25 && emotionResult[0].Scores.Happiness < 0.50) 
{ 
	Send("100"); 
} 
else 
{ 
	Send("110"); 
} 

我假设颜色组合为:

000 = Cyan
001 = Light green  // Mild Happy
010 = Violet
011 = Red
100 = Light blue   // Neutral
101 = Green
110 = Blue
111 = OFF          // Happy
如您所见,如果您快乐,则不需要点亮 :)

让我们看看实际效果

 

未来发展

  • Emotion Api 能够确定图像帧中每个人的状态分数。所以你将能够确定幸福的平均值 :) 并决定打开你房间的最佳颜色
  • 为硬件创建一个漂亮的包装器
  • 在这个项目中,我只评估“幸福”,但您可以尝试开发一种算法,考虑 API 中可用的所有状态……这非常简单!

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费