利用陣列儲存每0.01秒的超音波值,當記錄結束後,使用左右鍵觀看資料。
It saves the ultrasonic sensor data with array per 0.01 seconds, and the left and right buttons can be used to view the data after the logging.
task main()
{
SetSensorUltrasonic(S4); //設定超音波感應器為 四 號
int value[100]; //設定要存 100 個值→編號 0~ 99
int i = 0; //計數用變數
while(i < 100)//存 100 個值
{
value[i] = SensorUS(S4); //存當下的感應器值到變數第 i 個
Wait(10); //等0.01秒→結束迴圈後為 0.01*100 = 1 秒
i++; //計數加一
}
i = 0; //為顯示,計數歸零,從 0~7 開始顯示
while(1)
{
if(ButtonPressed(BTNLEFT,true))//按左鍵→顯示前 8 個值
{
if(i > 0)i--;// 沒有負的編號
}
else if(ButtonPressed(BTNRIGHT,true))//按右鍵→顯示後 8 個值
{
if(i < 13)i++;//每次八個→100除8 = 12...4→有十三頁
}
//八個值,以第一次為但→i = 0→0,0+1,0+2,0+3,0+4,0+5,0+6,0+7 = 0,1,2,3,4,5,6,7
NumOut(0,LCD_LINE1,value[i]);
NumOut(0,LCD_LINE2,value[i+1],false);
NumOut(0,LCD_LINE3,value[i+2],false);
NumOut(0,LCD_LINE4,value[i+3],false);
if(i<13)//每次八個→100除8 = 12...4→有十三頁,第十三頁只有四個值
{
NumOut(0,LCD_LINE5,value[i+4],false);
NumOut(0,LCD_LINE6,value[i+5],false);
NumOut(0,LCD_LINE7,value[i+6],false);
NumOut(0,LCD_LINE8,value[i+7],false);
}
}
}