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

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

3天内不再提示

使用Arduino和蓝牙的手机控制交流电的教程

科技观察员 来源:circuitdigest 作者:阿斯文斯·拉吉 2022-11-24 17:53 次阅读

在当今的现代世界中,无论我们走到哪里,我们周围都有很多电子设备。但是,总而言之,我们个人口袋里一直只有一台设备。是的,这是我们的手机。现在手机已经不仅仅是一种用于通信的设备,它们是我们的相机,它们是我们的地图,它们是我们的购物车,什么不是?

有了这种能力,使用遥控器来控制我们家庭中的任何电子应用程序(如电视、空调、家庭影院等)确实是一个无聊的想法。从舒适的床或沙发上拿起空调遥控器总是令人沮丧的。因此,在这个项目中,我们将建立一个小型设置,您可以使用它使用蓝牙Arduino通过智能手机控制空调。听起来很有趣吧!让我们建立一个

所需材料:

阿杜伊诺超级 2560

TSOP (HS0038)

红外

任何颜色 LED 和 1K 电阻器(可选)

HC-06

面包板

连接线

工作方法:

我们家中用于控制电视、家庭影院、空调等的所有遥控器都在红外发射器的帮助下工作。红外发射器只不过是一个红外 LED,可以通过重复脉冲来冲击信号;该信号将由电子设备中的接收器读取。对于遥控器上的每个不同按钮,将发出一个独特的信号,该信号在接收器读取后用于执行特定的预定义任务。如果我们能够读取从遥控器发出的信号,那么我们可以在需要执行该特定任务时使用红外 LED 模拟相同的信号。我们之前已经为通用红外遥控器和自动交流温度控制制作了红外发射器电路。

pYYBAGN_PxqARRLGAAAy_SSy1DU611.jpg

TSOP是一种红外接收器,可用于解码来自遥控器的信号。我们将使用此 TSOP 解码来自遥控器的所有信息并将其存储在 Arduino 上。然后使用该信息和红外 LED,我们可以在需要时从我们的 Arduino 重新创建红外信号。

poYBAGN_PxuAdg7PAABD7ERMK7g288.jpg

先决条件:

对于此Arduino蓝牙控制AC项目,请确保您拥有ArduinoMega而不是任何其他版本的Arduino,因为代码大小很重。使用此链接安装 IR 远程库以使用 TSOP 和 IR 发射器。

交流遥控器的工作:

在我们进入项目之前,请花一些时间并注意您的交流遥控器的工作原理。与电视、DVD 红外遥控器相比,交流遥控器的工作方式略有不同。遥控器上可能只有 10-12 个按钮,但它们将能够发送许多不同类型的信号。这意味着遥控器不会每次为同一按钮发送相同的代码。例如,当您使用向下按钮降低温度使其为 24°C(摄氏度)时,您将获得带有一组数据的信号,但是当您再次按下它以设置 25°C 时,您将不会获得相同的数据,因为温度现在是 25 而不是 24。同样,25 的代码也会因不同的风扇速度、睡眠设置等而异。因此,我们不要摆弄所有选项,而只是将温度值与其他设置的恒定值集中在一起。

另一个问题是每次按下按钮发送的数据量,普通遥控器发送 24 位或 48 位,但交流遥控器最多可以发送 228 位,因为每个信号都包含大量信息,如温度、风扇速度、睡眠时间、摆动风格等。这就是为什么我们需要Arduino Mega以获得更好的存储选项的原因。

电路图及说明:

幸运的是,这款手机控制空调的硬件设置非常简单。您可以简单地使用面包板并进行连接,如下所示。

pYYBAGN_PxyAGvykAAB2YFHn6pk760.png

下表还可用于验证连接。

S.No: 元件引脚 阿杜伊诺引脚
1 TSOP – Vcc 5V
2 TSOP – Gnd 格德
3 TSOP - 信号 8
4 红外发光二极管 – 阴极 格德
5 红外发光二极管 – 阳极 9
6 HC-05 - 真空吸管 5V
7 HC05 – 钕
8 HC05 – 发射 10
9 HC05 – 接收 11

连接完成后,它应该如下所示。我使用面包板来整理东西,但您也可以直接将公对母线连接到所有组件

poYBAGN_Px-AemrLAADJEQo4M5c70.jpeg

解码交流远程信号:

控制交流电的第一步是使用 TSOP1738解码交流遥控红外代码。按照电路图中所示进行所有连接,并确保已安装所有提到的库。现在打开示例程序“IRrecvDumpV2”,可以在文件 -> 示例 -> IRremote -> IRrecvDumpV2 中找到。

int recvPin = 8; IRrecv irrecv(recvPin);

由于我们的 TSOP 连接到引脚 8,请将行号 9 更改为 int recPin=8,如上所示。然后将程序上传到Arduino Mega并打开串行监视器。

将遥控器指向 TSOP 并按任意按钮,对于您按下的每个按钮,信号将由 TSOP1738 读取,由 Arduino 解码并显示在串行监视器中。对于遥控器温度的每次变化,您将获得不同的数据。保存此数据,以便我们将在主程序中使用它。您的串行监视器将看起来像这样,我还显示了保存复制数据的Word文件。

pYYBAGN_PyKAbBIZAADn-5pIOjg174.png

屏幕截图显示了将我的交流遥控器的温度设置为 26°C 的代码。根据您的遥控器,您将获得一组不同的代码。同样,复制所有不同温度水平的代码。您可以在本教程末尾给出的Arduino代码中检查所有空调遥控器IR代码。

主要Arduino程序:

完整的Arduino主程序可以在此页面的底部,但不能使用相同的程序。您必须更改我们刚刚从示例草图中获取的信号代码值。打开Arduino IDE上的主程序,然后向下滚动到下面显示的该区域,您必须将数组值替换为为遥控器获得的值。

poYBAGN_PySAIa9nAADPFuRyUms727.png

请注意,我使用了 10 个阵列,其中两个用于打开和关闭 AC,而其余 8 个用于设置不同的温度。例如,Temp23 用于在 AC 上设置 23*C,因此请使用该数组中的相应代码。完成后,您只需将代码上传到Arduino即可。

我们需要为这个项目导入两个库。一个是我们刚刚添加到Arduino的IRremote库,另一个是内置的软件串行库,可帮助我们使用蓝牙模块。

#include //Lib for IT Blaster and TSOP #include // import the serial library

接下来,我们在引脚 10 和 11 上初始化蓝牙模块,然后使用名为 irsend 的对象访问库的所有 IR 功能.

SoftwareSerial BT_module(10, 11); // RX, TX IRsend irsend;

接下来是非常重要的代码行。这是控制空调的信息所在的地方。下面显示的那个是我的AC遥控器,您应该在上一步中获得了您的。

pYYBAGN_PyWAPJ3AAACtux6aNyQ55.jpeg

接下来在 void 设置函数中,我们初始化两个串行通信。一个是9600波特率的蓝牙,另一个是57600波特率的串行监视器。

void setup()
{
BT_module.begin(9600); //BT works on 9600
Serial.begin(57600); //Serial Monitor work son 57600
}
在我们的空白循环中 (无限循环), 我们检查蓝牙模块是否收到任何内容.如果收到任何内容,我们将该信息存储在变量蓝牙数据中。

while (BT_module.available()) //If data is coming
{
BluetoothData=BT_module.read(); //read it and save it
Serial.println(BluetoothData); //print it on serial for testing purpose
}

蓝牙收到的信息将基于我们将在下一步中安装的Android应用程序上按下的按钮。收到信息后,我们只需要触发相应的IR代码,如下所示

if (BluetoothData == '2')
{
irsend.sendRaw(Temp23, sizeof(Temp23) / sizeof(Temp23[0]), khz); delay(2000);//Send signal to set Temperatue 23C
}

在这里,如果收到代码“2”,我们必须将空调的温度设置为 23°C。 同样,我们有从 0 到 9 的代码来执行 AC 的所有基本控制功能。您可以参考本页末尾的完整 arduino 代码。

安装安卓应用程序:

智能手机控制空调的最后一步是安装Android应用程序。此项目的 Android 应用程序是使用处理 Android 模式创建的。处理是为您的嵌入式项目创建.EXE文件或APK文件的绝佳工具。它是一个开源平台,就像Arduino一样,因此完全免费下载使用。

如果您不想太深入,只需从zip文件中下载APK文件并将其直接安装在手机上即可。打开应用程序,您将看到如下所示的屏幕,之后您可以继续下一步并享受使用该项目的乐趣。但是,如果您想调整应用程序的程序以使其适合您的需要,那么您可以进一步阅读。

pYYBAGN_PlSAf6mXAAG_C9_N6mw522.png

可以从此处下载用于处理代码的完整程序文件。此 Zip 将具有应用程序工作所使用的代码和图像源。打开代码后,您可以调整以下行以根据需要进行调整。

如前所述,处理类似于Arduino。因此,它还具有空隙设置和空隙循环(此处绘制)功能。在void设置功能中,我们将指示手机蓝牙连接到Arduino的蓝牙。我的设备名称是“HC-05”,所以我的代码行将是

bt.start(); //start listening for BT connections
bt.getPairedDeviceNames();
bt.connectToDeviceByName("HC-05"); //Connect to our HC-06 bluetooth module
接下来,在 load_buttons() 函数中,您可以根据需要绘制任意数量的按钮。我已经绘制了10个按钮,如应用程序上所示。其次,我们有 read_buttons() 函数,用于检测您正在触摸哪个按钮。每个按钮都有特定的颜色,因此当用户触摸屏幕时,我们会检查他触摸了哪种颜色,并确定他触摸了哪个按钮。创建按钮并根据颜色选择按钮的示例代码如下所示

fill(255,145,3);
rect(width/2-width/4,height/2,width/4,height/12); fill(255); text("25C",width/2-width/4,height/2); //button 5
if (color_val==-13589993)
{byte[] data = {'0'};
bt.broadcast(data);}

“byte[] data = {'0'};” 行是非常重要的一行。这是我们决定必须通过蓝牙将哪些代码发送到Arduino的地方。在这里,如果按下此按钮,字符“0”将从蓝牙发送到Arduino。同样,我们可以为不同的按钮发送不同的字符。然后可以在Arduino端比较这些字符,并可以采取相应的操作。

继续摆弄代码,如果您有任何疑问,请通过评论部分与我联系,并会尽力帮助您。

手机控制交流电工作:

一旦你准备好你的硬件,Arduino代码和Android应用程序,就该享受输出了。将 Arduino 代码上传到您的硬件,并将其面向您的交流电。现在在手机上打开android应用程序,如果一切按预期工作,您应该看到“连接到:device_name(一些代码)”,如下所示

poYBAGN_PyeAYd_2AAARVSUVCp828.jpeg

现在,只需按下Android应用程序上的任何按钮,它就会触发AC上的相应操作,就像您在使用遥控器一样。您可以通过修改代码来添加任意数量的按钮,甚至可以根据您的室温或状态自动使用空调。

/*

*Bluetooth AC Temperature control using Arduino and TSOP

* Code by: Aswinth Raj B

* Dated: 25-11-2017

* Website: www.circuitdigest.com

*

S.No: Component Pin Arduino Pin

1 TSOP – Vcc 5V

2 TSOP – Gnd Gnd

3 TSOP - Signal 8

4 IR Led – Cathode Gnd

5 IR Led – Anode 9

6 HC-05 - Vcc 5V

7 HC05 – Gnd Ground

8 HC05 – Tx 10

9 HC05 – Rx 11



*/


#include //Lib for IT Blaster and TSOP

#include // import the serial library


SoftwareSerial BT_module(10, 11); // RX, TX

IRsend irsend;


int khz = 38; // 38kHz carrier frequency for the NEC protocol

char BluetoothData; // the data read by Bluetooth Module

int PevData;


//Decoded Remote Signals For my AC ##CHANGE IT FOR YOUR REMOTE

unsigned int ACoff[] = {2950,1750, 400,1100, 450,1050, 450,400, 400,400, 400,400, 450,1100, 400,400, 400,400, 450,1100, 400,1100, 450,350, 450,1100, 400,400, 400,400, 450,1100, 400,1100, 450,400, 400,1100, 400,1100, 450,400, 400,400, 400,1100, 450,350, 450,400, 400,1100, 450,400, 400,400, 400,400, 450,350, 450,350, 450,400, 400,400, 450,350, 450,400, 400,400, 400,400, 450,350, 450,400, 400,400, 400,400, 450,400, 400,400, 400,400, 450,350, 450,350, 450,1100, 400,400, 450,400, 400,1100, 450,1050, 450,400, 400,400, 400,400, 450,350, 450,400, 400,400, 450,350, 450,400, 400,400, 400,1100, 450,350, 450,400, 400,400, 400,400, 450,400, 400,1100, 450,350, 450,400, 400,400, 400,400, 400,1100, 450,400, 400,400, 450,350, 450,400, 400,400, 400,400, 450,350, 450,350, 450,400, 400,400, 450,350, 450,400, 400,400, 400,400, 450,350, 450,400, 400,400, 450,350, 450,400, 400,400, 400,400, 450,350, 450,350, 450,400, 450,350, 450,350, 450,400, 450,350, 450,350, 450,350, 450,400, 450,350, 450,350, 450,400, 400,1100, 450,350, 450,350, 450,400, 450,350, 450,350, 450,1100, 450};

