我正在研究Arduino,到目前为止,我已经制作了一个简单的电路,通过红外接收器(VS1838B)从遥控器获取一些值,并根据我按下的按键点亮RGB灯 .
在这一点上,我想混合我的知识,并制作一个简单的Android应用程序,能够做同样的事情,但我发现了一些问题 .
这是代码:
irManager = (ConsumerIrManager) getSystemService(Context.CONSUMER_IR_SERVICE);
if(!irManager.hasIrEmitter())
Toast.makeText(this, "Non hai l'emettitore IR", Toast.LENGTH_LONG).show();
else
Toast.makeText(this, "Hai l'emettitore IR", Toast.LENGTH_LONG).show();
red.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
sendIR(new int[] {1,2,5,4,5,6,7,8,9,10,11,12,13,14});
}
});
}
public void sendIR(int[] message){
irManager.transmit(38000, message);
}
1)首先,我不知道irManager.transmit()的第二个参数是什么 . 在Arduino中如果我记录IR接收器获得的所有消息,它将只打印出整数而不是整数数组,我不知道如何在int数组中转换int .
2)如果在Arduino中打开我的串口监视器并观察日志,每次单击“红色”按钮时,传递给IR接收的值都会发生变化,所以即使按下键也大部分时间rgb led不会亮 .
我怎样才能解决这个问题 ?
1 回答
查看本教程:
http://devtrigger.blogspot.it/2014/05/android-infrared-ir-transmitter-code.html
这部分应该足够了: