简易水下航行器舵控arduino,舵机控制航行器的舵,由控制板控制直流电机

这边我用的是mage的板子,mage的板子扩展口多,我蓝牙数据传输口是用的tx1和rx1口。直接上代码

#include <Servo.h>Servo myservo6;  // 定义Servo对象来控制
Servo myservo7;  // 定义Servo对象来控制
Servo myservo8;  // 定义Servo对象来控制
Servo myservo9;  // 定义Servo对象来控制
int pos6 = 90;    // 角度存储变量
int pos7 = 90;    // 角度存储变量
int pos8 = 90;    // 角度存储变量
int pos9 = 90;    // 角度存储变量
int a1=31;
int a2=30;
int speedpin=12;
int Speed=50;
int serialData;
void setup() {Serial.begin(9600);//波特率Serial1.begin(9600);//波特率myservo9.attach(9);  // 控制线连接数字9myservo8.attach(8);  // 控制线连接数字9myservo7.attach(7);  // 控制线连接数字9myservo6.attach(6);  // 控制线连接数字9pinMode(30, OUTPUT);pinMode(31, OUTPUT);pinMode(12, OUTPUT);Serial.print("启动");
}void loop() {if( Serial1.available()>0 ){ serialData =  Serial1.read();   if (serialData == '2' ) {  //接收到点亮LED指令digitalWrite(a1,HIGH);digitalWrite(a2,LOW);normal();accelerate();}if (serialData == '4' ) {  //接收到点亮LED指令lift();}if (serialData == '6' ) {  //接收到点亮LED指令right();}if (serialData == '8' ) {  //接收到点亮LED指令normal();slow();}if (serialData == '1' ) {  //接收到点亮LED指令up();}if (serialData == '7' ) {  //接收到点亮LED指令down();}if (serialData == '5' ) {  //接收到点亮LED指令normal();Stop();}if (serialData == '0' ) {  //接收到点亮LED指令Stop();delay(1000);digitalWrite(a1,LOW);digitalWrite(a2,HIGH);analogWrite(speedpin,Speed);  }}
}
void normal(){pos6=90;pos7=90;pos8=90;pos9=90;myservo6.write(pos6);              // 舵机角度写入delay(2);                       // 等待转动到指定角度myservo7.write(pos7);              // 舵机角度写入delay(2);                       // 等待转动到指定角度myservo8.write(pos8);              // 舵机角度写入delay(2);                       // 等待转动到指定角度myservo9.write(pos9);              // 舵机角度写入delay(2); }
void lift(){pos8++;pos9--;if(pos8>178){pos8=178;}if(pos9<1){pos9=1;}myservo8.write(pos8);              // 舵机角度写入delay(2);myservo9.write(pos9);              // 舵机角度写入delay(20);}
void right(){pos9++;pos8--;if(pos9>178){pos9=178;}if(pos8<1){pos8=1;}myservo8.write(pos8);              // 舵机角度写入delay(2);myservo9.write(pos9);              // 舵机角度写入delay(20);}
void up(){pos6--;pos7++;if(pos6<1){pos6=1;}if(pos7>179){pos7=179;}myservo6.write(pos6);              // 舵机角度写入delay(2);myservo7.write(pos7);              // 舵机角度写入delay(20);}
void down(){pos6++;pos7--;if(pos6>178){pos6=178;}if(pos7<1){pos7=1;}myservo6.write(pos6);              // 舵机角度写入delay(2);myservo7.write(pos7);              // 舵机角度写入delay(20);}
void accelerate(){analogWrite(speedpin,Speed);Speed++;delay(20);}
void slow(){analogWrite(speedpin,Speed);Speed--;delay(20);}
void Stop(){digitalWrite(a1,LOW);digitalWrite(a2,LOW);}

简易水下航行器舵控arduino,蓝牙通讯相关推荐

  1. arduino蓝牙通讯代码_「Arduino」OLED屏使用教程,显示内容听谁的?我不管,听我的...

    玩转Arduino小伙伴肯定都接触过OLED屏吧,不管是在Arduino还是树莓派中都起到浓墨重彩的一笔,会写编程的同学也可以变换更多的花样. 材料清单: Arduino驱动板 x 1 OLED模块 ...

  2. arduino蓝牙通讯代码_一种基于Arduino的蓝牙通信系统的制作方法

    本实用新型涉及无线通信技术领域,具体来说,涉及一种基于Arduino的蓝牙通信系统. 背景技术: 随着通信技术的发展,无论是在物联网,还是互联网,传统的有线传输技术已经越来越不能满足企业和个人的需求. ...

  3. arduino蓝牙通讯代码_在两块Arduino开发板之间实现蓝牙通信

    HC-05蓝牙模块是任何Arduino项目必不可少的蓝牙模块!很容易进行连接以及在Arduino IDE中编写代码.在大多数项目中,我们通常将HC05连接至Arduino,并使用它与其他智能设备(如手 ...

  4. arduino蓝牙通讯代码_通过手机控制蓝牙串口模块与Arduino通讯

    功能 通过手机APP向蓝牙模块发送指令,蓝牙模块通过串口将指令传递给Arduino开发板,并由Arduino做出反馈,传递给手机. 工具材料Arduino 开发板 ×1 蓝牙串口模块×1 Androi ...

  5. arduino蓝牙通讯代码_蓝牙4.0模块 无线数据传输模块 无线蓝牙串口 Arduino

    产品介绍: 蓝牙4.0模块是专为智能无线数据传输而打造的.该模块遵循BT2.1+EDR/3.0/4.0(BLE)蓝牙规范,支持SPP 蓝牙串口协议等.本模块集成了MCU 和蓝牙芯片,支持UART.SP ...

  6. BlackBerry 10 BlackBerry OS 7 1 手机通过蓝牙串口读取Arduino 蓝牙传过来的温度

    目标:BlackBerry手机通过蓝牙串口读取Arduino 蓝牙传过来的温度 湿度信息 硬件:Arduino主板 + DHT11温湿度传感器 + 蓝牙模块,开发工具C语言 手机:BlackBerry ...

  7. 树莓和Arduino之间的蓝牙通讯

    前言 原来是打算用nrf24来做树莓派和arduino的通讯,因为nrf24传的数据量有点小,现在改为用蓝牙来通讯 硬件准备(我的) HC-05蓝牙 树莓派3b+ Arduino UNO Arduin ...

  8. arduino陀螺仪蓝牙通讯手势小车

    新的改变 目录 手势小车 1 一.学习目标 2 知识目标 2 技能目标 2 二.背景知识 2 三.知识储备 3 ARDUINO NANO 2 ARDUINO UNO 4 面包板 6 智能小车模块 4 ...

  9. iOS简易蓝牙对战五子棋游戏设计思路之一——核心蓝牙通讯类的设计

    iOS简易蓝牙对战五子棋游戏设计思路之一--核心蓝牙通讯类的设计 一.引言 本系列博客将系统的介绍一款蓝牙对战五子棋的开发思路与过程,其中的核心部分有两个,一部分是蓝牙通讯中对战双方信息交互框架的设计 ...

最新文章

  1. 关于this的指向问题
  2. iOS开发系列--网络开发(转)
  3. 通过GetProcAddress函数动态调用dll中地函数,是否必须通过extern C声明导出函数?(转)...
  4. 京东2019春招Java工程师编程题题解
  5. IDEA springboot项目中properties配置文件 {针对将对应GBK改为UTF-8并勾选转为ASCII后仍无效情况} 运行时中文乱码解决
  6. Linux的find grep
  7. 脸部螨虫和肥皂洗脸的问题
  8. 【kafka】Attempted to write a non-default produerId at version 1
  9. easymock接口模拟_EasyMock模拟异常
  10. python能做底层开发吗_python底层是什么语言
  11. 【LeetCode】【字符串】题号:*539. 最小时间差
  12. 异常重试_面试题:如何基于 dubbo 进行服务治理、服务降级、失败重试?
  13. java IO模型详解
  14. 撰写测试用例----二维码支付
  15. P1234小A的口头禅
  16. 第六篇:R语言数据可视化之数据分布图(直方图、密度曲线、箱线图、等高线、2D密度图)
  17. RPGMAKER游戏引擎基于JavaScript的插件制作(六)——重写方法(三):在场景(scenes)中创建精灵(Sprite)——复制式重写的实例教学
  18. 由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题
  19. 大数据专业该学习什么?
  20. 几种机器学习常用调参方式对比(网格搜索,随机搜索,贝叶斯优化)

热门文章

  1. CVTE(视源股份)前端实习生面经
  2. 方框加对勾怎么输入_word里如何往方框中加对号?带方框的对号怎么弄,原来是这样的...
  3. PC端如何使用ITunes无线连接ios手机
  4. spring上传文件
  5. java caller_java中callee获取caller
  6. 五大学科竞赛(一)介绍
  7. [SPRD CAMERA] 4 HAL Camera open流程一
  8. 直播间搭建实现iOS直播聊天消息界面
  9. JSP中page指令
  10. 千万融资资金为何青睐edge这家公司?