ESP8266を使っていると、様々なパッケージ品が市場に出回っているのに気づきます。
その様々な品の中で、システムの検討で役立つのがESP-01/ESP-01Sであります。
1ケ100円台で購入可能なのですから、大量投入による同時試験が可能になります。
おかげで、私のつたないソースコードでも不具合の早期発見が可能になりました。
さて検討でとても役に立つESP-01/ESP-01Sですが、端子は8ピンしかありません。
8ピンのウチで、電源の±で2本・RESETで1本・ENABLEで1本・
シリアルで2本なので自由に使えるピンは2本だけになります。
その自由に使えるピン2本も電源投入時はLOWだと書き込みモードに入ったりして、
面倒なピンだったりします。(汗
なのでセンサー入力で使えるピンが欲しい
センサー入力なので電源投入時のセンサー状態は不定になるので、自由に使えるピン2本に
入れるとセンサーLOWで電源投入すると書き込みモードで起動したりして使えない訳であります。
そういえばログ出力ってSerialの受信は機能していないのでは?
実をいうと私が作成するプログラムでは簡易デバッグ用にログ出力としてシリアルを使うのですが
ログ出力だけでシリアルからは何も受信していない事に気づきました。
いつも何気なくGND/RX/TXと繋いでいたのですが、電気的にはGND/TXだけでログ出力できちゃう。
て事は、Serial.Begin()後にRXピンをINPUTにモード変更したらどうなる?
どうなるか判らないので、以下のソースを作って試してみました。
動作結果は、TXピンはSerial出力行えて RXピンはGPIO(IN)で使うことができました。
# define READPIN 3
int num;
void setup() {
Serial.begin(115200);
delay(1000);
Serial.println( "SerialInputTest" );
pinMode(READPIN, INPUT);
num = 0;
}
void loop() {
Serial.print( digitalRead(READPIN) );
Serial.print( ":" );
Serial.println( num );
num++;
delay(1000);
}