unsigned int ACon[] = {2950,1700, 450,1100, 400,1100, 450,350, 450,350, 450,400, 450,1050, 450,350, 450,400, 450,1050, 450,1100, 400,400, 450,1050, 450,350, 450,400, 400,1100, 450,1100, 450,350, 450,1050, 450,1100, 450,350, 450,350, 450,1100, 450,350, 400,400, 450,1100, 450,350, 450,350, 450,400, 400,400, 450,350, 450,350, 450,400, 400,400, 450,350, 450,350, 450,400, 400,400, 450,350, 450,350, 450,400, 450,350, 450,350, 450,1100, 400,400, 450,350, 450,1100, 400,400, 450,350, 450,1100, 400,1100, 450,350, 450,400, 400,400, 450,350, 500,300, 450,400, 450,350, 400,400, 450,1100, 400,400, 450,350, 450,350, 450,400, 400,400, 450,350, 450,1100, 450,350, 400,400, 450,350, 450,400, 450,350, 400,400, 450,400, 450,350, 450,350, 450,350, 450,400, 400,400, 450,350, 450,400, 400,400, 400,400, 400,400, 450,350, 450,400, 450,350, 450,350, 450,400, 450,350, 450,350, 450,350, 450,400, 400,400, 400,400, 450,350, 450,400, 450,350, 400,400, 450,350, 450,400, 450,350, 450,350, 450,350, 450,400, 450,350, 450,1100, 400,400, 400,400, 450,350, 450,350, 450,1100, 400,400, 450};

unsigned int Temp23[] = {3000,1650, 550,950, 550,1000, 500,300, 550,250, 550,250, 550,1000, 500,300, 550,300, 500,1000, 550,950, 550,300, 550,950, 550,250, 550,300, 500,1000, 500,1050, 500,300, 500,1000, 550,1000, 500,300, 500,300, 550,1000, 450,350, 500,300, 500,1050, 450,350, 450,350, 450,350, 450,400, 450,350, 450,350, 450,400, 400,400, 450,350, 450,350, 450,350, 450,400, 400,400, 400,400, 450,400, 400,400, 400,400, 450,1100, 400,400, 400,400, 450,1050, 450,400, 400,400, 450,1100, 400,1100, 400,400, 450,350, 450,400, 400,400, 400,400, 450,400, 400,400, 400,400, 450,350, 450,1100, 400,400, 400,400, 450,350, 450,400, 400,400, 450,1100, 400,400, 400,1100, 450,1100, 400,1100, 450,350, 450,400, 400,400, 450,350, 450,350, 450,400, 400,400, 400,400, 450,350, 450,400, 400,400, 450,350, 450,400, 400,400, 400,400, 450,350, 450,400, 400,400, 450,350, 450,350, 450,400, 450,350, 400,400, 450,350, 450,400, 450,350, 450,350, 450,400, 450,350, 450,350, 450,350, 450,400, 400,400, 400,400, 450,350, 450,1100, 400,1100, 450,1100, 400,1100, 450,1100, 400,1100, 400,400, 450};

