從最簡單的馬達開始學習,lcd個人感覺沒啥可用的,又小又是單色,所以直接忽略。
首先可以組裝一輛小車,其實現階段,完全可以使用資料線直接馬達與主機,沒有太多必要去搭建模型。所以,這一步是可以略過的。
我們直接將大型馬達連在主機的a口和b口上,即可開始本文的學習。
//方法1:標準
regulatedmotor motor = new ev3largeregulatedmotor(motorport.a);
motor.setspeed((int)(motor.getmaxspeed()*0.6));
//方法2:簡潔,但注意了嗎?它是乙個nxtregulatedmotor。
motor.b
.setspeed((float)(motor.b
.getmaxspeed()*0.6));
需要說明的是速度的設定,因為lego語言中,速度是用從0-100數字表示靜止到最大速度,而lejos中卻是degrees per second,所以,我們轉換一下,只為與lego程式設計模組中的概念統一,方便我們移植那些例子。
有三種轉動方法,一是指定旋轉的度數;二是指定旋轉到某個度數;三是一直一直轉直到你讓它stop。
motor.a
.rotate(360, false);
motor.a
.rotateto(270);
//以下三句表示讓馬達a向前轉動1秒
motor.a
.forward();
delay.msdelay(1000);
.stop();
motor.a
.flt(true);
從幫助文件的描述來看,flt與stop是有區別的,乙個是釋放動力讓馬達自由停止,後者是立即停止馬達並鎖止。在我的實測感覺差別不大,具體可以使用我的**自測,應該是與我設定的速度以及遇到的摩擦力有關。
可以通過事件監聽到馬達啟動與停止兩個事件,個人覺得用處有限。
regulatedmotor motor = new ev3largeregulatedmotor(motorport.a);
motor.setspeed((int)(motor.getmaxspeed()*0.6));
motor.addlistener(new regulatedmotorlistener()
@override
public
void
rotationstopped(regulatedmotor motor, int tachocount, boolean stalled, long timestamp)
});motor.forward();
delay.msdelay(3000);
motor.flt();
看上去馬達的操作並不複雜,今天到此為止,週六繼續。 TypeScript的學習歷程4
typescript 介面 function printlabel labelledobj console.log labelledobj.label let myobj 介面 printlabel myobj 使用介面 使用另一種方法編寫 介面inte ce lablesss function p...
Python的學習筆記4
與列表近親關係,只不過元組標識是 而列表是,但 並不能絕對標識元組。例如 temp 1 type temp type返回的型別是那麼什麼才是能決定元組的呢?答案是 例如 temp 1,type temp type返回的型別是因此即便沒有 但只要有 標識,也是元組。如下 temp 1,2,3 type...
opencv的學習筆記4
通常更加高階的形態學變換,如開閉運算 形態學梯度 頂帽 黑帽 等等,都是可以由常用的腐蝕膨脹技術結合來達到想要的效果。3.形態學梯度 morphological gradient 膨脹圖與腐蝕圖之差,數學表示式如下 對二值影象 進行這一操作可以將團塊 blob 的邊緣突出出來。我們可以用形態學梯度來...