TurnipBit之DIY无线遥控智能小车
一、准备工作
TurnipBit 开发板 2块
TurnipBit 扩展板 1块
数据线 1条
智能小车器件 1套
电机驱动模块(L298N) 1个
在线可视化编程 点击进入
二、思路设计
2块TurnipBit开发板,1块模拟体感器,用于采集人体的动作变化,并将这些信息发送给接收器;另1块当做接收器,用来接收模拟设备的数据,同时控制小车执行相应的动作。
三、无线智能遥控车的实现
1、功能区点击加速度传感器,选择判断当前…的动作。如下图:

本次实验主要涉及到5种动作,即:向上、向左、向右、正面、反面。
接下来展开分析一下,这5种动作对应的TurnipBit板子的实物状态。
向上:TurnipBit正面(带有LED灯、按键)朝向我们,如下图:

向左:依照向上的动作,逆时针向左旋转90度。如下图:

向右:依照向上的动作,顺时针向右旋转90度。如下图:

正面:依照向上的动作,逆时针向下旋转90度。如下图:

反面:依照向上的动作,顺时针向下旋转90度。如下图:

大家可以尝试实验其他动作,再结合一些想法,实现更有趣酷炫的效果。
2、接下来分配这5种情况下小车的动作:
|
TurnipBit的动作状态 |
对应小车的操作 |
|
向上 |
停止 |
|
向左 |
左转 |
|
向右 |
右转 |
|
正面 |
前进 |
|
反面 |
倒退 |
3、实现模拟体感器的代码。主要功能是不断检测TurnipBit的动作,先用内置图像来表示当前的动作的方向。

4、体感部分的工作已经完成了,那么该如何将这些信息传送给接收器?不用担心,细心的同学不难发现,功能区内有一个无线电的模块,我们用它来实现两块TurnipBit开发板之间的通信。
首先选择打开蓝牙,放在循环外,然后在每个动作判断内添加发送的消息,消息内容可以自定义。参考下图:

5、现在来完成接收器的代码。主要功能为接收模拟体感器发送的数据,分析数据得出对应的动作,像模拟体感器一样用图案表示出来。如下图:

6、接下来我们组装小车,首先晒一下小车的整体器件。包括:2个轮子、2个减速电机、1个万向轮、1包铜柱螺丝包、1个电池盒、1个底板、1个开关。如下图:

先用焊枪把减速电机两边的引脚片焊上公头杜邦线,方便接入电机驱动模块。如下图:

将减速电机、万向轮和开关安装在底板上。如下图:

将轮子安装在两侧的电机上,电池盒安装在底板上。将电池盒的正极(红色导线)焊接在开关的1个铜片上,开关的另一个铜片焊接上公头杜邦线。如下图:

安装电机驱动模块。先看一下整体接线图,如下:

将电池盒的负极(黑色导线)接入电机驱动模块的GND端子,开关引出的公头杜邦线接入+12V端子。两边的电机分别接入电机驱动模块两侧的输出端子(标记OUT1~OUT4)。如下图:

安装TurnipBit开发板和扩展板,将电机驱动模块的GND接入扩展板的GND,+5V接入扩展板的5V。将扩展板上的P5、P8、P11和P12引脚对应接入电机驱动模块的IN2、IN1、IN3和IN4。如下图:

7、我们需要再完善一下接收器的代码。增加控制小车的功能。如下图:




