Arduino利用蓝牙远程操控舵机运转(Arduino+ZS040+电机)

news/2024/10/17 4:58:45/

Arduino蓝牙远程操控舵机运转(Arduino+ZS-040 or HC-05+电机)

  • 一、效果内容
  • 二、ZS-040蓝牙设置
  • 三、电机的接线及设置
    • 大功告成!编写不易,大家成功后点个关注or赞谢谢~~

一、效果内容

利用手机蓝牙串口调试助手,远程操控两个舵机的运转。还没有使用PWM调速,但是可以实现前进,后退,左右转的功能。利用延迟时间差来实现断续操控。而不是使它一直同个方向运动。话不多说下面整活。(创作不易,希望各位点个赞,有问题欢迎评论区交流)

二、ZS-040蓝牙设置

此处参考另一位博主文章(在此感谢):Arduino使用HC-05蓝牙模块与手机连接
同时ZS-040的操作和HC-05操作一样,按照这篇文章一样可以完成
给大家发一个别人分享的蓝牙串口调试助手:蓝牙串口调试助手(记得在操控界面设置上下左右对应发送的字母)
注意:
1.连接线时,蓝牙段的RXD端口要连接UNO上的TX->1端口
2.蓝牙段的TXD端口要连接UNO上的RX->0端口
3.本人在做实验时就接错了,结果导致只能发送不能接收

三、电机的接线及设置

直接上图,图片更简洁明了:
接线图
接完所有先之后,就可以烧录代码啦:

int N1 = 5; // 定义Uno端口5向N1输出 
int N2 = 6; // 定义Uno端口6向N2输出
int N3 = 9; // 定义Uno端口9向N3输出
int N4 = 10; // 定义Uno端口10向N4输出void Stop()
{//Stop 停止digitalWrite(N1,LOW);digitalWrite(N2,LOW);   digitalWrite(N3,LOW);digitalWrite(N4,LOW);  delay(1000);  //延时1秒Serial.print("Stop!!");
}void Forward()
{//forward 向前转digitalWrite(N1,HIGH); //给高电平digitalWrite(N2,LOW);  //给低电平digitalWrite(N3,HIGH); //给高电平digitalWrite(N4,LOW);  //给低电平delay(1000);   //延时1秒Serial.print("Forward!!");Stop();
}void Left()
{//Left 向左转digitalWrite(N1,HIGH); //给高电平digitalWrite(N2,LOW);  //给低电平digitalWrite(N3,LOW); //给高电平digitalWrite(N4,LOW);  //给低电平delay(1000);   //延时1秒Serial.print("Left");Stop();
}void Right()
{//Right 向右转digitalWrite(N1,LOW);digitalWrite(N2,LOW);  digitalWrite(N3,HIGH);digitalWrite(N4,LOW);  delay(1000);   //延时1秒 Serial.print("Right"); Stop(); 
}void setup() 
{
Serial.begin (9600);
//初始化各IO,模式为OUTPUT 输出模式
pinMode(N1,OUTPUT);
pinMode(N2,OUTPUT);
pinMode(N3,OUTPUT);
pinMode(N4,OUTPUT);}void loop() 
{if (Serial.available()) {char InPut = Serial.read();if(InPut == 'f'){//forward 向前转Forward();}if(InPut == 's'){//stop 停止Stop();} if(InPut == 'l'){//forward 向左转Left();}if(InPut == 'r'){//back 向右转Right();} InPut=0;}
}

注意:

  1. 首先在InPut设置的时候,注意是单引号,不能是双引号 。可能python敲多了,然后那天蓝牙传输的时候半天都运动不起来。后来发现,单引号才是表示字符,双引号表示字符串
  2. 手机蓝牙传输的时候,要注意传输的格式,有些蓝牙串口调试助手传输的是hex格式或ufd-8模式,一定要打开串口监视器看看,传输过来的是什么字符

大功告成!编写不易,大家成功后点个关注or赞谢谢~~


http://www.ppmy.cn/news/140797.html

相关文章

基于stm32通过HC_05(ZS-040)蓝牙模块用手机控制stm32开发板上led灯的亮灭

文章目录 前言一、HC-05蓝牙是什么?二、应用实例步骤 1.使用AT指令对蓝牙的初始化2.打开手机蓝牙助手查看是否搜索到该蓝牙3.用蓝牙模块代替TTL连接stm开发板4.创建项目开始配置相关配置和编写代码总结 前言 蓝牙是我们生活中非常常见的一个功能,也是嵌…

增值税发票税控开票软件V2.0.48_ZS_20220429(220518)-3

金税盘软件开票时所遇到的问题: 解决方案: 软件配合政策等不定期更新,覆盖安装最新版本的软件即可 最新版本 航天信息增值税发票税控开票软件(金税盘版V2.0.48_ZS_20220429(220518)-3) 下载地址 1、官方下载&#x…

zs/rz 命令

为什么80%的码农都做不了架构师?>>> sz/rz 是基于ZModem传输协议的命令。对传输的数据会进行核查,并且有很好的传输性能。使用起来更是非常方便,但前提是window端需要有能够支持ZModem的telnet或者SSH客户端,例如secu…

HC06 ,ZS040 (没有按键的)AT配置相关

学习内容: HC-06 步骤一接线:HC-06的Rx和Tx 接到 USB转TTL的 Tx和 Rx,VCC接5V,GND接GND 步骤二:上电之后灯闪,说明进入了AT指令模式 步骤三:打开串口调试器 这里使用SSCOM,选择9600…

matlab练习程序(zs图像细化)

zseven.m function out=zseven(nbhd)s=sum(nbhd(:))-nbhd(5);temp1=(2<=s)&(s<=6);p=[nbhd(1) nbhd(4) nbhd(7) nbhd(8) nbhd(9) nbhd(6) nbhd(3) nbhd(2)];pp=[p(2:8) p(

7z命令行语法

目录 命令行语法命令行格式通配符清单文档命令行语法 命令行格式 7z <command> [<switch>...] <base_archive_name> [<arguments>...]7z 的命令主要由 command、switch、base_archive_name、arguments 组成 其中 switch 的格式如下: <switch&g…

一起学MongoDB(四)——MongoDB操作

基本概念 生活中&#xff1a;仓库、架子、物品计算机&#xff1a;数据库&#xff08;database&#xff09;、集合&#xff08;collection&#xff09;、数据/文档&#xff08;document&#xff09; 查看数据库 语法&#xff1a;show databases > show databases admin …

回收站不见了怎么恢复?3个方法快速解决!

案例&#xff1a;我想把需要删除的软件拖到桌面回收站中进行删除&#xff0c;却发现我电脑桌面上的回收站不见了&#xff0c;有小伙伴知道怎么恢复吗&#xff1f; 在日常使用电脑的过程中&#xff0c;回收站是一个至关重要的功能。当我们删除文件时&#xff0c;它提供了一个安…