零基礎入門學用 Arduino 教程 - 智能應用篇 - 15 ~ 18 紅外遙

關于3號引腳沒反應是因為需要在
#include <IRremote.h>附近增一句
【#define IR_SEND_PIN 3】指定用3,也可以其他pwm引腳;否則默認用0號即RX。然后正確連線可以用手機攝像頭看到非常微弱的亮點在閃。
原因:
在IRremote庫的4.1.2版本中,源碼IRSend.hpp的56~70行可以看出

如果沒有#define IR_SEND_PIN,下邊默認都是使用sendPin = 0。
并不是部分教程源碼注釋說的“默認3號引腳(D3),想改也不一定去庫的頭文件”。
存疑的是,#define IR_SEND_PIN 3按理說應該寫在庫.h的頭文件里面,但寫#include <IRremote.h>附近也能用,可能是和arduino的初始化順序有關系但我不清楚;以及試了下在創(chuàng)建IRsend irsend;前寫在#include <IRremote.h>上下都行。
仍存問題:能看到閃爍,接收器也能穩(wěn)定無誤讀取其他遙控器的信號,但這個發(fā)射的(無論是否串聯(lián)電阻不限流),接收器讀不到內(nèi)容而是固定的FFFFFFFF或者FFFF。至于并聯(lián)電容的解決方法我還沒試。
標簽: