串口控制小车前进后退

#define Dong1 D6
#define Dong2 D7
#define Zhuan1 D4
#define Zhuan2 D5void initL9110s()
{pinMode(Dong1, OUTPUT);pinMode(Dong2, OUTPUT);pinMode(Zhuan1, OUTPUT);pinMode(Zhuan2, OUTPUT);
}void back()
{digitalWrite(Dong1, LOW);digitalWrite(Dong2, HIGH);
}
void before()
{digitalWrite(Dong1, HIGH);digitalWrite(Dong2, LOW);
}void right()
{digitalWrite(Zhuan1, HIGH);digitalWrite(Zhuan2, LOW);
}void left()
{digitalWrite(Zhuan1, LOW);digitalWrite(Zhuan2, HIGH);
}void setup() {// put your setup code here, to run once:initL9110s();Serial.begin(115200);
}void loop() {// put your main code here, to run repeatedly:char cmd;if (Serial.available() > 0){cmd = Serial.read();switch (cmd){case 'q':before(); break;case 'h':back(); break;case 'z':left(); break;case 'y':right(); break;}}
}

WiFi模块控制小车

#include <ESP8266WiFi.h>#define Dong1 D6
#define Dong2 D7
#define Zhuan1 D4
#define Zhuan2 D5char* ssid = "WiFi名";
char* passwd = "WiFi密码";
int port = 8888; //端口号WiFiServer server(port); // 设置服务器端口号void initWifiSta()
{WiFi.mode(WIFI_STA); // 设置STA模式WiFi.begin(ssid, passwd); //连接网络while (WiFi.status() != WL_CONNECTED){Serial.print(".");delay(500);}Serial.println(WiFi.localIP()); //通过串口打印wemos的IP地址
}void initL9110s()
{pinMode(Dong1, OUTPUT);pinMode(Dong2, OUTPUT);pinMode(Zhuan1, OUTPUT);pinMode(Zhuan2, OUTPUT);
}void back()
{digitalWrite(Dong1, LOW);digitalWrite(Dong2, HIGH);
}
void before()
{digitalWrite(Dong1, HIGH);digitalWrite(Dong2, LOW);
}void right()
{digitalWrite(Zhuan1, HIGH);digitalWrite(Zhuan2, LOW);
}void left()
{digitalWrite(Zhuan1, LOW);digitalWrite(Zhuan2, HIGH);
}void setup() {// put your setup code here, to run once:Serial.begin(115200);initL9110s();initWifiSta();server.begin();//启动服务器
}void loop() {// put your main code here, to run repeatedly:char cmd;WiFiClient client = server.available(); //服务初始化while (client.connected()) //等待客户端连接{while (client.available() > 0) //有数据到来,类似串口的那个函数{cmd = client.read();//读取数据switch (cmd){case 'q':before(); break;case 'h':back(); break;case 'z':left(); break;case 'y':right(); break;}}}
}

小车最终代码

#include <ESP8266WiFi.h>#define Echo D2
#define Trig D8
#define Dong1 D6
#define Dong2 D7
#define Zhuan1 D4
#define Zhuan2 D5char* ssid = "WiFi名";
char* passwd = "WiFi密码";
int port = 8888; //端口号WiFiServer server(port); // 设置服务器端口号long getTime()
{digitalWrite(Trig, HIGH);//设置一个方波delayMicroseconds(10);digitalWrite(Trig, LOW);return pulseIn(Echo, HIGH);//微秒
}void initUltrasonic()
{pinMode(Echo, INPUT);pinMode(Trig, OUTPUT);
}void initWifiSta()
{WiFi.mode(WIFI_STA); // 设置STA模式WiFi.begin(ssid, passwd); //连接网络while (WiFi.status() != WL_CONNECTED){Serial.print(".");delay(500);}Serial.println(WiFi.localIP()); //通过串口打印wemos的IP地址
}void initL9110s()
{pinMode(Dong1, OUTPUT);pinMode(Dong2, OUTPUT);pinMode(Zhuan1, OUTPUT);pinMode(Zhuan2, OUTPUT);
}void back()
{digitalWrite(Dong1, LOW);digitalWrite(Dong2, HIGH);
}
void before()
{digitalWrite(Dong1, HIGH);digitalWrite(Dong2, LOW);
}void ting()
{digitalWrite(Dong1, LOW);digitalWrite(Dong2, LOW);
}void right()
{digitalWrite(Zhuan1, HIGH);digitalWrite(Zhuan2, LOW);
}void left()
{digitalWrite(Zhuan1, LOW);digitalWrite(Zhuan2, HIGH);
}void zheng()
{digitalWrite(Zhuan1, LOW);digitalWrite(Zhuan2, LOW);
}void setup() {// put your setup code here, to run once:Serial.begin(115200);//打开串口initUltrasonic();//初始化超声波initL9110s();//初始化点击initWifiSta(); //初始化WiFiserver.begin();//启动服务器
}void loop() {// put your main code here, to run repeatedly:char cmd;long dis;  //距离int mark;WiFiClient client = server.available(); //服务初始化while (client.connected()) //等待客户端连接{while (client.available() > 0) //有数据到来,类似串口的那个函数{cmd = client.read();//读取数据dis = getTime() / 58; //超声波距离if (dis < 10){back();delay(200);ting();mark = 1;}else{mark = 0;}if (mark == 0){switch (cmd){case 'q':before(); break;case 'h':back(); break;case 'z':left(); break;case 'y':right(); break;case 's':ting(); break;case 'd':zheng(); break;}}}}
}

小车最终成型以及手机app(开发仍在学习中)


基于wemosD1开发板的小车养成(二)相关推荐

  1. 基于wemosD1开发板的小车养成(一)

    WeMos D1介绍 特性: 基于ESP-8266EX Arduino兼容,使用rduino IDE来编程 11个 I/O 引脚 1 个ADC 引脚(输入范围0-3.3V) 板载5V 1A开关电源(高 ...

  2. request[limit]取不到前台的值_基于uFUN开发板的心率计(二)动态阈值算法获取心率值...

    前言 上一篇文章:基于uFUN开发板的心率计(一)DMA方式获取传感器数据,介绍了如何获取PulseSensor心率传感器的电压值,并对硬件电路进行了计算分析.心率计,重要的是要获取到心率值,本篇文章 ...

  3. 基于uFUN开发板的心率计(二)动态阈值算法获取心率值

    文章目录 前言 IBI和BPM 核心操作 -- 识别一个脉搏信号 问题一:阈值的选取 问题二:特征点识别 算法整体框架与代码实现 总结 基于uFUN开发板的Keil源码下载 uFUN评测系列文章 前言 ...

  4. emmc固件开发_UP2开发板简易开箱(二)

    在 @老狼 的x86开源硬件群里面抽中了一个UP2开发板,时间已经过去半年多了,实在惭愧,其中一部分原因是菜,菜是原罪.现接上一位抽中UP2的大佬 @Jiaao Bai 的文章,本文就叫UP2开发板简 ...

  5. 基于uFUN开发板的心率计(三)Qt上位机的实现

    前言 上两周利用周末的时间,分别写了基于uFUN开发板的心率计(一)DMA方式获取传感器数据和基于uFUN开发板的心率计(二)动态阈值算法获取心率值,介绍了AD采集传感器数据和数据的滤波处理获取心率值 ...

  6. 基于uFUN开发板的RGB调色板

    前言 使用uFUN开发板配合Qt上位机,实现任意颜色的混合,Qt上位机下发RGB数值,范围0-255,uFUN开发板进行解析,然后输出不同占空比的PWM,从而实现通过RGB三原色调制出任意颜色. Qt ...

  7. 基于uFUN开发板和扩展板的联网校准时钟

    项目概述 上周在uFUN试用群里看到管理员说试用活动快结束了,要抓紧完成评测总结,看大家的评测总结也都写了,我也不能落后啊!正好最近做的扩展板到手了,于是赶紧进行调试,做了一个不用校准的时钟,时钟这种 ...

  8. 基于STM32开发板I²C总线通信协议浅析

    基于STM32开发板I²C总线通信协议浅析 一.前言 I²C(Inter-Integrated Circuit),中文应该叫集成电路总线,它是一种串行通信总线,使用多主从架构,是由飞利浦公司在1980 ...

  9. 基于ARM开发板搭建物联网服务器

    基于ARM开发板搭建物联网服务器 一.项目需求 1.1设备需求 1.2知识需求 1.3项目介绍 二.开发环境搭建 2.1阿里云服务器配置 2.2虚拟机交叉编译环境搭建 2.3下载相关应用压缩文件 三. ...

最新文章

  1. ReentrantLock.nofairTryAcquire
  2. spring架构整理
  3. Oracle插入时间
  4. Django signal
  5. 学习language C
  6. 柱状图之最大矩形面积
  7. Atitit 高性能架构之道 attilax著 艾龙 著 1. 应用服务与数据隔离 2 2. 负载均衡你问题 2 2.1. 用户的请求由谁来转发到到具体的应用服务器 2 2.2. 有什么转发的算法
  8. 两种前端在线json编辑器方案(无法解决number精度丢失问题)
  9. Vivado 2019.1 使用教程
  10. 四两拨千斤——你不知道的VScode编码TypeScript的技巧
  11. js给页面添加随机像素噪声背景
  12. 懒人版黑苹果mbr安装_BIOS+MBR硬盘,一步一步教你怎么用clover装黑苹果
  13. 读书笔记 - 机器学习实战 - 4 利用概率理论进行分类:朴素贝叶斯
  14. FLUENT中的常用边界条件
  15. matlab画某个变量的全球分布
  16. Session.AUTO_ACKNOWLEDGE
  17. Android各厂商Rom包解压方式
  18. perl、python、shell脚本区别
  19. CentOS 7 安装Elixir
  20. php软件测试课程资源共享网站

热门文章

  1. !important、3种级联样式、选择器优先级 详细介绍
  2. failed with error code 1 in /tmp/pip-build-z8qnyans/llvmlite/
  3. Python爬取豆瓣《哪吒之魔童降世》影评
  4. 利用OpenCV-Python自带教程源代码学习OpenCV-Python(一)
  5. 搏击俱乐部:经典台词
  6. 5-1.Binding的方向、数据更新和Path
  7. 几种常见的JSON数据格式化
  8. 【面经】比亚迪规划院面经
  9. InfluxDB 修改数据存储路径
  10. HTML基础(三):常用的块级元素