在開頭奉獻乙個很好的資料,是外文的,可以用翻譯看,位址是 可以去看一看。
好了,閒話少說,進入正題,我們打算做乙個比較全能的東西,經過再三思索,打算做一輛十分霸道(前面帶個榔頭)的小車。
拼積木不是我的強項,所以讓我的那個朋友來拼,觀賞一下結果吧:
從正面看
從側面看:
從後面看
從下面看:
從上面看:
既然拼的部分已經好了,那麼接下來就是程式了。
我編輯是用linux裡面的nano編輯器的,用法就是nano (開啟的文字(在磚裡已經有的)或新建文字(在磚裡沒有的))
我們先把這輛車分成四個控制部分:紅外感測器x1(檢測是否有手接近)、大型電機x2(伺服電機)(可以驅動小車)、中型電機x1(也是伺服電機)(拿來砸人)。然後分開來寫。我們要先導入庫:
from ev3dev.ev3 import *
首先要驅動的是大型伺服電機,因為它是拿來驅動小車的。我馬上查閱了資料,找到了它的函式:largemotor(),我們定義了乙個變數a,讓它賦值為largemotor的例項,並定義它在埠a執行,就是 a=largemotor('outa') 。然後我們再把另乙個電機再如法炮製一遍,合起來就是: a=largemotor('outa') //回車 b=largemotor('outb')然後我們要驅動它,就要用: ***(是個例項).run_timed(time_sp=工作時間,speed_sp=功率) 。這裡我用了
然後我們要使紅外感測器能夠感應到手,在資料裡,顯示他是 infraredsensor() 這個函式。二話不說,定義乙個變數ids,使它成為 infraredsensor() 的例項。然後我們要檢測距離,可以用 ids.value() 就可以得到它的距離值了(我不知道它的單位,如果有人知道,就告訴我吧)用 if 語句就可以檢測手有沒有接近了。
然後我們要讓那個榔頭會動,我們需要乙個中型電機,而中型電機的驅動函式是: mediummotor() ,換湯不換藥,當然是定義乙個c來成為它的例項,然後我們讓它順時針轉2秒,再逆時針轉兩秒,用這個來達到榔頭一砸一收的效果。
接下來我們把中型電機轉動的語句放入if 語句裡,這樣如果有手靠近,那麼就把錘子砸下去。
現在這個小車已經有模有樣了但我還是不滿足,想要做乙個轉彎的功能。思路是這樣的:1、倒退一定距離(負功率)。2、乙個電機轉的慢,乙個電機轉的快,使其拐彎(看下面一幅圖,綠色環的外面轉的多,時間相同,速度要快,裡面轉的少,時間相同,速度要慢,乙個輪子速度快,乙個輪子速度慢,就能完成這個效果,比如圖上的兩根紅線,裡面的短,外面長,就可以從一根紅線的方向換到另一根紅線的方向)要使乙個電機轉的慢,乙個電機轉的快,那麼要使功率乙個大,乙個小,這就可以了。
源**:
from ev3dev.ev3 import *
from time import *
a=largemotor('outa')
b=largemotor('outb')
c=mediummotor('outc')
ids=infraredsensor()
while true:
a.run_timed(time_sp=1000,speed_sp=500)
b.run_timed(time_sp=1000,speed_sp=500)
sleep(1)
if ids.value()<=30:
sound.speak("please back")
c.run_timed(time_sp=2000,speed_sp=500)
sleep(2)
c.run_timed(time_sp=2000,speed_sp=-500)
#screen.draw.text((10,10),'please back',font=fonts.load('lubs14'))
a.run_timed(time_sp=3000,speed_sp=-300)
b.run_timed(time_sp=3000,speed_sp=-300)
sleep(3)
a.run_timed(time_sp=3000,speed_sp=30)
b.run_timed(time_sp=3000,speed_sp=300)
sleep(3)
C啟程之路
開起學習c了,就意為正式踏上了程式設計之路咯,在這之前早早就給自己做好了這方面的思想準備哦,其實除了電腦自己也不會其它的什麼,早就對這行業免疫了。寫程式也是矯正這顆焦躁的心,既然入了這行就應該盡自己最大的努力,見識,把程式寫好,陪養自己的知道深度,自己的辦事能力。之前還有乙個想法 就是提高英語的能力...
EV3自動校對光感思路
由於感測器硬體存在差異性,我們在編寫 時要根據使用的感測器返回的資料來設定不同的閥值。譬如光感,同樣的白底黑線,有的範圍是80 4,有的則是60 8,返回值有一定差異性。所以我們要測量每個感測器的返回值範圍,為每個光感分辨黑白都設定不同的閥值。在程式設計過程中沒有工具要取得這個合適的閥值是比較繁瑣的...
IT啟程之路 MyEclipse解除安裝重灌
could not find requested software com.genuitec.pulse2.client.launcher.group 針對這個問題,個人借鑑了網上的做法,以及自己的一些解決方案得到以下總結 對於windows xp使用者 一招比較管用的就是把 安裝目錄全部刪除以及把...