ev3编程变量模块_英文视频教学翻译-机器人ev3编程学习的第二十讲:举例讲解数据变量模块编...
機(jī)器人ev3編程學(xué)習(xí)的第二十講:舉例講解數(shù)據(jù)變量模塊編- Rob
Widger
(為了容易理解,在原文的翻譯時(shí)做了修改 by
EV3-TOM)
這一節(jié)我給大家講解使用變量模塊的編程,這些我喜歡的例子也是我給中學(xué)生們授課時(shí)用的,它可能聯(lián)系到技術(shù)設(shè)計(jì)、數(shù)學(xué)、計(jì)算機(jī)學(xué)習(xí)。今天這個(gè)例子是一個(gè)停車場。我的汽車在這,還有兩個(gè)(停車場)的狀態(tài)-已經(jīng)滿了、或者還有空位。汽車這邊駛進(jìn),另一邊邊駛出,還有一個(gè)數(shù)字是表示有多少輛車停在里面。我們要做一個(gè)自動(dòng)系統(tǒng),編一個(gè)程序自動(dòng)控制這個(gè)停車場。
首先我們需要建立一種方,用來表示現(xiàn)在停車場有多少輛車,所以程序的第一段是一個(gè)數(shù)據(jù)N來代表當(dāng)前停車場里的車輛數(shù)。程序的第二段是,當(dāng)有車駛近欄桿時(shí)會(huì)發(fā)生什么。當(dāng)車駛進(jìn)時(shí),按一下按鍵,進(jìn)入了停車場,這個(gè)數(shù)據(jù)N應(yīng)該被改變。(原來是數(shù)據(jù)3),現(xiàn)在就應(yīng)該是4了。所以程序的第二段是,車輛數(shù)加一。程序的第三段應(yīng)該是當(dāng)有車離開時(shí),會(huì)發(fā)生什么。當(dāng)車駛離時(shí),碰觸了碰觸傳感器,這個(gè)停車場車輛數(shù)據(jù)就被改變了,減少了,從4又回到了3。所以(程序第三段)是有車輛駛出時(shí)(數(shù)據(jù)N要減一)。
所以我們就有三段程序要寫。一個(gè)停車場的監(jiān)控系統(tǒng),就是這個(gè)數(shù)據(jù),(監(jiān)控)有多少輛車在這個(gè)停車場里,編一個(gè)程序,有車進(jìn)來,按一下鍵,監(jiān)控?cái)?shù)據(jù)就增加一。有車駛出了,按一下鍵,監(jiān)控?cái)?shù)據(jù)就減一。
一個(gè)額外的事情就是,如果你愿意,要用一個(gè)中型電機(jī),按照54頁的說明,建立一個(gè)模型。因?yàn)槲乙呀?jīng)有了一個(gè)自動(dòng)欄桿模型在那了。編了一個(gè)程序控制欄桿的升起和落下,讓車進(jìn)出。下面我講解的是如果編程這個(gè)停車場的自動(dòng)(監(jiān)控)。
先打開文件,新項(xiàng)目,程序。這是一個(gè)長的程序,需要上下滾動(dòng)窗口。
下面我們從第一段開始,建立一個(gè)停車場內(nèi)的車輛數(shù)據(jù)N。我們先建立一個(gè)數(shù)據(jù)變量,起名“car park”。
(假設(shè))我的車很特殊,在我停進(jìn)來之前,這個(gè)停車場里沒有車。白天駛?cè)?#xff0c;晚上駛離。從早晨開始,這個(gè)停車場里是沒車的。所以我設(shè)這個(gè)變量car
park的初始值是0。接下來放一個(gè)循環(huán)指令模塊,要它不斷地讀這個(gè)變量。在這個(gè)循環(huán)指令里,我放car
park這個(gè)變量,并設(shè)成只讀屬性。我要這個(gè)數(shù)據(jù)不斷地在屏幕上顯示,所以我再加一個(gè)顯示指令模塊,連好變量輸出與顯示模塊輸入這間的連線。
現(xiàn)在我們就可以試一下,點(diǎn)擊開始,我在顯示上看到了數(shù)據(jù)0,所以我知道了這段程序沒問題。好,我們按一下跳出鍵停止程序運(yùn)行。現(xiàn)在進(jìn)行程序的第二部分,當(dāng)車駛?cè)霑r(shí),我們需要一個(gè)觸摸傳感器。當(dāng)車駛離時(shí),我需要另一個(gè)觸摸傳感器。
我們用輸入口1作為汽車駛?cè)胗|摸傳感器的輸入口,輸入口3是汽車駛出觸摸傳感器的輸入口。把觸摸傳感器裝上。下面讓我們編這部份控制程序。我們再加一個(gè)循環(huán)程序模塊,里面添加一個(gè)等待指令模塊,把它的屬性設(shè)成觸摸傳感器的比較模式中的碰撞檢測方式,所以它將只檢測一次鍵的按下然后松開這個(gè)過程。
下面我們需要的是,讀出car
park這個(gè)變量中的數(shù)據(jù),然后加一,然后把結(jié)果再存回這個(gè)car
park變量里面。三部:讀,加一(或減一),然后保存。好,我們再調(diào)入這個(gè)car
park變量,設(shè)成只讀,然后一個(gè)簡單的數(shù)學(xué)指令模塊,加一運(yùn)算,再調(diào)入這個(gè)car park變量,設(shè)成寫屬性,然后連線。
當(dāng)我們在編一個(gè)大的程序的時(shí)候,我建議學(xué)生不斷的要做(分步)測試,如果發(fā)現(xiàn)哪里不對了,可以及時(shí)對程序進(jìn)行修正。現(xiàn)在就讓我們對這部份程序運(yùn)行測試一下。運(yùn)行程序,開始顯示的是0,按一下這個(gè)觸摸傳感器,顯示了1,一輛車駛?cè)肓恕T侔匆幌?#xff0c;顯示2,很高興目前沒問題。
下面,向下滾動(dòng)窗口,留出空間寫程序的第三部分,車駛出時(shí)的狀況。我可以簡單的拷貝然后粘貼上面的程序,然后稍改一下。先加一循環(huán)指令模塊,里面加上觸摸傳感器等待指令模塊,并把這個(gè)傳感器插入輸入口3,
因?yàn)檫@是汽車的駛出情況,所以這個(gè)循環(huán)中的數(shù)學(xué)模塊是減一計(jì)算,然再把結(jié)果存回變量car park中。
好,運(yùn)行一下,現(xiàn)在還沒車在停車場,車輛駛?cè)?#xff0c;我按車輛駛?cè)腈I,顯示1,又一輛車駛?cè)?#xff0c;顯示2,按車駛出鍵,數(shù)字應(yīng)該減一。不對,程序有地方出錯(cuò)了,讓我查一下,是我把兩個(gè)觸摸傳感器都設(shè)成了口1,
這時(shí),我們就需要對這個(gè)程序進(jìn)行調(diào)試糾錯(cuò)。先停止運(yùn)行我的程序,把下面這個(gè)觸摸傳感器(車輛駛出)的口改成3。
然后運(yùn)行一下,按車輛駛?cè)腈I,1,再按一下,2,現(xiàn)在按駛出鍵,回到了1,精彩。這就是程序調(diào)試糾錯(cuò)的一個(gè)過程,很重要。上面這個(gè)很好的例子,演示了變量模塊在程序中的作用。
總結(jié)
以上是生活随笔為你收集整理的ev3编程变量模块_英文视频教学翻译-机器人ev3编程学习的第二十讲:举例讲解数据变量模块编...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 京东登陆
- 下一篇: 关于微功率短距离无线电发射设备,无需做S