arduino與python
A. 本人老師,想學習arino編程,請問arino與pyhton有什麼關系
Arino更好,python是一種高級桌面語言,類似於JAVA,針對PC編程。微控制器上主要用在樹莓派編程。然而樹莓派和Arino最大的區別就是Arino開放完整全部的PCB設計文件,開放晶元數據表,包括全部寄存器描述和內核框架描述等,而且各種主流語言翻譯的都很好包括中文。Arino後期量產可以根據項目個性化更改PCB,添加和刪除板卡上的外設,更改PCB尺寸外形,介面位置等等。樹莓派主頻600M屬於高速板,核心晶元數據表資料不開放,不提供PCB文件,也就幾乎無法修改PCB,尺寸,增減外設。用樹莓派去開發,後期量產也是需要批量購買原始樹莓派板,外形,尺寸,外設都不能有變化。
Arino的本質:全世界各廠商主流微控制器底層程序標准化。由頂級高手們編寫主流微控制器底層驅動,固化封裝成更易用語言,減少BUG,增加終端產品開發效率。弱化項目中嵌入式軟體工程師的作用,強化硬體工程師和PCB設計工程師的作用。隨著PCB打樣技術成熟,價格低廉,完美符合當前市場價值要求。頻繁快速打樣的價格遠遠低於程序開發價格。可以避免以往前期平台軟體開發大量資金和時間投入,快速進入到項目運營研討和量產研討階段。
樹莓派的本質:固化硬體系統,尺寸,性能,外設增減都不可改,必須購買樹莓派原版硬體。避免硬體設計,避免PCB工程設計,打樣,焊接,調試。使用LINUX系統,強化嵌入式軟體工程師尤其是LINUX軟體工程師的作用,弱化硬體工程師和PCB設計工程師的作用。隨著電子技術的不斷進步,硬體新晶元日新月異,這種模式不符合發展潮流,LINUX的隨意更改,大量底層驅動軟體開發人員水平的良莠不齊,意味著層出不窮的軟體BUG和混亂的應用邏輯,最終影響終端產品的效果和數據安全性,可以參考早期各行業繁多曇花一現的LINUX嵌入式終端,開發軟體平台建設時間久,資金大,運營研討和量產研討拖得很久,變數大,風險高,成功率小。好處是,這種模式可以讓桌面操作系統的軟體工程師和互聯網軟體公司,找到微控制器應用領域的一個切入點,。應用LINUX系統去分ST,AT,TI,MICOCHIP等硬體晶元公司的終端產品一杯羹,實現過度,後期仍然要轉換到靈活硬體設計,固化軟體平台開發的軌道上來。
B. 能用python給arino編程嗎
過去,「Arino」的標簽意味著使用的開發板上有一個Atmel處理器,並且使用Arino軟體庫。現在不再如此。幾乎每家微處理器製造商都基於Arino板設計了一套開發工具,用到了它們自己的處理器和軟體。在《原型到產品:專業化的Arino》一文中,我提到Arino給開發者提供的最重要特性就是硬體兼容,並且能用它們自己的軟體。正在試圖融合Python和Arino優點的開發者需要尋找一款開發工具或是平台,符合硬體標准,能運行Python,但又不局限於使用Atmel處理器或是Arino代碼包。
在Arino上運行Python的小技巧就是尋找一個兼容Arino的開發工具,在上面運行Python。這個問題本質上就是尋找哪種型號的Arino板子有Python埠。沒有開發者會為了在單片機上運行Python而自己做遷移,盡管遷移Python很有趣,但是也非常耗費精力。當然還有其它的開發者,和開源的或者遷移的Python代碼。
強大的谷歌搜索告訴我們幾乎沒有合適的選擇。僅有的幾個之一的選擇是一款五年前的開源產品,名為Pymite。它使用的Python版本是2.5(不是最新的2.7版本),在過去兩年裡幾乎沒有更新。沒有活躍社區的支持,Pymite也免不了落入開源項目的陷阱中。Pymite可以作為一個方案,但是在出現問題的時候會很無助。
**第二種選擇是Micro Python。**Micro Python是一個Python 3的開源項目,針對單片機做了性能優化。(你可以閱讀《Micro Python入門教程》來了解它)。Micro Python近期匯集了一些資源,目前支持許多硬體平台,包括CC3200、ESP8266、PIC16和STM32。粗略瀏覽Micro Python代碼庫(如圖1)可以發現它對STM32家族的產品支持度要好於其它產品。
但是,這些單片機開發工具包在盒子之外還支持Micro Python嗎?對目前支持Micro Python的板子調研後發現,只有NETDUINO_PLUS_2和OLIMEX_E407有Arino兼容的輸出。OLIMEX_E407使用的處理器與PyBoard原產的405RG略有不同,但是Netino Plus 2使用完全相同的處理器。不幸的是,Netino Plus 2剛剛被淘汰。取而代之的是Netino Plus 3,它的處理器性能遠遠好於405RG。這款新處理器目前還沒有Micro Python的埠。因此,開發者只能使用Olimex板,或者能找到一塊可用的Netino Plus 2.
如果上述兩種方案對開發者來說都無法實現,用Arino板子運行Python的第三種方案就是在PyBoard板子和標准Arino引腳板子之間連一塊適配板。適配板也許是確保與原生Micro Python板以及將來更新相兼容的最佳方案。第四種方案就是基於405RG製作我們自己的Arino兼容板子,不過這樣我們的原型製作速度將大打折扣。
一個開發團隊是有可能整合Arino、硬體設備、Python編程的便捷性以及軟體開發的優勢。然而,目前並沒有一種唾手可得的經驗。開發者若想在Arino上運行Python,可以先寫好Python腳本,然後在Olimex 407或是Netino Plus 2上輕易地跑起來。
C. 這么多編程語言,為什麼少兒編程青睞Python和Scratch
這個與認知科學有關哦!
在認知科學中,人們是否能快速學習一樣東西或者堅持學習一樣東西和自我效能感(Self-efficacy )息息相關。自我效能感是指人們是否相信自己能達到一個目標,當相信的時候就會覺得做起來很帶勁,一點也不枯燥;當不相信的時候就覺得自己在飽受煎熬。簡單地理解就是成就感是讓人學習產生快樂並且堅持學習的重要原因。
類似的,如果我們希望孩子不會說自己「就不是一個編程的料」,最好的辦法就是讓孩子從第一步就產生成就感,從而產生自我效能感,也就是相信自己可以有能力達到目標,學好編程。
這就是為什麼少兒編程青睞 Scratch 的原因: 先讓孩子可以不恐懼編程,產生興趣,並且用編程表達自己。 等到孩子們已經產生了自信和成就感,再提高難度。如果都要選擇一門語言進入編程的世界,一定是選擇能讓孩子快速找到自信,找到成就感的語言。 那這種語言目前最好的就是 Scratch。
D. 想要在arino yun上運行python的程序應該怎麼做
老實說,還沒有開始arino編程。 不過據我了解的情況,它是用C語言的。根本不著python。 不過在樹莓派里有一個arino的開發環境。
至於多線程,這個東西是用中斷來實現的。 各種中斷,比如如果利用好時間中斷,可以編寫出類似python中stackless效果的程序結構。
E. 本人用python語言想學硬體開發,請問是選擇Arino好還是micropy
學習上都可以..micropy由於py語言太高級,需要在512KB內存以上的32bit板子,好像推薦都是1MB以上。arino用簡化的c,可以在幾十KB內存的8bit板子上運行。
F. arino能用python嗎
不是用Java編程的,現在用得最多的還是C語言編程。不過可以使用Java編寫的上位機對單片機進行控制(前提是單片機端也要編好對應的程序)。
G. python基於arino下多線程編程
老實說,還沒有開始arino編程。 不過據我了解的情況,它是用C語言的。根本不著python。 不過在樹莓派里有一個arino的開發環境。
至於多線程,這個東西是用中斷來實現的。 各種中斷,比如如果利用好時間中斷,可以編寫出類似python中stackless效果的程序結構。
H. 如何用python檢測arino引腳是否接通
from pyfirmata import Arino, util
import time
board = Arino('COM8')
pin1 = 5
pin2 = 6
board.digital[pin1].write(0) #向埠13寫入0
if board.digital[pin2].read() == 0:
board.digital[pin1].write(1) #向埠13寫入1
if board.digital[pin2].read() == 1:
print("兩引腳已接通")
exit(0)
print("兩引腳未接通")
#未測試,應該可用
I. arino 是怎麼運行python
把原有的flash擦除,再燒錄python固件,只提供思路,去csdn找方法。
J. arino,microbit,scratch,python入門學應該學哪個
這幾款軟體都可以入門,只不過針對的年齡段不同,
microbit適合低年齡孩子學習,但是國內教學的很少見,
scratch適合2到4年級孩子入門,積木化的指令,減少了小孩子輸入時可能存在的錯誤,讓學生先理解邏輯,然後學習編程,非常有助於孩子邏輯思維的開發。
如果直接學python,建議初中以後,因為純代碼編程還是比較枯燥的,小孩子沒有興趣的話不好學,內容來說是國家主要比賽考級的一門語言;
arino的最大特點就是從代碼編程的抽象,轉化到了看的見摸得著的線路板,非常有助於學生從抽象思維到實體的思維轉換,而語言模式更接近於C語言,建議有了一定編程基礎再學。
綜上,如果是入門2年級以前建議microbit,2年級以上可以考慮scratch。