极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: 迷你强

Arduino入门教程--第二十课--红外遥控器介绍

  [复制链接]
发表于 2013-4-15 17:56:32 | 显示全部楼层
继续学习 吐血中。
回复 支持 反对

使用道具 举报

发表于 2013-4-20 23:29:42 | 显示全部楼层
D:\arduino-1.0.1\libraries\LCD12864R\LCD12864R.cpp:91: error: 'OUTPUT' was not declared in this scope
D:\arduino-1.0.1\libraries\LCD12864R\LCD12864R.cpp:91: error: 'pinMode' was not declared in this scope

为何我一编译就成这个样子,把您的库也放在IDE目录下面了啊?
回复 支持 反对

使用道具 举报

发表于 2013-5-5 13:45:15 | 显示全部楼层

Arduino入门教程--第二十课--红外遥控器介绍
http://www.geek-workshop.com/thread-2433-1-1.html

在上面这个实验当中,代码中只引用到了一个头文件,#include <IRremote.h>头文件,那是不是可以认为
在Arduino_IRremote_master这个库文件下面,只要有IRremote.h一个头文件,程序就可以正常运行了。
回复 支持 反对

使用道具 举报

发表于 2013-6-17 23:43:06 | 显示全部楼层
一次实验成功,实验遥控器、电视遥控器、空调扇遥控器都可以解码不过不知道是哪里的干扰,接收到的误码较多。我的是板子是Arduino Nano ATmega328
回复 支持 反对

使用道具 举报

发表于 2013-6-23 20:38:20 | 显示全部楼层
我在做arduino实验的时候,可以用红外遥控器控制LED灯的开和关。。。然后我又,之后,就关不掉了。。这是咋回事呢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-24 09:36:46 | 显示全部楼层
追梦男儿 发表于 2013-6-23 20:38
我在做arduino实验的时候,可以用红外遥控器控制LED灯的开和关。。。然后我又,之后,就关不掉了。。这是咋 ...

程序,还是程序逻辑的问题
回复 支持 反对

使用道具 举报

发表于 2013-6-27 09:05:33 | 显示全部楼层
写得很好!!
回复 支持 反对

使用道具 举报

发表于 2013-6-29 18:58:44 | 显示全部楼层
本帖最后由 really_ashamed 于 2013-6-29 19:30 编辑

我把“FriTzing”下载下来了,如何上传到这里哪
压缩包大于8M了,我分成两个

第一个

fritzing_01.rar

6.91 MB, 下载次数: 46

回复 支持 反对

使用道具 举报

发表于 2013-6-29 19:28:06 | 显示全部楼层
本帖最后由 really_ashamed 于 2013-6-29 19:33 编辑

frizing 第二个压缩包

解压后得到两个文件夹
将第二个文件夹里面的文件全选,复制到第一个文件夹里即可

fritzing_02.rar

7.64 MB, 下载次数: 37

回复 支持 反对

使用道具 举报

发表于 2013-6-29 23:20:54 | 显示全部楼层
迷你强 发表于 2013-6-24 09:36
程序,还是程序逻辑的问题

#include <IRremote.h>

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results results;

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

void loop() {
  
  if (irrecv.decode(&results))
{
   
    switch (results.value)
    {
        case 16724175:  //按键1,开灯
       {
           digitalWrite(12,1);                //点亮LED
           Serial.println("turn on LED"); //串口显示开灯
           break;
       }
        case 16738455:  //按键2 熄灭
       {
           digitalWrite(12,0);            //熄灭LED
           Serial.println("turn off LED");    //串口显示关灯
           break;
     
       }
       case 16718055:     //按键3 闪烁
       {
         while(1)
         {
          digitalWrite(12,1);
          delay(300);
          digitalWrite(12,0);
          delay(300);
         }
         break;

      
       }
   
   
   
    }
    irrecv.resume(); // 接收下一个值
  }
}



我想用按键控制灯泡的亮,灭和闪烁。。。但是,我按了3键后,灯闪烁,如果我再按2键让熄灭时,熄灭不了了。。一直闪烁,你帮我看一下如果修改呢?谢谢啦
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-30 08:11:29 | 显示全部楼层
追梦男儿 发表于 2013-6-29 23:20
#include

int RECV_PIN = 11;

你没有终止你的循环。。。。你貌似写的是死循环
回复 支持 反对

使用道具 举报

发表于 2013-6-30 14:51:43 | 显示全部楼层
迷你强 发表于 2013-6-30 08:11
你没有终止你的循环。。。。你貌似写的是死循环

恩恩,是的。。那我应该怎么改呢?
回复 支持 反对

使用道具 举报

发表于 2013-7-1 14:30:19 | 显示全部楼层
学习,很有收获。。
回复 支持 反对

使用道具 举报

发表于 2013-7-1 20:39:41 | 显示全部楼层
case 16718055:     //按键3 闪烁
       {
         while(1)
         {
          digitalWrite(12,1);
          delay(300);
          digitalWrite(12,0);
          delay(300);
         }
         break;


这里面你按3了就死循环了
按1和2应该没事

while(1) 就是死循环
回复 支持 反对

使用道具 举报

发表于 2013-7-2 12:30:14 | 显示全部楼层
你好 请问你那个红外接收的图是哪里来的?我在fritzing里面找不到...
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2020-12-3 10:06 , Processed in 0.094034 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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