機器人大賽,小白參賽
所有資料51hei提供下載:
Debug.zip
(1.85 KB, 下載次數: 7)
2017-7-21 15:06 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
0上臺防掉臺源程序如下:
- #include "Apps/SystemTask.h"
- uint8 SERVO_MAPPING[5] = {1,2,3,4,5};
- int main()
- {
- int ad[6] = {0};
- int io[12] = {0};
- int ave = 0;
- MFInit();
- MFInitServoMapping(&SERVO_MAPPING[0],5);
- MFSetPortDirect(0x00000000);
- MFSetServoMode(1,1);
- MFSetServoMode(2,1);
- MFSetServoMode(3,0);
- MFSetServoMode(4,0);
- MFSetServoMode(5,0);
- //初始化狀態
- MFSetServoRotaSpd(1,0);
- MFSetServoRotaSpd(2,0);
- MFSetServoPos(3,617,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- //io1
- io[1] = MFGetDigiInput(1);
- while (1)
- {
- if (io[1]==0)
- {
- break ;
- }
- //io1
- io[1] = MFGetDigiInput(1);
- }
- //立爪
- MFSetServoRotaSpd(1,0);
- MFSetServoRotaSpd(2,0);
- MFSetServoPos(3,280,512);
- MFSetServoPos(4,825,512);
- MFSetServoPos(5,116,512);
- MFServoAction();
- DelayMS(1000);
- //立爪前進
- MFSetServoRotaSpd(1,400);
- MFSetServoRotaSpd(2,-400);
- MFSetServoPos(3,280,512);
- MFSetServoPos(4,825,512);
- MFSetServoPos(5,116,512);
- MFServoAction();
- DelayMS(1000);
- //放前爪
- MFSetServoRotaSpd(1,400);
- MFSetServoRotaSpd(2,-400);
- MFSetServoPos(3,721,512);
- MFSetServoPos(4,825,512);
- MFSetServoPos(5,116,512);
- MFServoAction();
- DelayMS(1000);
- //放后爪
- MFSetServoRotaSpd(1,400);
- MFSetServoRotaSpd(2,-400);
- MFSetServoPos(3,280,512);
- MFSetServoPos(4,300,512);
- MFSetServoPos(5,649,512);
- MFServoAction();
- DelayMS(1000);
- //臺上狀態
- MFSetServoRotaSpd(1,400);
- MFSetServoRotaSpd(2,-400);
- MFSetServoPos(3,617,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- DelayMS(1000);
- while (1)
- {
- //io3
- io[3] = MFGetDigiInput(3);
- //io4
- io[4] = MFGetDigiInput(4);
- //io5
- io[5] = MFGetDigiInput(5);
- //io6
- io[6] = MFGetDigiInput(6);
- //臺上狀態
- MFSetServoRotaSpd(1,600);
- MFSetServoRotaSpd(2,-600);
- MFSetServoPos(3,617,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- //io3
- io[3] = MFGetDigiInput(3);
- if (io[3]==1)
- {
- //后退
- MFSetServoRotaSpd(1,-400);
- MFSetServoRotaSpd(2,400);
- MFSetServoPos(3,671,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- DelayMS(400);
- //右轉
- MFSetServoRotaSpd(1,700);
- MFSetServoRotaSpd(2,700);
- MFSetServoPos(3,671,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- DelayMS(400);
- //臺上狀態
- MFSetServoRotaSpd(1,400);
- MFSetServoRotaSpd(2,-400);
- MFSetServoPos(3,617,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- }
- else
- {
- //io4
- io[4] = MFGetDigiInput(4);
- if (io[4]==1)
- {
- //后退
- MFSetServoRotaSpd(1,-400);
- MFSetServoRotaSpd(2,400);
- MFSetServoPos(3,617,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- DelayMS(400);
- //左轉
- MFSetServoRotaSpd(1,-700);
- MFSetServoRotaSpd(2,-700);
- MFSetServoPos(3,617,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- DelayMS(400);
- //臺上狀態
- MFSetServoRotaSpd(1,400);
- MFSetServoRotaSpd(2,-400);
- MFSetServoPos(3,617,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- }
- else
- {
- //io5
- io[5] = MFGetDigiInput(5);
- if (io[5]==1)
- {
- //前進
- MFSetServoRotaSpd(1,400);
- MFSetServoRotaSpd(2,-400);
- MFSetServoPos(3,617,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- DelayMS(400);
- //右轉
- MFSetServoRotaSpd(1,700);
- MFSetServoRotaSpd(2,700);
- MFSetServoPos(3,617,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- DelayMS(200);
- //臺上狀態
- MFSetServoRotaSpd(1,400);
- MFSetServoRotaSpd(2,-400);
- MFSetServoPos(3,617,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- }
- else
- {
- //io6
- io[6] = MFGetDigiInput(6);
- if (io[6]==1)
- {
- //前進
- MFSetServoRotaSpd(1,400);
- MFSetServoRotaSpd(2,-400);
- MFSetServoPos(3,617,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- DelayMS(500);
- //左轉
- MFSetServoRotaSpd(1,-700);
- MFSetServoRotaSpd(2,-700);
- MFSetServoPos(3,617,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- DelayMS(200);
- //臺上狀態
- MFSetServoRotaSpd(1,400);
- MFSetServoRotaSpd(2,-400);
- MFSetServoPos(3,617,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- }
- else
- {
- //io3
- io[3] = MFGetDigiInput(3);
- //io4
- io[4] = MFGetDigiInput(4);
- if ((io[3]&&io[4]==1))
- {
- //后退
- MFSetServoRotaSpd(1,-400);
- MFSetServoRotaSpd(2,400);
- MFSetServoPos(3,671,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- DelayMS(1000);
- //右轉
- MFSetServoRotaSpd(1,700);
- MFSetServoRotaSpd(2,700);
- MFSetServoPos(3,617,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- DelayMS(200);
- //臺上狀態
- MFSetServoRotaSpd(1,400);
- MFSetServoRotaSpd(2,-400);
- MFSetServoPos(3,617,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- }
- else
- {
- //io5
- io[5] = MFGetDigiInput(5);
- //io6
- io[6] = MFGetDigiInput(6);
- if ((io[5]&&io[6]==1))
- {
- //后退
- MFSetServoRotaSpd(1,-400);
- MFSetServoRotaSpd(2,400);
- MFSetServoPos(3,671,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- DelayMS(500);
- //右轉
- MFSetServoRotaSpd(1,700);
- MFSetServoRotaSpd(2,700);
- MFSetServoPos(3,617,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- DelayMS(200);
- //臺上狀態
- MFSetServoRotaSpd(1,400);
- MFSetServoRotaSpd(2,-400);
- MFSetServoPos(3,617,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- }
- else
- {
- //io3
- io[3] = MFGetDigiInput(3);
- //io5
- io[5] = MFGetDigiInput(5);
- if ((io[3]&&io[5]==1))
- {
- //后退
- MFSetServoRotaSpd(1,-400);
- MFSetServoRotaSpd(2,400);
- MFSetServoPos(3,671,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- DelayMS(200);
- //左轉
- MFSetServoRotaSpd(1,-700);
- MFSetServoRotaSpd(2,-700);
- MFSetServoPos(3,617,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- DelayMS(200);
- //臺上狀態
- MFSetServoRotaSpd(1,400);
- MFSetServoRotaSpd(2,-400);
- MFSetServoPos(3,617,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- }
- else
- {
- //io4
- io[4] = MFGetDigiInput(4);
- //io6
- io[6] = MFGetDigiInput(6);
- if ((io[4]&&io[6]==1))
- {
- //前進
- MFSetServoRotaSpd(1,400);
- MFSetServoRotaSpd(2,-400);
- MFSetServoPos(3,617,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- DelayMS(500);
- //臺上狀態
- MFSetServoRotaSpd(1,400);
- MFSetServoRotaSpd(2,-400);
- MFSetServoPos(3,617,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- }
- else
- {
- //io3
- io[3] = MFGetDigiInput(3);
- //io4
- io[4] = MFGetDigiInput(4);
- //io5
- io[5] = MFGetDigiInput(5);
- if ((io[3]&&io[4]&&io[5]==1))
- {
- //右轉
- MFSetServoRotaSpd(1,700);
- MFSetServoRotaSpd(2,700);
- MFSetServoPos(3,617,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- DelayMS(200);
- //臺上狀態
- MFSetServoRotaSpd(1,400);
- MFSetServoRotaSpd(2,-400);
- MFSetServoPos(3,617,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- }
- else
- {
- //io4
- io[4] = MFGetDigiInput(4);
- //io5
- io[5] = MFGetDigiInput(5);
- //io6
- io[6] = MFGetDigiInput(6);
- if ((io[4]&&io[5]&&io[6]==1))
- {
- //左轉
- MFSetServoRotaSpd(1,-700);
- MFSetServoRotaSpd(2,-700);
- MFSetServoPos(3,617,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- DelayMS(200);
- //臺上狀態
- MFSetServoRotaSpd(1,400);
- MFSetServoRotaSpd(2,-400);
- MFSetServoPos(3,617,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- }
- else
- {
- //io1
- io[1] = MFGetDigiInput(1);
- if (io[1]==0)
- {
- DelayMS(200);
- //撞擊
- MFSetServoRotaSpd(1,900);
- MFSetServoRotaSpd(2,-900);
- MFSetServoPos(3,617,512);
- MFSetServoPos(4,358,512);
- MFSetServoPos(5,581,512);
- MFServoAction();
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
|