TPYBoard V102:能跑Python的stm32開發板
近來micropython語言做硬件編程很火,隨之而來的就開始帶動著支持micropython語言編程的開發板也開始火的發燙,今天小編就來和大家介紹一款很經典的micropython開發板—TPYBoardV102開發板。
一.板載硬件資源介紹
按照慣例先來介紹一個這塊開發板的硬件組成,個人感覺這個開發板的性能還是屬於相當不錯的,下面詳細介紹一下。
TPYBoardV102是以遵照MIT許可的MicroPython為基礎,由TurnipSmart公司制作的一款MicroPython開發板,它基於STM32F405單片機,通過USB接口進行數據傳輸。該開發板內置4個LED燈、一個加速度傳感器,可在3V-10V之間的電壓正常工作。
主控芯片采用STM32F405,M4的內核,168MHZ的最高運行速度,1024KB的Flash,192KB的RAM,這個配置完全可以做滿足大部分的實驗學習和工業開發。
SD卡存儲功能,最大支持8G內存的內存卡,完全不用擔心采集來的數據沒地方放,透露個小秘訣,這個板子緊急時刻還能客串一把讀卡器。
板載四個LED燈,可以用來指示當前代碼的運行狀態,做各種報警或者狀態顯示等等,實在無聊還能做個流水燈,呼吸燈或者流水呼吸燈都行。
TPYBoardV102開發板上板載了一個加速度傳感器,可以讀取當前板子的傾斜和運動的狀態,可以做一個實時的運動狀態監測。
板載了兩個按鍵,一個是復位按鍵,另一個按鍵是給用戶自己自定義用的。
TPYBoardV102開發板
二.板載接口資源介紹
介紹了板載硬件器件,再介紹一下板子上硬件接口資源:
接口 數量 備註
GPIO 30 支持5V的有28個
SPI 2
CAN 2
I2C 2
USART 5
ADC 12 精度12bit
DAC 2
SWD 1
TPYBoardV102開發板針腳圖
這些硬件接口資源用作實驗和開發完全夠用了。
三.典型實驗介紹
接下來介紹一下我用這個板子做過的一些小實驗。
1.板載器件實驗介紹
先來說一下用過的板載的器件做的實驗:
利用板載的加速度傳感器和LED燈實驗使用加速度傳感器,這個實驗是在采集了加速度傳感器的返回值後,根據返回值進行判斷,從而通過板載LED燈的狀態來反應出當前開發板的狀態。
這個功能很實用,可以利用這個功能可以實時檢測很多物體運動狀態,最經典的我感覺就是在汽車的碰撞試驗中的應用了。
2.連接外設實驗介紹
這個開發板上帶了很多的硬件接口,非常方便大家連接外設,下面介紹幾個比較經典又常用外設器件在TPYBoardV102開發板上的使用:
1.聲光控小夜燈
利用TPYBoardV102開發板連接光敏電阻傳感器和咪頭傳感器,做一個聲光控小夜燈的實驗,這個燈就用板子上帶的LED就可以。
這個實驗雖然很簡單,但是很直接說明了聲控燈的基本原理,在這個實驗中同時用到了ADC接口和GPIO接口,在學習方面很實用的;
2.智能亮度調節小夜燈
利用TPYBoardV102開發板連接光敏電阻加上板載的LED燈,可以做一個所在地光線越暗,板子LED燈越亮度實驗。
這個實驗在使用了ADC接口的同時,還使用了PWM輸出的功能,做成功這個實驗之後,就可以做呼吸燈這一類的實驗了。
3.DIY時鐘
利用TPYBoardV102開發板連接LCD5110顯示屏和DS3231時鐘模塊制作一個實時顯示溫度和時間日期的小電子表,要是再加上個蜂鳴器就可以做成一個鬧鐘。
這個實驗主要是為了學使用LCD5110顯示屏和DS3231時鐘模塊,最重要是學習SPI和I2C硬件接口的使用方法,學會SPI和I2C硬件接口後就可以使用一些列的SPI和I2C接口的器件了。
4.DIY溫濕度計
利用TPYBoardV102開發板連接LCD5110顯示屏和DHT11制作一個溫濕度檢測儀,這個就屬於很實用的了,板子不做實驗的時候可以擺在桌上還能看看溫度濕度什麽,用著自己的做的東西,心情肯定不一樣。
這個實驗主要是在學習使用DHT11器件和單總線的使用方法,主要的還是學習單總線的使用方法,學會單總線的使用後,就可以使用很多類似DHT11和18B20這一類的器件,還可以在兩個芯片之間使用單總線通信。
5.紅外尋跡小車
利用TPYBoardV102開發板連接紅外傳感器模塊結合小車底盤,做一個紅外尋跡小車。
這個實驗很簡單了,主要是為了學習一下L298N電機驅動模塊的使用方法。
6.藍牙無線小車
利用TPYBoardV102開發板連接藍牙模塊結合小車底盤制作一個藍牙無線小車,藍牙無線小車應該可以算得上的智能小車裏面的經典了,這個開發板做智能小車的DIY實驗制作還是很不錯的。
這個實驗最好是在基於紅外循跡小車的基礎上來做,同時學習一個串口的使用方法,個人感覺這個開發板上串口的使用做的還是非常人性化的了,配置串口非常簡單,只需要一行代碼即可,對於串口數據的收發也只需要一行代碼就可以完成。
關於串口,還有一點個人感覺非常實用的函數封裝,就是在我不需要使用串口的時候,可以把串口關掉,而且也只需要一句代碼就可以完成,這樣一來在長期工作的時候可以節省下很多的功耗,同時也能減少一些不必要的幹擾。
這裏就和大家簡單的介紹這幾個小實驗,更多的實驗和教程大家可以訪問:
www.micropython.net.cn
這裏有很多例程和教程,都是完全對外開放的,非常方便大家學習。
TPYBoard V102:能跑Python的stm32開發板