arduino 红外遥控器控制LED灯

/*
日期:2016.9.1
功能:红外遥控器控制LED灯 开,关,闪烁
元件:
    跳线公公头 * 5
    led, 220欧电阻
    红外接收管,红外遥控
接线:
    红外灯面向自己从左到右分别接 IO3, GND, 5V
    LED 负极接GND 正极串联电阻接 IO5
红外1-9口编码:
FF30CF    1
FF18E7    2
FF7A85    3
FF10EF    4
FF38C7    5
FF5AA5    6
FF42BD    7
FF4AB5    8
FF52AD    9
参考:http://www.arduino.cn/thread-3259-1-1.html
*/

#include <IRremote.h>

int ledPin = 5;
int recvPin = 3;//定义红外接收器的引脚为3
IRrecv irrecv(recvPin);
decode_results results;

long KEY_CODE_ONE = 0xFF30CF;
long KEY_CODE_TWO = 0xFF18E7;
long KEY_CODE_THREE = 0xFF7A85;
long KEY_CODE_LONG_PRESS = 0xFFFFFFFF;
long longPressKey = -1; //长按下的那个键

void setup() {
  pinMode(ledPin, OUTPUT);
  irrecv.enableIRIn(); // 初始化红外接收器
  Serial.begin(9600);
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);//以16进制换行输出接收代码
    Serial.println();//为了便于观看输出结果增加一个空行
    irrecv.resume(); // 接收下一个值
  }

  //按下1键盘的事件
  if (results.value == KEY_CODE_ONE ) {
    ledOn(ledPin);
    longPressKey = KEY_CODE_ONE;
  }
  //长按1键盘的事件
  if ( results.value == KEY_CODE_LONG_PRESS && longPressKey == KEY_CODE_ONE) {
    ledOn(ledPin);
  }

  //按下2键盘的事件
  if (results.value == KEY_CODE_TWO ) {
    ledOff(ledPin);
    longPressKey = KEY_CODE_TWO;
  }
  //长按 2键盘的事件
  if ( results.value == KEY_CODE_LONG_PRESS && longPressKey == KEY_CODE_TWO) {
    ledOff(ledPin);
  }
  //按下 3 键盘的事件
  if (results.value == KEY_CODE_THREE ) {
    flash(ledPin, 100, 100);
    longPressKey = KEY_CODE_THREE;
  }
  //长按 3 键盘的事件
  if ( results.value == KEY_CODE_LONG_PRESS && longPressKey == KEY_CODE_THREE) {
    flash(ledPin, 100, 100);
  }
}

// led亮灯
void ledOn(int ledPin) {
  digitalWrite(ledPin, HIGH);
}
// led熄灯
void ledOff(int ledPin) {
  digitalWrite(ledPin, LOW);
}
//led闪烁
void flash(int ledPin, long highDuration, long lowDuration) {
  digitalWrite(ledPin, HIGH);
  delay(highDuration);
  digitalWrite(ledPin, LOW);
  delay(lowDuration);
}
时间: 2024-10-24 07:29:05

arduino 红外遥控器控制LED灯的相关文章

arduino入门学习实现语音控制LED灯

需要的准备的硬件arduino+PC+麦克风实现语音命令控制LED灯的亮灭. 首先需要将写好的arduino程序烧录到arduino uno主板中,下面是代码如下: int val;//定义变量val int ledpin=10;//定义数字接口13 void setup() { Serial.begin(9600);//设置波特率为9600,这里要跟软件设置相一致.当接入特定设备(如:蓝牙)时,我们也要跟其他设备的波特率达到一致. pinMode(ledpin,OUTPUT);//设置数字10

enc28J60 网页控制LED灯

软件IDE:Arduino 1.6.3 1.库的安装: 从https://github.com/jcw/ethercard 下载源码包,解压,复制ethercard-master文件夹到Arduino的安装目录所在的库文件夹下:D:\Program Files (x86)\Arduino\libraries,并且重命名为EtherCard 2.打开Arduino 复制相关代码,保存,编译,上传. 3.设置电脑ip为192.168.2.2 4.浏览器登录192.168.2.1 参考: lucade

