2: 2010-10-13 (水) 12:42:22 eid7gud  |
現: 2010-10-13 (水) 19:42:08 eid7gud  |
| | #include <fd.h> | | #include <fd.h> |
| | #define KEY_QUIT { if(fd_rx_buff()) fd_SoftReset();} | | #define KEY_QUIT { if(fd_rx_buff()) fd_SoftReset();} |
| | + | |
| | void main (void) { | | void main (void) { |
| | uint8_t ReadData; | | uint8_t ReadData; |
| | + | |
| | fd_Init (0, BT_CONSOLE, FD_BEEP_MMI | FD_BEEP_PACKETERR | FD_BEEP_LOWVOLTAGE | FD_BEEP_BOOTUP, 7.4); | | fd_Init (0, BT_CONSOLE, FD_BEEP_MMI | FD_BEEP_PACKETERR | FD_BEEP_LOWVOLTAGE | FD_BEEP_BOOTUP, 7.4); |
| | + | |
| | fd_DXSetEndlessTurn (1, 1); | | fd_DXSetEndlessTurn (1, 1); |
| | fd_DXSetEndlessTurn (2, 1); | | fd_DXSetEndlessTurn (2, 1); |
| | + | |
| | while (1) { | | while (1) { |
| | fd_DXReadByteData (100, 28, &ReadData); | | fd_DXReadByteData (100, 28, &ReadData); |
| | 赤いラインが右車輪、青いラインが左車輪です。 | | 赤いラインが右車輪、青いラインが左車輪です。 |
| | | | |
| - | 黒と白の真ん中(センサ値70)の時、両車輪とも最大速度1000となります(最大値は1023だが簡略化のため1000とした)。 | + | 黒と白の真ん中(センサ値70)の時、両車輪とも最大速度1000となります(最大値は1023ですが簡略化のため1000としました)。 |
| | | | |
| | センサ値が70より小さい時は黒い方へずれているということなので、右車輪のスピードを下げて右へ曲がります。センサ値が小さくなるに従ってスピードを下げ右に曲がる量を増やします。 | | センサ値が70より小さい時は黒い方へずれているということなので、右車輪のスピードを下げて右へ曲がります。センサ値が小さくなるに従ってスピードを下げ右に曲がる量を増やします。 |
| | #include <fd.h> | | #include <fd.h> |
| | #define KEY_QUIT { if(fd_rx_buff()) fd_SoftReset();} | | #define KEY_QUIT { if(fd_rx_buff()) fd_SoftReset();} |
| | + | |
| | void main (void) { | | void main (void) { |
| | uint8_t ReadData; | | uint8_t ReadData; |
| | uint16_t speed; | | uint16_t speed; |
| | + | |
| | fd_Init (0, BT_CONSOLE, FD_BEEP_MMI | FD_BEEP_PACKETERR | FD_BEEP_LOWVOLTAGE | FD_BEEP_BOOTUP, 7.4); | | fd_Init (0, BT_CONSOLE, FD_BEEP_MMI | FD_BEEP_PACKETERR | FD_BEEP_LOWVOLTAGE | FD_BEEP_BOOTUP, 7.4); |
| | + | |
| | fd_DXSetEndlessTurn (1, 1); | | fd_DXSetEndlessTurn (1, 1); |
| | fd_DXSetEndlessTurn (2, 1); | | fd_DXSetEndlessTurn (2, 1); |
| | + | |
| | while (1) { | | while (1) { |
| | fd_DXReadByteData (100, 28, &ReadData); | | fd_DXReadByteData (100, 28, &ReadData); |