開源硬件編程
? ? ? 朋友們大家好,今天跟大家分享的是開源硬件編程。
一、micro:bit from BBC介紹
? 25個獨(dú)立編程的LED
? 2個可編程的按鈕
? 1個reset按鈕
? microUSB接口
? 3V電源接口
? 光線傳感器、溫度傳感器
? 加速計、電子羅盤
? 無線通信:射頻以及藍(lán)牙

二、micro:bit擴(kuò)展引腳
? 電路板邊緣23個引腳
? 3.3V,GND
? 21個GPIO
? 6個ADC,模擬輸入10bit
? 6個PWN DAC
? I2C總線
? SPI串口
? UART串口

三、掌控板介紹
1.ESP-32主控
? 雙核處理器,240MHz
? 內(nèi)存:520KB,Flash 8MB
? WiFi,藍(lán)牙
2.傳感器
? 加速計,磁力計
? 光線傳感器,麥克風(fēng)
? 3*全彩LED,1.3寸OLED屏128*64
? 無源蜂鳴器
? 2*按鍵AB,6*觸摸鍵


3.掌控板拓展接口
? 20通道數(shù)字I/O, (其中支持12路PWM,6路觸摸輸入) ? 5通道12bit模擬輸入ADC,P0~P4
? 1路的外部輸入鱷魚夾接口:EXT/GND
? 支持I2C、UART、SPI通訊協(xié)議

四、AIoT單片機(jī):MAIX Dock
國產(chǎn)RISCV芯片K210
? 雙核64bit,400MHz
? 8MB RAM/16M Flash
? WiFi
? 攝像頭/LCD接口
? CNN神經(jīng)網(wǎng)絡(luò)加速
? 圖像、視頻、音頻處理

五、micropython單片機(jī)編程的過程
在PC上編寫程序下載到單片機(jī)運(yùn)行,并觀察運(yùn)行結(jié)果,片機(jī)可以脫離PC自主運(yùn) 行程序,只需要正常供電即可,錯誤的話再回到PC上修改。重復(fù)上述過程。

六、舉例
1.寫一個程序:Hello World!
? microbit基本硬件的訪問都在模塊microbit中
? 通常,首先導(dǎo)入microbit模塊的所有對象
? 我們來寫第一個helloworld程序

2. 內(nèi)置Image對象
microbit模塊內(nèi)置了數(shù)十個Image對象,可以直接調(diào)用Image.HAPPY

圖片Image.HAPPY在硬件上顯示出來

3. 事件循環(huán)和處理
如果是檢測按鈕動作,一般需要無限循環(huán)來等待事件發(fā)生
? while True:
? 判斷is_pressed()是否True
? 可以用邏輯運(yùn)算符連接條 件
? 同時成立and
? 任一成立or
? 成立not

4. 音樂模塊
? music模塊可以從引腳輸出音樂,由喇叭播放
? 內(nèi)置音樂樂曲
? 由音符編寫樂曲
? 發(fā)出指定頻率聲音

5. 音符和組成樂曲
1. 音符的格式
? 音符[八度][:時長]
? 音符:CDEFGAB, #, b, R
? 八度:0~8,4是中音
? 時長:整數(shù),tick的數(shù)量
2. music.play
? 單個音符,或者音符的序列
? pin=pin0:播放的引腳
? wait=True:等待播放結(jié)束
? loop=False:無限循環(huán)

推薦閱讀
多媒體程序開發(fā)
《數(shù)據(jù)科學(xué)與人工智能》公眾號推薦朋友們學(xué)習(xí)和使用Python語言,需要加入Python語言群的,請掃碼加我個人微信,備注【姓名-Python群】,我誠邀你入群,大家學(xué)習(xí)和分享。
? ? 關(guān)于Python語言,有任何問題或者想法,請留言或者加群討論。
