Arduino学习笔记14:老年人电视遥控器

智能电视、网络电视的内容越来越丰富,但是对老年人来说也越来越不友好。许多老年人对电视仍然停留在:按钮1频道中央1,按钮2频道中央2,按钮3频道中央3……

4.jpg

他们的年纪已经很难学习新事物了,对年轻人来说一目了然的遥控器对老年人来说太过于复杂了,年轻人觉得包罗万象的选择界面对老年人来说就是一片乱七八糟。新式的电视在许多老人看来,就是一个家居摆设,就像花瓶一样没有功能性。

即使找到直播,告诉老人014代表戏曲频道,依次按下0、1、4这么简单的操作对老年人来说也不简单。这种三位数的输入交互对老人来说还是有些吃力的,按得轻了没按上,按得重了又重复了,稍微一犹豫又超时确认了。比如想按个014,实际上可能弄成了001、04、01……给老人带来挫败感。因此许多老人干脆放弃电视,就拿我的奶奶来说,她也嫌家里闷,也想看看戏曲,但是如果让她从一大堆推送的热门剧集中找到她能接受的戏剧比登天还难。

但是你能说老人排斥心理不接受新事物吗?错误在他们吗?也不能那么说,人的思维能力和行动力随着年龄下降是客观规律,是不以人的意志为转移的。

老人不能随着科技改变,但是科技可以为了老人改变

我设想了一种遥控器,它就是停留在老年人回忆中的电视应该有的样子:一个电源按钮,然后1、2、3、4……9、10,一共10个数字按键,对应10个不同的频道。

5.jpg

具体的技术实现上,就是用Arduino控制红外线发射头,模拟代替用户操作。

1 我记录下进入直播的操作,开机后按键:下、下、右、右、右、OK、右、OK。

2 然后查询每个按键对应的命令,记录下来;

3 老人按下开机键之后,首先打开电视剧,然后通过红外线发射头依次将上述按键“回放”

4 假如1号按钮对应的是戏曲频道,假设对应的序号是014。当老人按下按钮1的时候,实际向机顶盒发射的是0、1、4。

6.jpg

9.jpg

在上述基本功能的基础上可以再增加几个人性的小功能:

1 我手头的这台机顶盒,每次打开直播默认会先打开电视购物频道,几个主持人声嘶力竭的吆喝带货。所以我增加了一个功能,在打开直播之前先将机顶盒静音,等待几秒,预计用户选择的频道打开之后再恢复默认音量。

2 如果老人有看着电视睡觉的习惯,还可以增加“伴睡”按钮,每隔几分钟音量降低一点,半小时后自动关机。

这样就将电视操作极大简化,老人看自己想看的电视只需要一键。

硬件和接线:

参考:https://www.yubosun.com/article/rGKfMmBj.html

基础源码:

#include void setup() {
  Serial.begin(9600);
  IrSender.begin(true);
}

uint8_t sRepeats = 0;

void loop() {
  while (Serial.available() > 0) {
    Serial.read();

    //开机
    irsend(0xB);

    //开机过程比较慢,需要等待的时间长一些
    delay(40000);

    //向下
    irsend(0x13);

    //向下
    irsend(0x13);

    //向右
    irsend(0x14);

    //向右
    irsend(0x14);

    //向右
    irsend(0x14);

    //ok,打开我的应用
    irsend(0x1E);

    //我的应用页面等待一下
    delay(4000);

    //静音,因为第一个台默认是电视购物,声嘶力竭
    irsend(0xA);

    //向右
    irsend(0x14);

    //ok
    irsend(0x1E);

    //直播开始前有一个4秒的倒计时,还有准备加载,需要多等一会
    delay(9000);

    //新闻台013
    irsend(0x60);
    irsend(0x61);
    irsend(0x63);

    delay(2000);

    //取消静音
    irsend(0xA);
  }
}


void irsend(uint8_t command) {
  IrSender.sendNEC(0x8, command, sRepeats);
  Serial.println(command);
  delay(500);
}

最大的障碍可能是如何制作这个遥控器的实体,到哪里找一个尺寸合适的盒子和按键呢?

扫码关注我的公众号