일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 아가시온
- 샤오미
- 몬스터스트라이크
- 달빛조각사
- 브이포
- 후기
- 쿠폰
- 도미네이션즈
- 한국대중음악박물관
- AT&T
- 워리어
- 창세기전
- 창세기전 모바일
- 걷기앱
- 국립경주박물관
- axe
- VDI
- 울산박물관
- 반구대암각화
- 버그
- 스피릿위시
- 리니지2레볼루션
- AIA Vitality
- 후쿠오카
- v4
- 주식
- 피쉬아일랜드
- 2차전직
- 치루
- 족저근막염
- Today
- Total
일상다반사 로그
로봇C 미로찾기 본문
#pragma config(Sensor, S1, sonar, sensorSONAR)
#pragma config(Sensor, S2, touch, sensorTouch)
#pragma config(Sensor, S3, light, sensorLightActive)
#pragma config(Sensor, S4, sound, sensorSoundDBA)
//*!!Code automatically generated by 'ROBOTC' configuration wizard !!*//
#define THRESHOLD 6
#define AXIS_LENGTH 120.0
#define WHEEL_DIAMETER 56.0
#define Light_HOLD_M 55
float convert(float turn_angle){
return (2* AXIS_LENGTH / WHEEL_DIAMETER * turn_angle);
}
task main{
int s_value;
float turn_angle = 90.0;
int rotation = (int)convert(turn_angle);
//ready
nxtDisplayTextLine(0, "Ready");
wait1Msec(1000);
nxtDisplayTextLine(0, "Start");
PlaySound(soundFastUpwardTones);
wait1Msec(1000);
eraseDisplay();
while(1){
s_value = SensorValue(sonar);
nxtDisplayTextLine(0, "SonarValue = %d",s_value);
motor[motorA] = 30;
motor[motorC] = 30;
//normal_drive
if((s_value > 7) && (s_value <13))
{ motor[motorA] = 35;
motor[motorC] = 35;
wait1Msec(100);
nxtDisplayTextLine(1, "normal drive:");
}
//in_cource problem
if( (s_value >= 0) && (s_value <= 7)){
motor[motorA] = 25;
motor[motorC] = 30;
wait1Msec(100);
nxtDisplayTextLine(2, "check_left:%d");
}
//out_cource problem
if( (s_value >14) && (s_value <=255)){
motor[motorA] = 35;
motor[motorC] = 15;
wait1Msec(100);
nxtDisplayTextLine(2, "check_right");
}
// touch value check_back_in cource
if(SensorValue(touch) == 1){
nxtDisplayTextLine(2, "check_touch retire ");
nxtDisplayTextLine(4, "touch : %d",SensorValue(touch));
motor[motorA] = -10;
motor[motorC] = -10;
wait1Msec(500);
// 90' turn
nMotorEncoderTarget[motorA] = rotation;
motor[motorA] = -50;
motor[motorC] = 0;
wait1Msec(850);
}
// point_check light& sound
if(SensorValue(light) <= Light_HOLD_M)
{
PlaySound(soundBeepBeep);
wait1Msec(100);
nxtDisplayTextLine(2, "check_point");
}
}//while
}//task main
'IT > C,C#' 카테고리의 다른 글
c# FileSystemWatcher Class (0) | 2017.11.21 |
---|---|
Stack (0) | 2017.11.15 |
로봇 C 터치 센서 (0) | 2017.11.13 |
C언어 마름모 (0) | 2017.10.23 |
C 최대히프 삽입 (0) | 2017.10.20 |