极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13951|回复: 9

求高人相助,arduino计算红外线次数

[复制链接]
发表于 2014-5-16 00:25:29 | 显示全部楼层 |阅读模式
一个红外发射器和一个红外接收器,当红外接收器接收到来自红外发射器发射的信号时网页上的计数就会加1,求实现方法!
回复

使用道具 举报

发表于 2014-5-16 09:20:04 | 显示全部楼层
红外线,网页,你会哪个?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-19 14:03:57 | 显示全部楼层
i7456 发表于 2014-5-16 09:20
红外线,网页,你会哪个?

我会网页,不知道怎么让arduino收到红外线信号时计数
回复 支持 反对

使用道具 举报

发表于 2014-5-19 14:45:16 | 显示全部楼层
lduinot 发表于 2014-5-19 14:03
我会网页,不知道怎么让arduino收到红外线信号时计数

http://blog.arduino.cc/2010/02/1 ... ibrary-for-arduino/

已经有人写了红外线的库文件。利用这个库文件,arduino可以很容易的接收红外信号。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-19 23:10:17 | 显示全部楼层
本帖最后由 lduinot 于 2014-5-19 23:15 编辑
i7456 发表于 2014-5-19 14:45
http://blog.arduino.cc/2010/02/11/arduino-all-stars-the-coplete-ir-library-for-arduino/

已经有人 ...


看了一些范例,有些问题想请教


像这样的红外LED也有红外线编码

这是发送代码:

  1. #include <IRremote.h>                  // 引用 IRRemote 函式库

  2. IRsend irsend;                          // 定义 IRsend 物件来发射红外线讯号

  3. void setup()
  4. {
  5.   pinMode(3, OUTPUT);   
  6.   digitalWrite(3, HIGH);   // 点亮LED测试(需通过手机摄像模式观察)
  7.   delay(3000);             // 等待3秒
  8.   digitalWrite(3, LOW);    // 结束测试
  9. }

  10. void loop()
  11. {
  12.   Serial.print("SendIR: ");
  13.   irsend.sendNEC(0x807F18E7, 32);   // 记得换成你遥控器的红外线编码
  14.   delay(3000);             // 等待3秒
  15. }
复制代码



另外,我想要当接收器接收到之后arduino通知电脑打开一个网址,该怎么写

接收的代码:

  1. #include <IRremote.h>

  2. int RECV_PIN = 11;

  3. IRrecv irrecv(RECV_PIN);

  4. decode_results results;

  5. void setup()
  6. {
  7.   Serial.begin(9600);
  8.   irrecv.enableIRIn(); //初始化红外遥控
  9.   pinMode(12,1);
  10. }

  11. void loop() {
  12.   if (irrecv.decode(&results)) {
  13. if(results.value==16753245)      //确认接收到的第一排按键1的编码,此码是预先读出来的按键编码。
  14.   {
  15.   digitalWrite(12,1);                //点亮LED
  16.    Serial.println("turn on LED"); //串口显示开灯
  17.   }
  18.   else if(results.value==16736925)   //确认接收到的第一排按键2的编码
  19.   {
  20.    digitalWrite(12,0);            //熄灭LED
  21.     Serial.println("turn off LED");    //串口显示关灯
  22.   }
  23.     irrecv.resume(); // 接收下一个值
  24.   }
  25. }
复制代码
回复 支持 反对

使用道具 举报

发表于 2014-5-19 23:51:48 | 显示全部楼层
lduinot 发表于 2014-5-19 23:10
看了一些范例,有些问题想请教

接收最好用这种

发送可以用你图中的那种。


arduino通知电脑打开一个网址。这个工作让arduino来做是比较困难的。

变通的方法是,电脑端的浏览器主动打开arduino上的网页,arduino自动定时更新收到的  计数。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-19 23:56:40 | 显示全部楼层
i7456 发表于 2014-5-19 23:51
接收最好用这种

发送可以用你图中的那种。

我接收就是用那种的
你说的 “打开arduino上的网页,arduino自动定时更新收到的  计数。” 有没有教程?
回复 支持 反对

使用道具 举报

发表于 2014-5-20 01:01:17 | 显示全部楼层
lduinot 发表于 2014-5-19 23:56
我接收就是用那种的
你说的 “打开arduino上的网页,arduino自动定时更新收到的  计数。” 有没有教程?

http://arduino.cc/en/Tutorial/WebServer
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-21 18:19:50 | 显示全部楼层
i7456 发表于 2014-5-20 01:01
http://arduino.cc/en/Tutorial/WebServer

谢谢你,真的帮了我很多
我在想没有ethernet shield的话用arduino的程式码能做到在一个txt里加1吗,这样就不用网络
回复 支持 反对

使用道具 举报

发表于 2014-5-21 18:36:00 | 显示全部楼层
lduinot 发表于 2014-5-21 18:19
谢谢你,真的帮了我很多
我在想没有ethernet shield的话用arduino的程式码能做到在一个txt里加 ...

USB(串口)直接和电脑通讯。
电脑上运行一个processing程序,接收串口数据,然后写到文件中去。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-14 20:08 , Processed in 0.037537 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表