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 ...
随机推荐
- python3.6 +tkinter GUI编程 实现界面化的文本处理工具
更新: 2017.07.17 补充滚动条.win批处理拉起py 2017.08.13 新增自定义图标 --------原创 blogs: http://www.cnblogs.com/ ...
- Java内存模型—JMM
有时候编译器.处理器的优化会导致runtime与我们设想的不一样,为此Java对编译器和处理器做了一些限制,JAVA内存模型(JMM)将这些抽象出来,这样编写代码时就无需考虑那么多底层细节,并保证& ...
- 基于跳跃表的 ConcurrentSkipListMap 内部实现(Java 8)
我们知道 HashMap 是一种键值对形式的数据存储容器,但是它有一个缺点是,元素内部无序.由于它内部根据键的 hash 值取模表容量来得到元素的存储位置,所以整体上说 HashMap 是无序的一种容 ...
- 8.5 filecmp--文件和文件夹比較处理
本模块主要提供了对文件和文件夹进行简单的比較处理,假设须要复杂的文件比較须要使用difflib库来处理. filecmp.cmp(f1, f2, shallow=True) 比較文件f1和文件f2,当 ...
- mysql数据表最高速迁移,mysql的存储引擎为:myisam
本文链接:http://blog.csdn.net/u010670689/article/details/41346689 需求: 开发产品过程中,有个项目分支,数据库须要带数据拷贝,可是表的数据非常 ...
- OC对象与Core Foundation对象的转换
OC对象使用了ARC,自己主动释放内存,可是CF中的对象没有ARC,必需要手动进行引用计数和内存释放. 两者对象之间的互相转换有三种形式: 1.__bridge: 直接转换,部改变对象的持有状况: i ...
- anaconda不能安装python的包问题
在点了n次,重启应用多次之后,安装包(apply)之后还是没有反应,依然心平气和的我突然想到用管理员模式打开,结果就可以愉快的装包了,估计创建新的环境也是要管理员打开的.
- flask开发没有解决的bug记录
sqlalchemy.exc.InvalidRequestError sqlalchemy.exc.InvalidRequestError: This Session's transaction ha ...
- 【java】ArrayList、Iterator用法
package com.tn.collect; import java.util.ArrayList; import java.util.Iterator; class Product{ public ...
- JMeter接口测试系列:Jmeter+jenkins+ant 的自动化构建
在JMeter接口测试不断深入的过程中,发现可以和jenkins和ant一起搭配进行自动化的构建.下面是jmeter自动化构建的整理笔记. 准备环境 需要本机上确定安装了jmeter.ant和jenk ...