socket通信——多角度控制LED灯亮灭

今天以物联网网关(网关链接)以服务器,在多个客户端就做一个非常简单的功能:点亮或熄灭网关上的LED灯.目前想到了三种方式,分别是:TCP&UDP测试工具.自编Java客户端和Mono Android客户端.相信这会很有意思的. 1.服务器端 在使用或编写客户端之前,首先来看看服务器端代码,其专门通过串口烧进网关内部 OutputPort led = new OutputPort((Cpu.Pin)GPIO_NAMES.PF8, false); Socket sc; Socket ss = new

嵌入式Linux学习入门:控制LED灯

记录自己linux学习过程,让自己能够一直坚持下去 1.原理图分析: nLED_1, nLED_2, nLED_4, 给低电平则对应LED灯亮,高电平则对应LED灯灭, S3C2440芯片GPF4-GPF6对应nLED_1, nLED_2, nLED_4, 所以代码里面操作GPF4-GPF6就可以控制LED灯亮灭. 2.写代码前了解事项 第一步:将GPF0-GPF4配置为输出功能 第二步:控制GPF0-GPF4输出低电平 3.编写代码 1 .text 2 .global _start 3 _st

BLE 安卓APP控制LED灯的实现(转)

源:BLE 安卓APP控制LED灯的实现 //注:参考AmoMcu源代码修改. 打开APP,检查蓝牙是否打开 BluetoothAdapter mBluetoothAdapter; final BluetoothManager bluetoothManager =(BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE); mBluetoothAdapter = bluetoothManager.getAdapter(); //

云中树莓派(4):利用声音传感器控制Led灯

云中树莓派(1):环境准备 云中树莓派(2):将传感器数据上传到AWS IoT 并利用Kibana进行展示 云中树莓派(3):通过 AWS IoT 控制树莓派上的Led 云中树莓派(4):利用声音传感器控制Led灯 1. 声音传感器及其配置 声音传感器如下图所示: 将 VCC 引脚接入树莓派 5V 引脚,将 GND 引脚接入树莓派 GND 引脚,将 OUT 引脚接入树莓派 GPIO20. 要注意,模块在环境声音强度达不到设定阈值时,OUT输出高电平(1),当外界环境声音强度超过设定阈值时,模块O

arduino + ld3320语音识别模块实现语音控制LED灯

材料准备: 1.arduino UNO开发板 2.LD3320语音识别模块 面包板,杜邦线,LED灯等 接线: LE3320     ----      arduino 1.3.3v(两个都接)  --  3.3v 2.GND(两个都接)  --  GND 3.MISO  --  D12 4.MOSI  --  D11 5.SCK  --  D13 6.NSS  --  D4 7.NC  --  空着 8.RST  --  D9 9.WR  -- GND 10.IRQ  -- D2 8号引脚串联

利用DoHome APP和音箱控制LED灯实验参考步骤

准备材料: Arduino Uno 一块 Arduino 扩展板        购买链接 DT-06模块一个       购买链接 安卓手机一个 小度音箱一个 小灯珠一个 杜邦线若干 1.DT-06固件的烧录 1.1打开ESP模块下载工具ESPFlashDownloadTool,选择需要下载的固件,填写下载地址,推荐使用  ESP8266 Download TOOL,配置信息如下: 1.2 选择实际的串口,选择下载速度 1.3点击ERASE,先插除,再点击START,开始下载 工具下载及详细请看

四、按键控制LED灯亮灭

材料: 1.SAGOO UNO 1块: 2.按键模块 1块: 3.杜邦线若干. 步骤: 1.按照下图连接按键模块和UNO: SAGOO UNO引脚                                      按键模块引脚 3V3  <------------------------------------>    V(电源) GND <------------------------------------>    G(电源) Pin2  <----------