unsigned int Temp24[] = {3000,1650, 500,1050, 500,1000, 500,300, 500,300, 500,350, 500,1000, 500,300, 500,350, 500,1000, 500,1050, 500,300, 500,1000, 500,300, 500,350, 500,1000, 500,1050, 500,300, 500,1000, 500,1050, 500,300, 500,300, 500,1050, 500,300, 500,300, 500,1050, 500,300, 500,300, 500,350, 500,300, 500,300, 500,300, 500,350, 500,300, 500,300, 500,300, 500,350, 500,300, 500,300, 500,300, 500,350, 500,300, 500,300, 500,1050, 500,300, 500,300, 500,1050, 500,300, 500,300, 500,1050, 500,1000, 500,300, 500,350, 500,300, 500,300, 500,300, 500,350, 500,1000, 500,1050, 500,1000, 500,300, 500,350, 450,350, 500,300, 500,300, 500,350, 500,1000, 500,300, 500,1050, 500,1000, 500,1050, 500,300, 500,300, 500,350, 500,300, 500,300, 500,300, 500,300, 500,350, 500,300, 450,350, 500,350, 450,350, 450,350, 450,350, 450,400, 400,400, 400,400, 450,400, 400,400, 400,400, 400,400, 450,350, 450,400, 400,400, 450,350, 450,400, 450,350, 450,350, 450,350, 450,400, 450,350, 450,350, 450,350, 500,350, 450,1050, 500,300, 500,1050, 500,1000, 500,1050, 500,1000, 500,1000, 500,350, 550};

unsigned int Temp25[] = {3050,1650, 500,1000, 550,950, 550,300, 500,300, 500,300, 550,1000, 500,300, 500,300, 550,1000, 550,950, 550,250, 550,1000, 500,300, 550,250, 550,1000, 500,1000, 550,300, 550,950, 550,950, 550,300, 500,300, 500,1000, 550,250, 550,300, 550,950, 550,300, 500,300, 500,300, 550,250, 550,300, 500,300, 550,250, 550,250, 600,250, 500,300, 550,250, 550,250, 550,300, 550,250, 500,300, 550,300, 500,300, 500,1000, 550,250, 550,300, 500,1000, 550,250, 550,300, 500,1000, 550,1000, 500,300, 500,300, 550,250, 550,300, 500,300, 500,300, 550,300, 500,1000, 550,950, 550,300, 500,300, 500,300, 550,250, 550,300, 500,300, 550,950, 550,300, 500,1000, 550,1000, 500,1000, 500,300, 550,300, 500,300, 500,300, 550,250, 550,300, 500,300, 500,300, 550,250, 550,300, 500,300, 550,250, 550,250, 550,300, 500,300, 500,300, 550,250, 550,300, 500,300, 550,250, 550,300, 500,300, 500,300, 550,250, 550,250, 550,300, 550,250, 550,250, 550,300, 500,300, 500,300, 550,250, 550,300, 500,300, 500,300, 500,350, 500,1000, 500,1000, 500,1050, 500,1000, 500,1050, 500,300, 550};

unsigned int Temp26[] = {3000,1650, 500,1000, 500,1050, 500,300, 500,300, 500,350, 500,1000, 500,300, 500,350, 500,1000, 500,1050, 450,350, 500,1000, 500,300, 500,350, 500,1000, 500,1050, 500,300, 500,1000, 500,1050, 500,300, 500,300, 500,1050, 500,300, 500,300, 500,1050, 500,300, 500,300, 500,300, 500,350, 500,300, 500,300, 500,350, 500,300, 500,300, 500,300, 500,350, 500,300, 500,300, 500,300, 500,350, 500,300, 500,300, 500,1050, 500,300, 500,300, 500,1050, 450,350, 500,300, 500,1050, 500,1000, 500,300, 500,350, 500,300, 500,300, 500,300, 500,350, 500,1000, 500,300, 500,1050, 500,300, 500,300, 500,300, 500,350, 500,300, 500,300, 500,1050, 500,300, 500,1050, 450,1050, 500,1000, 500,350, 500,300, 500,300, 500,350, 450,350, 500,300, 500,300, 500,300, 500,350, 500,300, 500,300, 500,350, 500,300, 500,300, 500,300, 500,350, 450,350, 500,300, 500,350, 450,350, 500,300, 500,300, 500,300, 500,350, 500,300, 500,300, 500,350, 500,300, 500,300, 500,300, 500,350, 500,300, 500,300, 500,350, 450,1050, 500,1000, 500,350, 500,1000, 500,1000, 500,1050, 500,1000, 500,350, 500};

