個(gè)人認(rèn)為预愤,Arduino植康, sketch和蘋果的swift playground是對(duì)小小碼農(nóng)或小白碼農(nóng)進(jìn)行軟件編程入門培訓(xùn)的三大神器销睁。
sketch是麻省理工研發(fā)的編程平臺(tái)。通過圖形化界面睡毒,像搭積木一樣簡單演顾,用戶只需用鼠標(biāo)來拖曳現(xiàn)成的組件隅居,如移動(dòng)胎源,變色乒融,旋轉(zhuǎn)赞季,縮放等來實(shí)現(xiàn)各種功能,如移動(dòng)到某個(gè)地方次绘,或者碰到墻壁后反彈等等邮偎。通過短時(shí)間的練習(xí)禾进,用戶很快會(huì)掌握循環(huán)廉涕,條件判斷等編程基本知識(shí)狐蜕,從而輕易入門层释。利用現(xiàn)成的組件,無數(shù)來自全球的用戶設(shè)計(jì)出極其專業(yè)的軟件个初,游戲以及動(dòng)畫猴蹂。感興趣的朋友請自行百度晕讲。
花一點(diǎn)點(diǎn)時(shí)間弄明白了單步瓢省,循環(huán),條件判斷,就可以開始編程了馒胆。就像學(xué)會(huì)了與睦尽、或型雳、非再加上個(gè)觸發(fā)器就可以開始設(shè)計(jì)CPU一樣纠俭。萬丈高樓平地起冤荆。再復(fù)雜的軟件,再復(fù)雜的集成電路都是這有限幾種積木堆起來的。
Swift playground 則更強(qiáng)調(diào)基本編程常識(shí)的培養(yǎng)涌庭,通過游戲來達(dá)到編程學(xué)習(xí)的目的坐榆。
Arduino
Arduino是一種開源軟件開源硬件的智能設(shè)備開發(fā)平臺(tái)席镀。其主要特點(diǎn)是資源豐富豪诲,有多種不同的Arduino主板屎篱,以及各種功能的盾板,也就是擴(kuò)展板。另一個(gè)重要特點(diǎn)是開發(fā)簡單秦士,基本可以實(shí)現(xiàn)即插即用隧土。Arduino是為藝術(shù)家快速演示自己的創(chuàng)意而設(shè)計(jì)的辐脖。
暑假趁兒子有空皆愉,從某寶買了基于Arduino的智能小車套件亥啦,陪他從一堆零件開始翔脱,一步一步組裝成一個(gè)遙控的小車。通過遙控器可以控制小車前進(jìn)倒后拐彎,同時(shí)小車會(huì)自動(dòng)避障疚沐。
插拔式設(shè)計(jì)
智能小車需要遙控功能,怎么辦辣吃?容易,買現(xiàn)成的紅外接收模塊厘惦,插上去就是了哩簿。
紅外接收模塊有三根線,電源国裳,地和信號(hào)輸入全跨。好辦,兒子自己將三根線連到正確的位置渺杉,然后我?guī)兔⑾鄳?yīng)的軟件挎貝進(jìn)去挪钓,兒子就開始自己調(diào)試碌上。
他很快就弄明白不同按鍵其實(shí)對(duì)應(yīng)不同值,通過信號(hào)線Arduino 可以分辨出是哪個(gè)鍵被按下馏予。然后只需要加入簡單的判斷就可以實(shí)現(xiàn)不同的控制霞丧。
極簡的軟件開發(fā)
Arduino 主板提供了二十一個(gè)信號(hào)管腳突那。Arduino 的軟件開發(fā)主要就只需要控制每個(gè)管腳是輸入還是輸出,輸出是高還是低早龟,輸入是高還是低。
我們的智能小車是前驅(qū),前面兩個(gè)輪子各由一個(gè)電機(jī)饵骨。每個(gè)電機(jī)有兩個(gè)控制信號(hào),分別控制輪子是正轉(zhuǎn)還是反轉(zhuǎn)妖混。
連接到設(shè)定的Arduino 信號(hào)管腳后制市,Arduino 可以控制左右電機(jī)都正轉(zhuǎn)弊予,剛小車前進(jìn);控制左右電機(jī)都反轉(zhuǎn)則小車倒退误褪;右電機(jī)正轉(zhuǎn)左電機(jī)反轉(zhuǎn)則左轉(zhuǎn)碾褂。
通過分別控制四根信號(hào)線的高低就可以實(shí)現(xiàn)車輛的各種運(yùn)行狀態(tài)正塌。初學(xué)者此時(shí)的學(xué)習(xí)重點(diǎn)是這幾個(gè)信號(hào)如何相互配合,這也是編程的重點(diǎn)帜羊,難點(diǎn)鸠天。
開源資源粮宛,站在巨人的肩膀上
只有你想不到,沒有你買不到巍杈。
無以計(jì)數(shù)的Arduino 擴(kuò)展板可以將各種復(fù)雜的功能簡化為簡單的控制筷畦,如無線連接刺洒,如攝像,聲音采集吼砂。初學(xué)者可以學(xué)習(xí)如何通過各種渠道逆航,獲得源碼渔肩,并集成到自己的軟件中去因俐。
短短幾天周偎,兒子在一步步擴(kuò)展智能小車功能的過程中,學(xué)習(xí)了不同的擴(kuò)展板澳眷,編寫了實(shí)現(xiàn)不同擴(kuò)展功能的代碼钳踊,親自實(shí)踐了小車一步步演進(jìn)的過程箍土。通過這個(gè)過程吴藻,增長了知識(shí)弓柱,培養(yǎng)了興趣矢空。培養(yǎng)了動(dòng)手能力屁药,軟件編程能力酿箭,也培養(yǎng)了一般智能系統(tǒng)的開發(fā)技巧。
感興趣的朋友可以評(píng)論提問缔御。