アクセス数:今日1 総数&counter([total|today|yesterday]);
//作成者:Hypodytes rubripinnis //作成日時:2/6〜7
最終更新日:2006-02-14 (火) 05:18:24
#define up OnRev(OUT_B);until(SENSOR_2>=1);Off(OUT_B); //up(パックを取る)を定義 #define down(t) OnFwd(OUT_B);Wait(t);Off(OUT_B); //down(パックを置く)を定義 task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); //センサー1:光センサー SetSensor(SENSOR_2,SENSOR_TOUCH); //センサー2:タッチセンサー SetSensor(SENSOR_3,SENSOR_LIGHT); //センサー3:光センサー while (true) { ClearMessage(); //メッセージをクリア until (Message() != 0); //0以外の数字が入るまで待つ if ( Message() == 1 ) up; //1が入ったらup if ( Message() == 2 ) down(290); //2が入ったらdownを2.9秒 if ( Message() == 3 ) down(650); //3が入ったらdownを6.5秒 } while(SENSOR_2>=1) { if((40<=SENSOR_1<=50)&&(SENSOR_2>=1)) //センサー1が40以上50以下かつセンサー2が1以上なら { SendMessage(1);Wait(300); //メッセージ1を3秒間送信 } if((50<SENSOR_1)&&(SENSOR_2>=1)) //センサー1が50より大きいかつセンサー2が1以上なら { SendMessage(2);Wait(300); //メッセージ2を3秒間送信 } if((SENSOR_1<40)&&(SENSOR_2>=1)) //センサー1が40未満かつセンサー2が1以上なら { SendMessage(3);Wait(500); //メッセージ3を3秒間送信 } } while(SENSOR_2>=1) { if((30<=SENSOR_3<=35)&&(SENSOR_2>=1)) //センサー3が30以上35以下かつセンサー2が1以上なら { SendMessage(4);Wait(300); //メッセージ4を3秒間送信 } if((35<SENSOR_3)&&(SENSOR_2>=1)) //センサー3が35より大きいかつセンサー2が1以上なら { SendMessage(5);Wait(300); //メッセージ5を3秒間送信 } if((SENSOR_3<30)&&(SENSOR_2>=1)) //センサー3が30未満かつセンサー2が1以上なら { SendMessage(6);Wait(300); //メッセージ6を3秒間送信 } } }
//作成者:SAS //作成日時:2/7,12
最終更新日:2006-02-14 (火) 05:18:24
#define up OnRev(OUT_B);until(SENSOR_2>=1);Off(OUT_B); //ベルトコンベアを回転させて紙パックを掴むマクロ #define down(t) OnFwd(OUT_B);Wait(t);Off(OUT_B); //ベルトコンベアを回転させて紙パックを落とすマクロ task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); // SetSensor(SENSOR_2,SENSOR_TOUCH); // SetSensor(SENSOR_3,SENSOR_LIGHT); // while (true) // { ClearMessage(); //Messageを0にする until (Message() != 0); //Messageが0でなくなるまで待つ if ( Message() == 1 ) //Message(1)を受信したら、 {up;} //紙パックを掴む if((SENSOR_1 >= 40)&&(SENSOR_1 <= 50)) //上段の紙パックの色が緑なら {SendMessage(1);Wait(300);} //Message(1)を300送る if(SENSOR_1 >=51) //上段の紙パックの色が白なら {SendMessage(2);Wait(300);} //Message(2)を300送る if(SENSOR_1 <= 39) //上段の紙パックの色が黒なら {SendMessage(3);Wait(300);} //Message(3)を300送る Wait(150); //150待つ if((30<=SENSOR_3<=35)) //下段の紙パックの色が緑なら {SendMessage(4);Wait(300);} //Message(4)を300送る if((35<SENSOR_3)) //下段の紙パックの色が白なら {SendMessage(5);Wait(300);} //Message(5)を300送る if((SENSOR_3<30)) //下段の紙パックの色が黒なら {SendMessage(6);Wait(300);} //Message(6)を300送る until(Message() == 2||3); //Messageが2か3になるまで待つ if ( Message() == 2 ) //Message(2)を受信したら {down(290);} //紙パックを290かけて置く if ( Message() == 3 ) //Message(3)を受信したら {down(650);} //紙パックを650かけて置く } }
続いて足のプログラムGO!