unsigned int Temp27[] = {3050,1600, 550,1000, 500,1000, 550,300, 500,300, 550,250, 550,1000, 500,300, 550,300, 500,1000, 550,1000, 500,300, 550,1000, 550,250, 500,300, 550,1000, 500,1050, 500,300, 500,1000, 550,1000, 500,300, 550,250, 550,1000, 550,250, 550,300, 500,1000, 550,300, 500,300, 550,250, 550,300, 500,300, 500,300, 550,300, 500,300, 550,250, 550,300, 500,300, 500,300, 550,300, 500,300, 500,300, 550,300, 500,300, 500,1000, 550,300, 500,300, 550,1000, 500,300, 500,300, 550,1000, 550,1000, 500,300, 500,300, 550,250, 550,300, 500,300, 550,300, 500,300, 500,300, 550,1000, 500,300, 550,250, 550,300, 500,300, 500,300, 500,350, 500,300, 550,250, 550,1000, 500,1000, 550,1000, 500,300, 550,300, 500,300, 550,250, 550,300, 500,300, 500,300, 550,300, 500,300, 500,300, 550,300, 500,300, 550,250, 550,300, 500,300, 500,300, 500,300, 550,300, 550,250, 550,300, 500,300, 500,300, 550,300, 500,300, 500,300, 550,300, 500,300, 500,300, 550,300, 500,300, 500,300, 500,300, 500,350, 500,300, 500,350, 500,300, 500,300, 500,1050, 500,1000, 500,1050, 500,1000, 500,350, 500}; // PANASONIC C4D3:64800024

unsigned int Temp28[] = {3100,1600, 550,950, 550,1000, 550,250, 550,250, 550,250, 550,1000, 500,300, 500,300, 550,1000, 500,1000, 550,250, 550,1000, 500,300, 550,250, 550,1000, 550,950, 550,300, 500,1000, 550,950, 550,300, 550,250, 500,1000, 550,300, 500,300, 550,950, 550,300, 500,300, 500,300, 550,250, 550,300, 550,250, 500,300, 550,300, 500,300, 500,300, 550,250, 550,250, 600,250, 500,300, 500,300, 550,300, 500,300, 500,1000, 550,300, 500,300, 500,1000, 550,250, 550,300, 500,1000, 550,1000, 550,250, 550,250, 550,250, 550,300, 500,300, 550,250, 550,1000, 500,1000, 550,250, 550,300, 500,300, 500,300, 550,250, 550,300, 500,300, 550,1000, 500,300, 500,1000, 550,1000, 500,1000, 550,250, 550,300, 500,300, 550,250, 550,250, 550,300, 500,300, 500,300, 550,250, 550,300, 500,300, 550,250, 550,300, 550,250, 500,300, 550,250, 550,250, 550,300, 550,250, 550,250, 550,300, 500,300, 500,300, 550,250, 550,300, 500,300, 550,250, 550,300, 500,300, 500,300, 550,250, 550,250, 550,300, 500,300, 550,1000, 500,300, 500,300, 550,950, 550,1000, 500,1000, 550,1000, 500,300, 550};

unsigned int Temp29[] = {3100,1550, 600,950, 500,1000, 550,300, 500,300, 500,300, 550,950, 550,300, 550,250, 550,1000, 500,1000, 550,250, 550,1000, 500,300, 550,250, 550,950, 600,950, 550,250, 550,1000, 500,1000, 550,250, 600,250, 550,950, 550,250, 550,300, 550,950, 550,250, 550,300, 550,250, 550,250, 550,250, 550,300, 550,250, 550,250, 550,300, 500,300, 550,250, 550,250, 550,300, 500,300, 550,250, 550,250, 600,250, 550,950, 550,250, 550,300, 500,1000, 550,250, 550,300, 550,950, 550,1000, 500,300, 500,300, 550,250, 550,250, 550,300, 500,300, 550,250, 550,1000, 500,300, 550,250, 550,300, 500,300, 550,250, 550,250, 550,300, 500,1000, 550,250, 550,1000, 500,1000, 550,1000, 500,300, 500,300, 550,300, 500,300, 500,300, 550,250, 550,250, 550,300, 500,300, 500,300, 550,300, 500,300, 500,300, 550,250, 550,300, 500,300, 500,300, 550,300, 500,300, 500,300, 550,250, 550,250, 550,300, 500,300, 500,300, 550,300, 500,300, 500,300, 550,250, 550,300, 500,300, 500,300, 550,250, 550,300, 500,300, 550,250, 550,250, 550,1000, 500,1000, 550,1000, 500,1000, 550,300, 500};

