近来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开发板的更多相关文章

  1. 复习完毕STM32开发板

        经过半个晚上的折腾,终于复习了STM32开发板,并使用ST官方库调试完毕一个printf重定向到串口的程序,3.5的库同以前的库不大一样,不过最终搞好了可以睡觉了,还可以睡7个小时.     ...

  2. 转载:百为STM32开发板教程之十二——NAND FLASH

    http://bbs.21ic.com/icview-586200-1-1.html 百为STM32开发板教程之十二——NAND FLASH 参考资料:百为stm32开发板光盘V3\百为stm32开发 ...

  3. 转载:百为STM32开发板教程之十一——NOR FLASH

    转载:http://bbs.21ic.com/icview-586199-1-1.html 百为STM32开发板教程之十一——NOR FLASH 参考文档:百为stm32开发板光盘\st官方参考资料\ ...

  4. stm32开发板无法正常写入的问题或者写入后无法正常运行的问题

    在调试stm32的程序的时候遇到这样一个问题. 用Keil往stm32里写入程序时出现无法访问内存的错误.情况如下 然后 J-link没有提示异常.偶尔可以下载成功,但是程序无法正确的执行. 经过一番 ...

  5. 学完STM32开发板,就选4412开发板让你有目标的学习嵌入式开发

    600余页用户使用手册 linux实验手册(资料不断更新)100期配套零基础高清视频教程 轻松入门 (资料不断更新)2000人售后认证群 在线支持 售后无忧 源码全开源  原厂技术资料经典学习书籍推荐 ...

  6. 制作STM32开发板要买的电子元器件

    1.STM32F103VET6芯片 2.电阻(10K.1.5K.1K.510R.47R.27R.0R) 3.电容(104.4.7uf.1uf.22uf.10pf.) 4.二极管(普通二极管D1206. ...

  7. 用Altium Designer16 绘制STM32开发板PCB 笔记

    第一部分 Altium designer 软件概括 一.安装:要安装英文版,只安装pcb design和importers/exporters 二.设置:dxp-preferences我们关心的是sy ...

  8. STM32开发板的TIM3开启和关闭

    关闭定时器中断要考虑好多情况 1)关闭定时器时,定时器是否在处在工作状态 2)关闭定时器时,定时器是否正好进入中断,造成关闭程序出现断层,进而无法实现完整关闭程序,此时可以使用高一级别的外部中断强制进 ...

  9. Python玩转硬件:TPYBoard-Micropython开发板大盘点

    学习python能做什么? 可以快速搭建一个漂亮的网站 可以写爬虫 实现微信机器人助手 可以实现很多自动化的任务 -- IEEE发布2017年编程语言排行榜:Python更是高居首位,那么Python ...

随机推荐

  1. python3.6 +tkinter GUI编程 实现界面化的文本处理工具

    更新: 2017.07.17 补充滚动条.win批处理拉起py 2017.08.13 新增自定义图标 --------原创      blogs:    http://www.cnblogs.com/ ...

  2. Java内存模型—JMM

     有时候编译器.处理器的优化会导致runtime与我们设想的不一样,为此Java对编译器和处理器做了一些限制,JAVA内存模型(JMM)将这些抽象出来,这样编写代码时就无需考虑那么多底层细节,并保证& ...

  3. 基于跳跃表的 ConcurrentSkipListMap 内部实现(Java 8)

    我们知道 HashMap 是一种键值对形式的数据存储容器,但是它有一个缺点是,元素内部无序.由于它内部根据键的 hash 值取模表容量来得到元素的存储位置,所以整体上说 HashMap 是无序的一种容 ...

  4. 8.5 filecmp--文件和文件夹比較处理

    本模块主要提供了对文件和文件夹进行简单的比較处理,假设须要复杂的文件比較须要使用difflib库来处理. filecmp.cmp(f1, f2, shallow=True) 比較文件f1和文件f2,当 ...

  5. mysql数据表最高速迁移,mysql的存储引擎为:myisam

    本文链接:http://blog.csdn.net/u010670689/article/details/41346689 需求: 开发产品过程中,有个项目分支,数据库须要带数据拷贝,可是表的数据非常 ...

  6. OC对象与Core Foundation对象的转换

    OC对象使用了ARC,自己主动释放内存,可是CF中的对象没有ARC,必需要手动进行引用计数和内存释放. 两者对象之间的互相转换有三种形式: 1.__bridge: 直接转换,部改变对象的持有状况: i ...

  7. anaconda不能安装python的包问题

    在点了n次,重启应用多次之后,安装包(apply)之后还是没有反应,依然心平气和的我突然想到用管理员模式打开,结果就可以愉快的装包了,估计创建新的环境也是要管理员打开的.

  8. flask开发没有解决的bug记录

    sqlalchemy.exc.InvalidRequestError sqlalchemy.exc.InvalidRequestError: This Session's transaction ha ...

  9. 【java】ArrayList、Iterator用法

    package com.tn.collect; import java.util.ArrayList; import java.util.Iterator; class Product{ public ...

  10. JMeter接口测试系列:Jmeter+jenkins+ant 的自动化构建

    在JMeter接口测试不断深入的过程中,发现可以和jenkins和ant一起搭配进行自动化的构建.下面是jmeter自动化构建的整理笔记. 准备环境 需要本机上确定安装了jmeter.ant和jenk ...