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开发板的更多相关文章
- 复习完毕STM32开发板
经过半个晚上的折腾,终于复习了STM32开发板,并使用ST官方库调试完毕一个printf重定向到串口的程序,3.5的库同以前的库不大一样,不过最终搞好了可以睡觉了,还可以睡7个小时. ...
- 转载:百为STM32开发板教程之十二——NAND FLASH
http://bbs.21ic.com/icview-586200-1-1.html 百为STM32开发板教程之十二——NAND FLASH 参考资料:百为stm32开发板光盘V3\百为stm32开发 ...
- 转载:百为STM32开发板教程之十一——NOR FLASH
转载:http://bbs.21ic.com/icview-586199-1-1.html 百为STM32开发板教程之十一——NOR FLASH 参考文档:百为stm32开发板光盘\st官方参考资料\ ...
- stm32开发板无法正常写入的问题或者写入后无法正常运行的问题
在调试stm32的程序的时候遇到这样一个问题. 用Keil往stm32里写入程序时出现无法访问内存的错误.情况如下 然后 J-link没有提示异常.偶尔可以下载成功,但是程序无法正确的执行. 经过一番 ...
- 学完STM32开发板,就选4412开发板让你有目标的学习嵌入式开发
600余页用户使用手册 linux实验手册(资料不断更新)100期配套零基础高清视频教程 轻松入门 (资料不断更新)2000人售后认证群 在线支持 售后无忧 源码全开源 原厂技术资料经典学习书籍推荐 ...
- 制作STM32开发板要买的电子元器件
1.STM32F103VET6芯片 2.电阻(10K.1.5K.1K.510R.47R.27R.0R) 3.电容(104.4.7uf.1uf.22uf.10pf.) 4.二极管(普通二极管D1206. ...
- 用Altium Designer16 绘制STM32开发板PCB 笔记
第一部分 Altium designer 软件概括 一.安装:要安装英文版,只安装pcb design和importers/exporters 二.设置:dxp-preferences我们关心的是sy ...
- STM32开发板的TIM3开启和关闭
关闭定时器中断要考虑好多情况 1)关闭定时器时,定时器是否在处在工作状态 2)关闭定时器时,定时器是否正好进入中断,造成关闭程序出现断层,进而无法实现完整关闭程序,此时可以使用高一级别的外部中断强制进 ...
- Python玩转硬件:TPYBoard-Micropython开发板大盘点
学习python能做什么? 可以快速搭建一个漂亮的网站 可以写爬虫 实现微信机器人助手 可以实现很多自动化的任务 -- IEEE发布2017年编程语言排行榜:Python更是高居首位,那么Python ...
随机推荐
- MySQL系列:基于binlog的增量订阅与消费(一)
在一些业务场景中,像在数据分析中我们有时候需要捕获数据变化(CDC):在数据审计中,我们也往往需要知道数据从这个点到另一个点的变化:同样在实时分析中,我们有时候需要看到某个值得实时变化等. 要解决以上 ...
- LDA主题模型学习笔记5:C源代码理解
1.说明 本文对LDA原始论文的作者所提供的C代码中LDA的主要逻辑部分做凝视,原代码可在这里下载到:https://github.com/Blei-Lab/lda-c 这份代码实现论文<Lat ...
- 树莓派学习笔记——USB wifi配置指南
0 前言 树莓派既能够使用有线网络又能够无线网络,假设使用有线网络不方便的话能够借助USB wifi无线网卡让树莓派也插上无线"翅膀". 可是和使用有线网络即插即用的方式不 ...
- POJ 2506 Tiling
Tiling Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7437 Accepted: 3635 Descriptio ...
- SYSAUX表空间使用率高问题处理
SYSAUX表空间做为SYSTEM表空间的辅助表空间,主要存放EM相关的内容以及表统计信息,AWR快照,审计信息等,而假设SYSAUX表空间在默认条件下你假设不做不论什么配置,随着时间的推移.会膨胀的 ...
- Jquery对话框基本配置
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px "PingFang SC" } p.p2 { margin: 0.0px ...
- 关于flask登录视图报错AttributeError: '_AppCtxGlobals' object has no attribute 'user'
在一个小程序中写了一个登录视图函数,代码如下: @app.route('/login',methods = ['GET','POST']) @oid.loginhandler def login(): ...
- django的CMS系统(内容管理系统)
一.什么是CMS系统 CMS具有许多基于模板的优秀设计,可以减少开发的成本. CMS的功能并不只限于文本处理,它也可以处理图片.Flash动画.声像流.图像甚至电子邮件档案. CMS还分各个平台脚本种 ...
- 配置SQL Server on Linux(1)
1. 背景 SQL Server一般是在安装过程中进行相关的配置,安装完成之后,再去修改有一些配置就比较麻烦,比如更改SQL Server实例级别的排序规则.但在Linux下,安装过程并没有很多可以配 ...
- InfluxDb中写入重复数据问题解决方案
1.InfluxDb版本 0.10.3 2.Measurement TodayChargeTimeReport 只有time和Field列,没有Tag列 3.现象:通过定时任务向上面的表中写入数据: ...