文档章节

Micropython+STM32制作加速度传感器无线小车

bodasisiter
 bodasisiter
发布于 2016/09/20 11:11
字数 1548
阅读 248
收藏 0
点赞 0
评论 0

    现在无线控制已经成为了电子科学领域的主流,这次就来教大家做一个主流中的主流--无线控制的小车,先给大家看一下最终的成品演示视频:(小车详细演示视频请参见:http://www.micropython.net.cn典型实例页面)。

成品图

    首先介绍一下需要用到的材料:

  •     TPYBoardv102开发板两块
  •     小车底盘一个
  •     LORA无线模块两块
  •     充电宝一个
  •     9014三极管两个(为什么用到它呢,后面再说)。

    在这个开发板上有一个及速度传感器,我是看到开发板上有个加速度传感器才想起来这样做的,这里的呢我们先介绍一下加速度传感器。(注:本人用的是下面的开发板,大家可根据个人喜好自行选择,这里仅以此板子为例)Micropython+STM32

    加速度传感器,包括由硅膜片、上盖、下盖,膜片处于上盖、下盖之间,键合在一起;一维或二维纳米材料 、金电极和引线分布在膜片上,并采用压焊工艺引出导线;工业现场测振传感器,主要是压电式加速度传感器。其工作原理主要利于压电敏感元件的压电效应得到与振动或者压力成正比的电荷量或者电压量。目前工业现场典型采用IEPE型加速度传感器,及内置IC电路压电加速度传感器,传感器输出与振动量正正比的电压信号,例如:100mV/g (每个加速度单位输出100mV电压值。1g=9.81m/s-2)。Micropython+STM32


    关于上面的介绍你是不是没看懂?没看懂也没关系,那是我参照官方的介绍写的,其实我也看不懂。其实通俗的说吧,加速度传感器就是通过测量由于重力引起的加速度,你可以计算出设备相对于水平面的倾斜角度。通过分析动态加速度,你可以分析出设备移动的方式。是不是还是不太懂怎么获取这个倾斜的值?那也没关系,我们的Python语言里有获得这个倾斜值的函数,直接使用就可以啦。但是这里值得注意的是,这个函数返回的倾斜度是一个值,每一个传感器因为做工时的差异,返回值不同,这个需要大家自己做实验看一下。Micropython+STM32


    得到倾斜值后,下面的工作的就简单了,那就是判断板子在怎么倾斜,然后把倾斜的信号传出去,这样就OK啦,妥妥哒。


    介绍完了这控制端的,那咱们得说说怎么把控制的信号传出吧。这里呢主要是使用了lora模块,这个模块现在还是挺流行的。我亲自去做过一个传输距离的实验,具体的距离我没测,但是我感觉最起码也得有个二三里地吧,这距离对于做个小车妥妥哒够用啦。


    说一下lora模块的使用吧,lora模块的使用呢,也很简单,串口通信,无线透传。就是说你使用单片机通过串口给模块什么,模块就给你传输什么(定点的话需要带上地址信道),这个lora模块说明说的很详细。但是是不是觉得还要用串口,感觉好麻烦?我也觉得麻烦,但是Python语言和这个开发板的功能都很强大,有一个写好的使用串口的方法,直接调用就可以(瞬间感觉开发好简单啦)。Micropython+STM32


    上面介绍了控制端的工作和原理,下面说一下被控制端(就是按在小车上的)。


    被控制端就是要使用开发板控制小车地盘的电机转动,这里被我被坑了一次,我在某宝上买这架车的时候,问了客服需不需要其他的东西,客服说不用。我感觉现在连电机的驱动都不用啦,感觉好高端,但是买回来发现还是需要一个L298N驱动。瞬间感觉被骗了,但是,悲愤的同时,我的两个9014上场了,简单的做了一个三极管开关电路,妥妥哒(虽然速度略慢)。


    信号接收部分,这个和控制端差不多的,都是使用了lora模块,然后把收到的数据做判断。判断后再按照自己的逻辑驱动电机,小车就开起来了(小车怎么拐弯的我就不介绍了,网上教程大把多)。


    上面说了这么多,其实也很抽象啦,下面来个聚象的,上图。  先上一个自己画的简单的原理图。

控制器

被控制端

    这两张图是我画来帮助大家理解的(我这样做的被控制端的电路,速度略慢。大家可以在驱动那里做个放大电路,速度可以上去的,但是不能后退,大家可以直接使用L298N驱动。),我做的时候是使用杜邦线的,并没有电路图,再上一张成品图给大家看。

    这些都是给大家参考的,大家做的时候多学习多看看,亲身体验了才能真的学到东西。
    下面的程序给大家,大家可以参考一下。更加具体的代码操作请查看http://www.micropython.net.cn

   

   本次使用的开始板 TPYBoard是遵守MIT协议由TurnipSmart公司制作的一款MicroPython开发板,它 是基于STM32F405单片机,通过USB接口进行数据传输。该开发板内置4个LED灯、一个 加速传感器、时钟模块,可在3V-10V之间的电压正常工作。

© 著作权归作者所有

共有 人打赏支持
bodasisiter
粉丝 14
博文 129
码字总数 116849
作品 0
潍坊
安卓开发中的重力感应传感器

安卓开发中拥有多种传感器,google提供了11种传感器供应用层使用:加速度、磁力、方向、陀螺仪、光线、压力(返回当前压强)、温度、接近(检测物体与手机的距离)、重力、线性加速度和旋转矢...

Vincent540329 ⋅ 2015/09/29 ⋅ 0

Arduino教程汇总

原始链接:Arduino教程汇总贴 (有更新) 初识arduino http://www.arduino.cn/thread-1083-1-1.html 常见arduino版本比较 http://www.arduino.cn/thread-1192-1-1.html arduino驱动安装方法 ht......

小堤 ⋅ 2013/05/26 ⋅ 15

基于Raspberry Pi的智能小车

差不多一个月以前,发现有raspberry pi这个东东。于是买了一个B+的版本,刚开始买回来就用手机充电器做电源,连上HDMI顺利配置好了。然后就开始折腾,大概尝试了这些东东: (1)配置固定IP,...

jady3356 ⋅ 2014/10/10 ⋅ 8

对手指翻页说再见

今天打完乒乓球,回寝室的路上,一边走一边看(手拿着手机,大概相对于水平面倾斜20-30度)IT行业老大们的微博。其中一条李开复老师的微博引起了我的注意,主题为中国式的创新,我看到很多人...

ExploreTree ⋅ 2012/10/27 ⋅ 13

Micropython 红外防坠落小车制作实验

智能小车现在差不多是电子竞赛或者DIY中的主流了,寻迹,壁障,遥控什么的,相信大家也都见得很多了,这次就大家探讨一下防坠落小车的制作方法,不同于以往的是这次的程序不用C语言写,而是要...

bodasisiter ⋅ 01/13 ⋅ 0

智能小车--Smart Car

智能小车,使用的传感器有八路循迹模块、超声波模块、光强检测模块、NRF24L01 2.4G 无线模块、颜色识别模块、红外发射模块。 具有循迹+过路口修复+超声波避障+光强检测+NRF24L01+红绿识别+红...

饕餮人 ⋅ 2016/11/23 ⋅ 0

Cubieboard的第一辆小车[附视频]- first cubieboard car[with v

2013-4-4 更新为双语版。 见笑 Red text for english speaker 2013-4-7:更新一些细节,见8楼 2013-4-7: some update for detail, goto floor 8 2013-5-24更新:升级了下下车车身,马力更加强...

cubieboard ⋅ 2014/08/29 ⋅ 0

物联网与嵌入式之间有什么联系?

何为物联网(IoT, internet of things)?从物联网学习的角度来说,物联网是在嵌入式的传统培训模式或者学习道路上,增加了一些互联互通,加了无线传输(ZigBee、BLE、Wi-Fi等),加了传感器,加...

长沙千锋 ⋅ 05/30 ⋅ 0

Micropython TurnipBit的蓝牙使用

为了部落 什么是TurnipBit开发板 TurnipBit开发板由TurnipSmart公司制作的一款MicroPython开发板,基于nrf51822芯片为主控芯片,以MKL26Z128VFM4芯片作为边载辅助芯片,板载5*5LED灯,板载加...

bodasisiter ⋅ 05/19 ⋅ 0

手机传感器

手机传感器检测安卓手机上所有可用感应器,并通过图像生动的展示它们是如何运作的。手机传感器也能够识别该手机硬件支持哪些传感器,并提供对我们日常生活起着重要作用的传感工具。手机传感器...

Airship ⋅ 2015/03/04 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Day 17 vim简介与一般模式介绍

vim简介 vi和Vim的最大区别就是编辑一个文件时vi不会显示颜色,而Vim会显示颜色。显示颜色更便于用户编辑,凄然功能没有太大的区别 使用 yum install -y vim-enhanced 安装 vim的三种常用模式...

杉下 ⋅ 30分钟前 ⋅ 0

【每天一个JQuery特效】根据可见状态确定是否显示或隐藏元素(3)

效果图示: 主要代码: <!DOCTYPE html><html><head><meta charset="UTF-8"><title>根据可见状态确定 是否显示或隐藏元素</title><script src="js/jquery-3.3.1.min.js" ty......

Rhymo-Wu ⋅ 40分钟前 ⋅ 0

OSChina 周四乱弹 —— 初中我身体就已经垮了,不知道为什么

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @加油东溪少年 :下完这场雨 后弦 《下完这场雨》- 后弦 手机党少年们想听歌,请使劲儿戳(这里) @马丁的代码 :买了日本 日本果然赢了 翻了...

小小编辑 ⋅ 58分钟前 ⋅ 8

浅谈springboot Web模式下的线程安全问题

我们在@RestController下,一般都是@AutoWired一些Service,由于这些Service都是单例,所以并不存在线程安全问题。 由于Controller本身是单例模式 (非线程安全的), 这意味着每个request过来,...

算法之名 ⋅ 今天 ⋅ 0

知乎Java数据结构

作者:匿名用户 链接:https://www.zhihu.com/question/35947829/answer/66113038 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 感觉知乎上嘲讽题主简...

颖伙虫 ⋅ 今天 ⋅ 0

Confluence 6 恢复一个站点有关使用站点导出为备份的说明

推荐使用生产备份策略。我们推荐你针对你的生产环境中使用的 Confluence 参考 Production Backup Strategy 页面中的内容进行备份和恢复(这个需要你备份你的数据库和 home 目录)。XML 导出备...

honeymose ⋅ 今天 ⋅ 0

JavaScript零基础入门——(九)JavaScript的函数

JavaScript零基础入门——(九)JavaScript的函数 欢迎回到我们的JavaScript零基础入门,上一节课我们了解了有关JS中数组的相关知识点,不知道大家有没有自己去敲一敲,消化一下?这一节课,...

JandenMa ⋅ 今天 ⋅ 0

火狐浏览器各版本下载及插件httprequest

各版本下载地址:http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/ httprequest插件截至57版本可用

xiaoge2016 ⋅ 今天 ⋅ 0

Docker系列教程28-实战:使用Docker Compose运行ELK

原文:http://www.itmuch.com/docker/28-docker-compose-in-action-elk/,转载请说明出处。 ElasticSearch【存储】 Logtash【日志聚合器】 Kibana【界面】 答案: version: '2'services: ...

周立_ITMuch ⋅ 今天 ⋅ 0

使用快嘉sdkg极速搭建接口模拟系统

在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编...

fastjrun ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部