用无线插板控制RC(远程遥控)小车
多亏了它的开源平台和易用的软件&硬件,在线有详细的数以千计的Arduino项目,供每个爱好者享用。这个项目展示了,如何改装一个不昂贵的RC小车套件,并可以用网络界面控制。你可以在这个Arduino板子上编程,让这个小车实现任意方向的行驶~
第一步:备齐材料
来自Sparkfun的迷你Bot套件
我使用了如下材料:
- Sparkfun的迷你Bot套件:ProtoSnap MiniBot提供一个Arduino兼容控制器,发动机控制器板,红外接近传感器&大量的原型空间都在一个单板上。
- WIZnet的无线插板:WizFi插板利用完全认证的WizFi210无线模块,提供Arduino无线功能。SPI接口用来提供更快的传输速度&空出Arduino UART接口。所有的软件&硬件的材料都是免费且开源的
- 锂电池
第二步:将WizFi插板与迷你Bot套件连接
要用Wi-Fi控制RC小车,我们需要6个GPIO和1个模拟引脚(如下)。
描述 |
Arduino 兼容板 |
WizFi 插板 |
SCLK |
D13 |
JP2.13 |
MISO |
D12 |
JP2.12 |
MOSI |
D11 |
JP2.11 |
/SS_WIFI |
D10 |
JP2.4 |
Data_ready |
D9 |
JP2.3 |
WIFI_RST |
D8 |
JP2.2 |
电池电压检测器 |
A2 |
分压后 连接电池输出 |
第三部:代码
Sparkfun的教程使用3个引脚来控制,但是我们需要6个引脚来分别控制两个轮子。代码如下:
#define LEFT_PWM 3 #define LEFT_1 4 #define LEFT_2 2 #define RIGHT_PWM 6 #define RIGHT_1 5 #define RIGHT_2 7void pinSetup() {// Motor control pins- the PWM pins are speed control while the other pins// control the "mode" of operation- forward, reverse, stop, brake. These// functions are abstracted in some utility functions below, so a user need// only call the "driveFwd()" function, eg, to move the robot forward.pinMode(LEFT_PWM, OUTPUT);pinMode(LEFT_1, OUTPUT);pinMode(LEFT_2, OUTPUT);pinMode(RIGHT_PWM, OUTPUT);pinMode(RIGHT_1, OUTPUT);pinMode(RIGHT_2, OUTPUT); }void driveStop() {rightStop();leftStop(); }void rightStop() {digitalWrite(RIGHT_1, LOW);digitalWrite(RIGHT_2, LOW);analogWrite(RIGHT_PWM, 0); }void leftStop() {digitalWrite(LEFT_1, LOW);digitalWrite(LEFT_2, LOW);analogWrite(LEFT_PWM, 0); }void moveForward() {rightFwd();leftFwd(); }void moveBackward() {rightBwd();leftBwd(); }void turnRight() {rightBwd();leftFwd(); }void turnLeft() {rightFwd();leftBwd(); }void rightFwd() {digitalWrite(RIGHT_1, LOW);digitalWrite(RIGHT_2, HIGH);analogWrite(RIGHT_PWM, current_speed); }void rightBwd() {digitalWrite(RIGHT_1, HIGH);digitalWrite(RIGHT_2, LOW);analogWrite(RIGHT_PWM, current_speed); }void leftFwd() {digitalWrite(LEFT_1, LOW);digitalWrite(LEFT_2, HIGH);analogWrite(LEFT_PWM, current_speed); }void leftBwd() {digitalWrite(LEFT_1, HIGH);digitalWrite(LEFT_2, LOW);analogWrite(LEFT_PWM, current_speed); }
当你用网络浏览器连接你的WizFi插板时,你可以看见如上的网页,并且可直接控制RC小车。如果你点击按钮,网络浏览器发送HTTP GET信息&WizFi插板会解析以下用以控制发动机。
下面的代码说明了怎样解析HTML请求,控制发动机并制作HTML页。
myHTMLParser.Parsing((char *)rcvdBuf);if((rcvdBuf[retval - 1] == 0x0A) && (rcvdBuf[retval - 2] == 0x0D) && (rcvdBuf[retval - 3] == 0x0A) && (rcvdBuf[retval - 4] == 0x0D)){retval = myHTMLParser.GetParam();if(retval == FW_CMD){Serial.println("FW_CMD Rcvd");myHTMLParser.SetParam(NO_CMD);moveForward();}else if(retval == BW_CMD){Serial.println("BW_CMD Rcvd");myHTMLParser.SetParam(NO_CMD);moveBackward();}else if(retval == RT_CMD){Serial.println("RT_CMD Rcvd");myHTMLParser.SetParam(NO_CMD);turnRight();}else if(retval == LF_CMD){Serial.println("LW_CMD Rcvd");myHTMLParser.SetParam(NO_CMD);turnLeft();}while(myHTMLPages.GetNextLine((char *)rcvdBuf)){myClient[i].write((byte *)rcvdBuf);}
myHTMLParser.Parsing() 函数是解析接收数据& GetNextLine() 函数使HTML页根据浏览器请求应答。
感谢阅读!
欢迎与我们更多交流!
用无线插板控制RC(远程遥控)小车相关推荐
- 开源免费代码_02_单摇杆远程遥控小车,基于Arduino的ESP-NOW,ESP32发送指令、ESP32接收指令,实现小车毫秒级完美控制_公羽兴
发文希望能够帮忙物联网爱好者少走弯路,少被割韭菜.如果觉得此文对您有帮助的话帮忙点个赞,感谢!!! 哔哩哔哩网址:开源免费代码_02_单摇杆远程遥控小车,基于Arduino的ESP-NOW,ESP32 ...
- esp32-cam摄像头+远程遥控小车
目录 1.esp32cam开发 2.51单片机开发 3.手机端开发 4.总结 先来说说需要的器件,因为是心血来潮做的一个简单的实验,所以用的也都是最基础的东西.淘宝买的一个小车底板,外加四个带轮子的减 ...
- 远程遥控小车搭建记录
22年国庆期间,无意从抖音上发现远程遥控小车已经很普及了,包含了摄像头.喊话器.闪光灯控制,系统均是单片机控制,再叠加一个360度摄像头,基本是两个系统的叠加,也有一些商业化的系统,硬件+软件+云服务 ...
- 基于Arduino和Blynk的远程遥控小车
基于Arduino和Blynk的远程遥控小车 小车图片?ε=ε=ε=(~ ̄▽ ̄)~,其实很简单一起来看看叭 废话不多说.首先做这个智能小车所需要的东西有 硬件支持: 1.Arduino Uno 开发板 ...
- 智慧农业自动打药及水肥一体远程无线自动化控制方案远程开关量继电器电磁阀水泵控制模拟量4-02ma控制压力液位无线采集控制
智慧农业自动打药及水肥一体远程无线自动化控制方案 项目背景 园打药是果园管理者比较烦恼的事情,特别是三年以上的果树株距行距都封行,人工或机器打药都很困难,目前大部分果园仍然停留在非常落后的人工打药即一 ...
- 不限距离4g/5g信号远程遥控小车
4g/5g不限距离遥控小车(1) 4g/5g不限距离遥控小车(2) 最开始学习编程也是源于一个想法, 无线遥控小车和飞机操作范围都是在几十米, 远的几百米, 再远的几公里, 那能不能把手机放在小车或飞 ...
- 基于MQTT百度天工服务器,实现微信小程序控制ESP8266,完成遥控小车的简单控制
目录 前言 一.准备工具 二.百度天工物联网平台的搭建 三.Arduino IDE 环境的搭建和代码 四.微信小程序的搭建和代码 前言 基于MQTT协议借助百度天工物联网平台,通过Arduino ID ...
- 项目小实战:51单片机控制的手机蓝牙遥控小车设计(程序 元件清单 实物图)
这几天有时间做了一个手机控制的蓝牙遥控小车车,终于今天实现了,把过程和心得跟大家分享一下. 废话不多说,先上实物图 一.项目元件清单 1.某宝购买一个智能小车底盘(本人车是四驱的,因此有四个电机,两块 ...
- ESP8266_遥控小车网页版
ESP8266_遥控小车网页版 话不多说,上代码 不懂的地方可以看这篇文章里面介绍的非常详细了 这里不多赘述回家 3 天,我做了一辆远程遥控小车 #include <ESP8266WiFi.h& ...
最新文章
- acess dao示例
- python下载代码-Python3----下载小说代码
- English debate for sports motion with notes from PM (feedback included)
- IFRAME中嵌入C4C UI
- 红帽企业版linux 7.4更新启动,红帽Linux企业版7.4 淘汰Btrfs文件系统
- SQL Server系统视图/表/功能。 现实生活中的常见问题和解决方案
- 简易网络视频播放器android
- 23种设计模式(十六)接口隔离之中介者
- 百度编辑器上传图片配置php,谁配置过百度编辑器ueditor1.4.3的图片上传路径?
- 奇东锐腾服务器无法显示,奇东锐腾pxe全自动网刻工具
- 专利查询下载的几个网站
- 电感电容之开关电源的原理
- C++系列中的一些修修补补
- 英方云灾备软件 V5.6.9949 32位官方版
- DirectX 11 Tutorial 1 中文翻译版教程: 在Visual Studio上配置DirectX 11
- Linux Cannot assign requested address
- 【论文解读 WSDM 2020 | KRF】Integrating Knowledge Relations into Style Correlations for 多标签音乐风格分类
- 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。
- amax服务器安装双系统,双系统安装MAX OS X LION的方法
- windows环境安装lzo和python-lzo
热门文章
- 云服务器与VPS的区别
- C语言初阶:define定义的常量和宏,关于指针的详细讲解,初步认识结构体的使用
- 微商城表结构--记录
- 余三码和8421码对比
- 【STM32F429开发板用户手册】第18章 STM32F429的GPIO应用之跑马灯
- #智能宿舍门禁 esp8266+RC522模块+DFPlay Mini Mp3模块实现宿舍智能门锁//NFC//物联网
- Flutter 时间戳转换成时间 时间字符串转换成时间戳
- 计算机键盘的tab键是哪个,电脑键盘中的Tab键都有哪些妙用
- 手把手教你用 jQuery 制作无缝轮播
- 物联网智能硬件与嵌入式系统