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); |