unsigned int Temp30[] = {3000,1650, 500,1000, 550,1000, 500,300, 500,300, 550,250, 550,1000, 500,300, 500,300, 550,1000, 550,950, 550,250, 550,1000, 550,250, 550,250, 550,1000, 550,950, 550,300, 500,1000, 550,950, 550,300, 500,300, 550,950, 550,300, 550,250, 550,1000, 500,300, 500,300, 550,250, 550,250, 550,300, 500,300, 550,250, 550,300, 500,300, 500,300, 550,250, 550,300, 500,300, 500,300, 550,300, 500,300, 500,300, 550,950, 550,300, 500,300, 500,1000, 550,250, 550,300, 550,950, 550,1000, 500,300, 550,250, 550,250, 600,250, 500,300, 550,250, 550,1000, 500,300, 550,250, 550,300, 500,300, 500,300, 550,250, 550,300, 500,300, 550,950, 550,300, 500,1000, 550,950, 550,1000, 500,300, 550,300, 500,300, 500,300, 550,250, 550,300, 500,300, 500,300, 550,250, 550,300, 500,300, 500,300, 550,250, 550,300, 500,300, 500,300, 550,250, 550,300, 500,300, 550,250, 550,300, 500,300, 500,300, 550,250, 550,250, 550,300, 500,300, 550,250, 550,300, 500,300, 500,300, 550,250, 550,300, 500,300, 550,950, 500,1050, 500,1000, 500,350, 500,1000, 500,1000, 500,1050, 500,300, 500};

//Change it for your remote





void setup()

{

BT_module.begin(9600); //BT works on 9600

Serial.begin(57600); //Serial Monitor work son 57600

}


void loop()