8、将程序下载到用于接收器的TurnipBit的开发板内,再将板子对插到扩展板上,注意板子正面(带有LED)朝向有针脚的一面。
效果展示视频
http://v.youku.com/v_show/id_XMzIxMTY2NDk2MA==.html?spm=a2h3j.8428770.3416059.1
TurnipBit之DIY无线遥控智能小车的更多相关文章
- 基于pcDuino-V2的无线视频智能小车
这段时间抽空做了个智能视频小车.包含了pid电机控制.socket网络编程.多线程编程.epoll机制.gtk图形界面编程. 这是界面: 小车的底层是用的stm32f405系列的单片机+电机驱动做的一 ...
- 基于pcDuino-V2的无线视频智能小车 - pcduino上的网络编程
通过获取从串口发送上来的数据 已经和上位机的连接通信和图像发送.已经对设备的控制 https://github.com/qq2216691777/pcduino_smartcar-pcduino
- 基于pcDuino-V2的无线视频智能小车 - UBUNTU系统上的gtk编程
详细的代码已经上传到git网站:https://github.com/qq2216691777/pcduino_smartcar
- 玩转X-CTR100 l STM32F4 l PS2无线手柄-4WD智能小车
我造轮子,你造车,创客一起造起来!更多塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 前面已介绍X-CTR100控制器解码PS2无线手 ...
- Micropython教程之TPYBoardv102 DIY蓝牙智能小车实例
1.实验目的 1.学习在PC机系统中扩展简单I/O接口的方法. 2.进一步学习编制数据输出程序的设计方法. 3.学习蓝牙模块的接线方法及其工作原理. 4.学习L298N电机驱动板模块的接线方法. 5. ...
- MicroPython教程之TPYBoard开发板DIY红外寻迹小车
智能小车现在差不多是电子竞赛或者DIY中的主流了,寻迹,壁障,遥控什么的,相信大家也都见得很多了,这次就大家探讨一下寻迹小车的制作方法,不同于以往的是这次的程序不用C语言写,而是要使用python语言 ...
- 20135223/20135234/20135229小组——亚博 Arduino智能小车实践报告
实验名称:Arduino智能小车组装和综合测试 实验小组成员:20135223何伟钦 20135234马启扬 20135229吕松鸿 实验日期:2015.10.27—2015.11.3 实验时长:24 ...
- Arduino智能小车实践学习报告
Arduino智能小车实践学习报告 参与人员: 20135316 王剑桥 20135312 吴汉彦 20135319 朱锂 一. 背景了解: 单片机:将中央处理单元CPU(进行运算.控制).随机存储器 ...
- 亚博 Arduino智能小车实验报告
亚博 Arduino智能小车实践报告 一. 程序安装准备 首先安装了Arduino板载USB转串口CH340驱动安装包, 若上述程序安装成功,则可以在我的电脑中找到相应的端口 本机端口号为CO ...
随机推荐
- 三十天学不会TCP,UDP/IP网络编程-IP头格式祥述
我又来了,这篇文章还是来做(da)推(guang)介(gao)我自己的!俗话说事不过三,我觉得我下次得换个说法了,不然估计要被厌恶了,但是我是好心呐,一定要相信我纯洁的眼神.由于这两年接触到了比较多的 ...
- PHP之外观模式
外观(Facade)模式 当使用子系统的代码时,你也许会发现自己过于深入地调用子系统的逻辑代码.如果子系统代码总是在不断变化,而你的代码却又在许多不同地方与子系统代码交互,那么随着子系统的发展,你也许 ...
- 使用python处理excle表格
# -*- coding: utf-8 -*- import xlrd ########################### #通用功能,读取excel表格中所有数据 #返回一个包含所有单元格名和对 ...
- 栈和队列的java简单实现
今天看了一本书<啊哈 算法>,书的内容不多,一共两章,第一章是常见的排序算法包括桶排序.冒泡排序和快速排序,这些事基础的排序算法网上有很多资料说明,这里主要说第二章栈,对列,链表,书上使用 ...
- java内存模型个人理解总结
现阶段线程之间的通讯主要有两种:内存共享和消息传递,而且在java中是采用的内存共享.简单说下内存共享: 假设现在有a线程和b线程,在a和b线程之间的通讯是依靠a线程将相关数据刷新到共享内存,然后b线 ...
- 苹果新的编程语言 Swift 语言进阶(三)--基本运算和扩展运算
一 基本操作运算 1. 赋值操作 在Swift 中,能够使用赋值操作为一个常量或一个变量赋值,也能够使用多元组一次为多个常量或变量赋值. Swift 的赋值操作与其他语言最大的不同是赋值操作除了可以为 ...
- ASP.NET Core 使用 Hangfire 定时任务
定时任务组件,除了 Hangfire 外,还有一个 Quarz.NET,不过 Hangfire .NET Core 支持的会更好些. ASP.NET Core 使用 Hangfire 很简单,首先,N ...
- Python编程和 Lua编程的比较
Python编程和 Lua编程的比较 2016.4.21 定义函数: python: def functionname( parameters ): "函数_文档字符串" func ...
- Eclipse中Spring插件的安装
java中为了方便学习使用SSH框架,框架插件的安装是非常必要的. 本博文记录了自己安装Spring插件的过程: 本机环境:win8 64bit eclipse版本:4.5.2 MARS 插件版本:S ...
- .Net Core在X86上实现Interlocked.Increment(ref long)的方式
因为在X86上long会被分割为两个int进行操作, 那么Interlocked.Increment的实现成为了一个问题. 在一番搜索后未发现有现成的文章解释这个问题,于是我就动手分析了. 这篇是笔记 ...