IR Receiver

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 
00003 DigitalIn g_digitalinIrReceiver(p20);
00004 Serial g_serial(USBTX, USBRX);
00005 
00006 int main()
00007 {
00008     // デジタル入力ピンは、デフォルトで、内部プルダウンとなります(参考:https://developer.mbed.org/handbook/DigitalIn)
00009     // 内部プルダウンの場合、IRセンサーからのHIGH電圧をLOW電圧と検知してしまうので、内部プルモードを「プルなし(PullNone)」にします。
00010     g_digitalinIrReceiver.mode( PullNone ); // mode : PullUp, PullDown, PullNone, OpenDrain
00011     g_serial.baud(115200);
00012 
00013     Timer timer;
00014     timer.start();
00015     int iMicroSec_prev = timer.read_us();
00016     int iState_prev = 1;
00017     while(1)
00018     {
00019         int iState = g_digitalinIrReceiver;
00020         if( iState != iState_prev )
00021         {
00022             iState_prev = iState;
00023             int iMicroSec = timer.read_us();
00024             g_serial.printf( "%d, ", iMicroSec - iMicroSec_prev );
00025             iMicroSec_prev = iMicroSec;
00026         }
00027     }
00028 }