{

while (BT_module.available()) //If data is coming

{

BluetoothData=BT_module.read(); //read it and save it

Serial.println(BluetoothData); //print it on serial for testing purpose

}


if (BluetoothData != PevData)

{



if (BluetoothData == '0')

{

irsend.sendRaw(ACon, sizeof(ACon) / sizeof(ACon[0]), khz); delay(2000);//Send signal to Turn On the AC

}


if (BluetoothData == '1')

{

irsend.sendRaw(ACoff, sizeof(ACoff) / sizeof(ACoff[0]), khz); delay(2000);//Send signal to Turn on the AC

}


if (BluetoothData == '2')

{

irsend.sendRaw(Temp23, sizeof(Temp23) / sizeof(Temp23[0]), khz); delay(2000);//Send signal to set Temperatue 23C

}


if (BluetoothData == '3')

{

irsend.sendRaw(Temp24, sizeof(Temp24) / sizeof(Temp24[0]), khz); delay(2000);//Send signal to set Temperatue 24C

}


if (BluetoothData == '4')

{

irsend.sendRaw(Temp25, sizeof(Temp25) / sizeof(Temp25[0]), khz); delay(2000);//Send signal to set Temperatue 25C

}


if (BluetoothData == '5')

{

irsend.sendRaw(Temp26, sizeof(Temp23) / sizeof(Temp26[0]), khz); delay(2000);//Send signal to set Temperatue 26C

}


if (BluetoothData == '6')

{

irsend.sendRaw(Temp27, sizeof(Temp27) / sizeof(Temp27[0]), khz); delay(2000);//Send signal to set Temperatue 27C

}


if (BluetoothData == '7')

{

irsend.sendRaw(Temp28, sizeof(Temp28) / sizeof(Temp28[0]), khz); delay(2000);//Send signal to set Temperatue 28C

}


if (BluetoothData == '8')

{

irsend.sendRaw(Temp29, sizeof(Temp29) / sizeof(Temp29[0]), khz); delay(2000);//Send signal to set Temperatue 29C

}


if (BluetoothData == '9')

{

irsend.sendRaw(Temp30, sizeof(Temp30) / sizeof(Temp30[0]), khz); delay(2000);//Send signal to set Temperatue 30C

}



}


PevData = BluetoothData;



delay(100);// prepare for next data ...

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 智能手机
    +关注

    关注

    66

    文章

    18487

    浏览量

    180175
  • 蓝牙
    +关注

    关注

    114

    文章

    5820

    浏览量

    170260
  • 遥控器
    +关注

    关注

    18

    文章

    836

    浏览量

    66097
  • Arduino
    +关注

    关注

    188

    文章

    6469

    浏览量

    187016
收藏 人收藏

    评论

    相关推荐

    如何使用Arduino制作一个交流电压测量设备

    在这个项目中,我们将使用Arduino制作一个交流电压测量设备, 该设备将测量我们家中交流电源的电压。我们将在Arduino IDE的串行监视器上打印该电压,并在万用表上显示。
    发表于 01-25 17:41 6199次阅读
    如何使用<b class='flag-5'>Arduino</b>制作一个<b class='flag-5'>交流电</b>压测量设备

    交流电Arduino与TRIAC和Optotriac

    描述交流电Arduino与TRIAC和Optotriac
    发表于 08-29 06:01

    交流电动机传动调压调速控制

    交流电动机传动调压调速控制3.1交流电动机传动开环调压调速控制3.2交流电动机传动转速闭环调压调速控制
    发表于 12-05 17:01 12次下载
    <b class='flag-5'>交流电</b>动机传动调压调速<b class='flag-5'>控制</b>

    交流电动机传动调压调速控制

    交流电动机传动调压调速控制3.1交流电动机传动开环调压调速控制3.2交流电动机传动转速闭环调压调速控制
    发表于 12-05 17:01 22次下载
    <b class='flag-5'>交流电</b>动机传动调压调速<b class='flag-5'>控制</b>

    交流电机直接转矩控制

    交流电机直接转矩控制
    发表于 01-21 11:54 1次下载

    交流电如何控制电流

    通常在我们生活中所说的交流电也就是工频交流电,也就是50HZ的交流电。但实际上,我们交流电的频率很多时候不仅仅只有50HZ,有时候还有1000HZ.不管是50HZ还是1000HZ,最终
    的头像 发表于 08-22 10:10 1.2w次阅读

    交流电机矢量控制

    交流电机矢量控制说明。
    发表于 05-19 10:28 13次下载

    交流及正弦交流电

    交流及正弦交流电(深圳市核达中远通电源技术有限公司电话多少)-交流及正弦交流电...........................
    发表于 09-24 13:16 11次下载
    <b class='flag-5'>交流</b>及正弦<b class='flag-5'>交流电</b>

    交流电机调速器

    交流电机调速器(电源技术是什么期刊)- 交流电机调速器,可以设置交流电机转速,可以控制转速,转速误差10转
    发表于 09-28 11:46 72次下载
    <b class='flag-5'>交流电</b>机调速器

    一文详解交流电交流电路基本知识

    本文通过图文,分享交流电和分类、常见交流电源、交流发电机基本工作原理、交流电路等交流电交流电
    的头像 发表于 01-30 16:33 8629次阅读
    一文详解<b class='flag-5'>交流电</b>与<b class='flag-5'>交流电</b>路基本知识

    什么是交流电控制

    交流电控制是指控制交流电机的运转,使其达到设计要求的动力输出、电功率等性能参数,涉及到控制理论、传感器技术、驱动器技术等多个方面。其基本方
    发表于 03-26 22:20 885次阅读

    使用Arduino控制220VAC通用交流电

    电子发烧友网站提供《使用Arduino控制220VAC通用交流电机.zip》资料免费下载
    发表于 06-12 10:40 1次下载
    使用<b class='flag-5'>Arduino</b><b class='flag-5'>控制</b>220VAC通用<b class='flag-5'>交流电</b>机

    基于Arduino通用交流电机速度控制

    电子发烧友网站提供《基于Arduino通用交流电机速度控制器.zip》资料免费下载
    发表于 06-25 11:28 2次下载
    基于<b class='flag-5'>Arduino</b>通用<b class='flag-5'>交流电</b>机速度<b class='flag-5'>控制</b>器

    交流电机是什么意思

    交流电机简介 交流电机是用于实现机械能和交流电能相互转换的机械。由于交流电力系统的巨大发展,交流电机已成为最常用的电机。
    发表于 07-05 13:38 1558次阅读

    什么是交流电什么是正弦交流电

    交流电(Alternating Current, AC)是指电流方向周期性地变化的电流。在交流电中,电流的大小和方向随时间连续变化,在一个周期内会从正向到反向再到正向,这个过程不断重复。交流电
    的头像 发表于 01-16 09:34 1761次阅读