手势控制器

小车完成图

贴代码!!!!!

手势控制器代码:

#include<SoftwareSerial.h>

#include<JY901.h>

SoftwareSerial WIFISerial(10,11); // RX,TX    //模拟一个软串口

float b[3];

void setup() {

// put your setup code here, to run once:

Serial.begin(9600);

pinMode(11, OUTPUT);

int i=0;

WIFISerial.begin(9600);

//  WIFISerial.println("AT");

//    delay(100);

//     WIFISerial.println("AT+RST");

//    delay(100);

//    WIFISerial.println("AT+CWJAP=\"kxk\",\"296097205\"");

//    delay(1000);

//  WIFISerial.println("AT+CWMODE=1");

//    delay(100);

//      WIFISerial.println("AT+CIPMUX=0");

//    delay(100);

//         WIFISerial.println("AT+CIPMODE=1");

//    delay(100);

//WIFISerial.println("AT+CIPSTART=\"TCP\",\"192.168.43.56\",8080");

// delay(1000);

//WIFISerial.println("AT+CIPSEND=0,14");

}

void loop()

{

int i = 0;

b[0]=(float)JY901.stcAngle.Angle[0]/32768*180;b[1]=(float)JY901.stcAngle.Angle[1]/32768*180;b[2]=(float)JY901.stcAngle.Angle[2]/32768*180;

WIFISerial.print(b[0]);WIFISerial.print("");WIFISerial.print(b[1]);WIFISerial.print("");WIFISerial.println(b[2]);

WIFISerial.println(" ");

delay(500);

if (WIFISerial.available())

{

Serial.write(Serial.read());

}

while (Serial.available())

{

JY901.CopeSerialData(Serial.read()); //CallJY901 data cope function

}

}

void serialEvent() {

while (Serial.available()) {

char inChar =(char)Serial.read();WIFISerial.print(inChar); //Output Original Data, use thiscode

}

}

小车代码:

#include"JY901.h"
#include <Wire.h>
#include <math.h>
#include <SoftwareSerial.h>  
SoftwareSerial WIFISerial(10,11); 
#define IN1 6 
#define IN2 7 
#define IN3 4 
#define IN4 5 
String comdata="";
String numdata="";
float b[3];
void setup() 
{
  Serial.begin(9600);
  while (!Serial)
  {  
    ;   
  }  
    WIFISerial.begin(9600);
}

void initCar(){
  digitalWrite(IN1,LOW);      
  digitalWrite(IN2,LOW);
  digitalWrite(IN3,LOW);   
  digitalWrite(IN4,LOW);
}
 
void turnLeft(){
  digitalWrite(IN1,HIGH);      
  digitalWrite(IN2,LOW);       
  digitalWrite(IN3,LOW);      
  digitalWrite(IN4,LOW);       
}
 
void turnRight(){
  digitalWrite(IN1,LOW);      
  digitalWrite(IN2,LOW);        
  digitalWrite(IN3,HIGH);      
  digitalWrite(IN4,LOW);      
}
 
void go(){
  digitalWrite(IN1,HIGH);      
  digitalWrite(IN2,LOW);         
  digitalWrite(IN3,HIGH);      
  digitalWrite(IN4,LOW);      
}

void back(){
  digitalWrite(IN1,LOW);      
  digitalWrite(IN2,HIGH);       
  digitalWrite(IN3,LOW);      
  digitalWrite(IN4,HIGH);        
}

void stopCar(){
  initCar();
}

void loop(){
int i=0,j=0,t=0,n=0,k=0;
float num;
char str;
while(WIFISerial.available()!=0)
    {
      comdata+=char(WIFISerial.read());
      delay(2);
    }

Serial.println(comdata); 
for(i=12;i<comdata.length();i++)
    {
     if(comdata[i]>='0'&&comdata[i]<='9'||comdata[i]=='-')
       {
        while(comdata[i]!=' ') 
           {
             numdata+=comdata[i++];
           }
        for(j=0;j<numdata.length();j++)
           {
            t=n=numdata.length();
            if(numdata[j]=='-')
              {
                j++;
              }
            if(numdata[j]=='.')
             {
               t=j;
               j++;
             }
            if(numdata[j]==' ')     break;
            num+=numdata[j]-'0';
            num=num*10;
          }
       num=num/pow(10,n-t+3);
       if(numdata[0]=='-')
           {
            num=0-num;
           }
       b[k]=num;
       k++;
       num=0;
     }
   numdata="";  
}
comdata="";
if(abs(b[1])>=25)
{
  if(b[1]>=25)
    { 
      if(b[1]>=70){initCar();}
      else if(abs(b[0])<=25){initCar();}
      else if(b[0]>25) {turnRight();}
      else {turnRight();}
    }
  else 
    { 
    if(b[1]<=-70) {initCar();}
    else if(abs(b[0])<=25) {initCar();}
    else if(b[0]>25) {turnLeft();}
    else {turnLeft();}
    }
}
else if(abs(b[0])>=25)
if(b[0]>=25) {go();}
else{back();}
else {initCar();}

}

校赛告一段落 ,之后就要找工作啦  ,可能省赛 不会太上心,不过一定会认真做的!!!!

哈哈哈感谢一起学习的学弟,你们都是最可爱的朋友。

手势控制arduino-wifi小车(含代码)相关推荐

  1. 玩转树莓派---详解树莓派的系统烧录,基础使用及基于树莓派制作手势控制的小车(附详细代码及演示效果)

    目录 一.写在前面 二.系统实现: Author:qyan.li Date:2022.6.10 Topic:详解树莓派的使用及基于树莓派制作手势控制的小车 Reference:如何给树莓派安装操作系统 ...

  2. 手势控制控件 的缩放,平移和旋转:

    手势控制控件的缩放,平移和旋转: mapView是要移动的控件,TouchLayout是手势控制的区域,具体代码如下: touchLayout.setOnTouchListener(new Touch ...

  3. python手势控制游戏_厌倦了小游戏?划桨手势识别玩游戏玩新把戏!,玩腻,Paddle,玩转,出,新花样...

    文章目录: 1. 手势数据采集 2. PaddleX训练模型 3. 测试手势识别模型 4. 测试游戏种手势控制 5. 大功告成~ # 解压代码 !unzip /home/aistudio/data/d ...

  4. (含代码)ESP8266+舵机 制作wifi灯控开关(arduino,点灯科技,小爱同学/天猫精灵实现)

    目录 项目涉及的主代码 前言 一.环境搭建 二.开发步骤 1.注册点灯科技平台 2.在点灯科技平台注册设备,获取Secret Key 3.在Arduino IDE中编写代码,写入ESP8266 4.编 ...

  5. Arduino WIFI智能小车 无线视频遥控小车 课程设计

    目录 一.项目产生的背景分析 2 1.1项目想法 2 1.2用户将如何从产品中获益 2-3 二.方案设计 3 2.1小车整体系统 2-3 2.2小车部件介绍 3-5 三.小车组装 6 3.1小车配件购 ...

  6. arduino小车前进代码_基于Arduino操纵杆扩展板Funduino制作机器人小车

    在本篇文章中,我们将制作一款两轮遥控机器人小车,使用的组件包含nRF24L01模块.Arduino UNO和Funduino操纵杆扩展板组成的控制部分,Arduino nano开发板以及和一个用于控制 ...

  7. 【基于Arduino APDS9960 传感器的手势控制非接触式电梯】

    基于Arduino APDS9960 传感器的手势控制非接触式电梯 前言 所需组件 APDS9960 RGB & 手势传感器 电路原理图 代码说明 测试手势控制的非接触式升降机 完整代码 前言 ...

  8. [CubeMX]stm32通过wifi模块手机控制麦轮小车

    由于机器人比赛用到了麦轮小车,自己又使用wifi模块写过程序,因此做了一个可以用手机APP控制的小车, 同时使用FreeRTOS实现多任务处理,使得stm32的实时性更高. stm32通过8266wi ...

  9. 使用加速度计进行DIY手势控制的基于Arduino的空中鼠标

    original: https://circuitdigest.com/microcontroller-projects/diy-gesture-controlled-arduino-air-mous ...

  10. 基于鸿蒙系统 + Hi3861 的wifi小车,可以通过电脑、手机控制

    基于鸿蒙系统 + Hi3861 的WiFi小车 首先,我们得有一套WiFi小车套件,其实也是Hi3861 加上电机.循迹模块.超声波等模块. 小车安装完大概是这样: 3.13.1 电机驱动 我们这里先 ...

最新文章

  1. 两道面试题,带你解析Java类加载机制
  2. 2019-2020-3 《Java 程序设计》第三周知识总结
  3. 【Deep Learning】深度学习中的函数类型
  4. python3 log_Python3 log10()函数简单用法
  5. 单片机脉宽测量C语言,单片机脉宽测量的程序
  6. 行云管家堡垒机 导入腾讯云主机
  7. CCIE-LAB-SDN-第六篇-SDWAN-Branch2-vEdge-51-vEdge-52
  8. 【POJ - 2676】Sudoku (经典深搜,dfs数独)
  9. 天池 在线编程 音乐组合
  10. HttpUtility.UrlEncode 方法 (String) 对 URL 字符串进行编码 NET Framework 4.6 and 4.5
  11. 【Centos配置2】远程管理必备工具配置:ssh/vnc/webadmin
  12. c++除法保留小数_Golang中除法和取模运算与Python3的区别
  13. 『高级篇』docker之开发用户服务EdgeService(13)
  14. php能连接动易吗,动易CMS数据转成dedecms的php程序
  15. redis memcached 可视化管理及监控工具 TreeNMS
  16. python 视频教程推荐_求各位大佬推荐Python学习视频教程?
  17. 【渝粤题库】陕西师范大学152112 网络信息检索与利用
  18. that、this、these、those的区别
  19. Ubuntu设置开机启动项目
  20. 怎么删除一个圆或者图形的一部分

热门文章

  1. 在WORD或EXCEL选框中打勾打叉的方法
  2. 联想k910 android6.0,联想k910刷机教程(刷官方系统固件包)
  3. python学习之旅【第一篇】简介和入门
  4. Java工程师工资高吗
  5. 无盘服务器还用阵列卡吗,无盘网吧主板集成RAID和独立阵列卡
  6. 三星i879救砖及刷回官方教程
  7. java中List的遍历方法
  8. Xmake进阶----系统操作详解
  9. unity3d学习笔记-光照(1.一些概念)
  10. ret_from_fork