AM2302 (DHT22)

micro:bit / mbed / 温湿度センサーAM2302 (DHT22) / まとめ / クラス化する

qiita.com AM2302_lib - Google ドライブ ▶AM2302.h #ifndef AM2302_H #define AM2302_H class AM2302{ private: static int bits2bytes(int *buf, int pos); // extracts and creates a 8-bit value from any position in an array of 1s or 0s. int _pin; …

micro:bit / mbed / 温湿度センサーAM2302 (DHT22) / 1回だけ測定する

#include "MicroBit.h" MicroBit uBit; //MicroBitPin P0 = uBit.io.pin[0]; MicroBitPin P0 = uBit.io.P0; // P0端子に信号ラインを接続する。 // 40要素の配列からバイトデータとして抜き出すための函数。 uint8_t getByte(uint8_t buf[], uint8_t pos){ /…

micro:bit / mbed / 温湿度センサーAM2302 (DHT22) / データパルスの長さを0、1に変換する

#include "MicroBit.h" MicroBit uBit; //MicroBitPin P0 = uBit.io.pin[0]; MicroBitPin P0 = uBit.io.P0; int main(void){ uBit.init(); // スタートシーケンスを開始する。 P0.setDigitalValue(1);// P0を一旦Hにしてから、 P0.setDigitalValue(0);// P0…

micro:bit / mbed / 温湿度センサーAM2302 (DHT22) / データパルスの長さを測る

長いパルスか短いパルスかが判別できればよいだけなので、ビジーウェイトを利用して、パルスがHの状態にあるときのループ回数を数えるだけにする。正確なパルス幅は測らない。 #include "MicroBit.h" MicroBit uBit; //MicroBitPin P0 = uBit.io.pin[0]; Mic…

micro:bit / mbed / 温湿度センサーAM2302 (DHT22) / 動作確認

スタートシーケンスを開始してセンサーから信号が送られてくるかどうかを確認してみる。信号の意味は今のところわからない。短いパルスが0、長いパルスが1。 #include "MicroBit.h" MicroBit uBit; //MicroBitPin P0 = uBit.io.pin[0]; MicroBitPin P0 = uBi…