task main () { float ambient = 0; float object = 0; nxtDisplayCenteredTextLine(0, "Dexter Industries"); nxtDisplayCenteredTextLine(1, "Thermal Infrared"); nxtDisplayCenteredTextLine(3, "Test 1"); nxtDisplayCenteredTextLine(5, "Connect sensor"); nxtDisplayCenteredTextLine(6, "to S1"); wait1Msec(2000); eraseDisplay(); // set emissivity for light skin TIRsetEmissivity(TIR, TIR_EM_SKIN_LIGHT); wait1Msec(200); //emissivity = TIRreadEmissivity(TIR); //nxtDisplayTextLine(5, "0x%04X", emissivity); while (true) { // Read the currently detected ambient and object temp from the sensor ambient = TIRreadAmbientTemp(TIR); object = TIRreadObjectTemp(TIR); nxtDisplayTextLine(1, "A: %3.2f", ambient); nxtDisplayTextLine(3, "O: %3.2f", object); wait1Msec(100); } }
task main () { int X = 0; memset(data, 0, sizeof(data)); TIRresetSensor(TIR); nxtDisplayCenteredTextLine(0, "Dexter Industries"); nxtDisplayCenteredTextLine(1, "Thermal Infrared"); nxtDisplayCenteredTextLine(3, "Test 1"); nxtDisplayCenteredTextLine(5, "Connect sensor"); nxtDisplayCenteredTextLine(6, "to S1"); wait1Msec(2000); eraseDisplay(); // set emissivity for light skin TIRsetEmissivity(TIR, TIR_EM_SKIN_LIGHT); nMotorEncoderTarget[VERTICAL] = 200; motor[VERTICAL] = -20; while((nMotorRunState[VERTICAL] != runStateIdle) && (nMotorRunState[VERTICAL] != runStateHoldPosition)) EndTimeSlice(); nMotorEncoderTarget[HORIZONTAL] = 360; motor[HORIZONTAL] = 20; while((nMotorRunState[HORIZONTAL] != runStateIdle) && (nMotorRunState[HORIZONTAL] != runStateHoldPosition)) EndTimeSlice(); wait1Msec(500); nMotorEncoder[HORIZONTAL] = 0; nMotorEncoder[VERTICAL] = 0; PlaySound(soundBeepBeep); while(bSoundActive) EndTimeSlice(); for (int i = 0; i < 80; i++) { wait1Msec(500); X = 0; memset(data, 0, sizeof(data)); nMotorEncoderTarget[HORIZONTAL] = 720; motor[HORIZONTAL] = -40; time1[T1] = 0; while((nMotorRunState[HORIZONTAL] != runStateIdle) && (nMotorRunState[HORIZONTAL] != runStateHoldPosition)) { data[X] = TIRreadObjectTemp(TIR); X++; wait1Msec(20); } nxtDisplayBigTextLine(1, "X: %d", X); nxtDisplayBigTextLine(3, "T: %d", time1[T1]); nMotorEncoderTarget[VERTICAL] = 5; motor[VERTICAL] = 20; nMotorEncoderTarget[HORIZONTAL] = 720; motor[HORIZONTAL] = 60; for (int j = 0; j < 200; j++) { if (data[j] != 0) { writeDebugStream("%3.2f,", data[j]); wait1Msec(5); } } writeDebugStreamLine(""); while((nMotorRunState[HORIZONTAL] != runStateIdle) && (nMotorRunState[HORIZONTAL] != runStateHoldPosition)) EndTimeSlice(); } bFloatDuringInactiveMotorPWM = true; wait1Msec(10); }