819浏览
楼主: 驴友花雕

[项目] 【花雕学编程】Arduino动手做(228)---2米PVC水管火星车

[复制链接]

驴友花雕  中级技神
 楼主|

发表于 2024-8-30 10:28:20

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百二十八:2米PVC水管六个TT马达驱动火星车
  项目实验之七:通过JDY-31蓝牙模块Arduino 控制板载LED灯

实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验二百二十八:2米PVC水管六个TT马达驱动火星车
  4.   项目实验之七:通过JDY-31蓝牙模块Arduino 控制板载LED灯
  5.   JDY-31模块与Uno接线:
  6.   VCC         VCC
  7.   GND         GND
  8.   TXD         D0
  9.   RXD         D1
  10. */
  11. const byte LED = 13; // 定义LED引脚为13
  12. char val; // 定义一个字符变量val
  13. void setup() {
  14.   pinMode(LED, OUTPUT); // 设置LED引脚为输出模式
  15.   Serial.begin(57600); // 初始化串口通信,波特率设置为57600
  16.   Serial.println("JDY-31蓝牙模块准备就绪!"); // 向串口输出初始化完成信息
  17. }
  18. void loop() {
  19.   if ( Serial.available() ) { // 检查串口是否有可读取的数据
  20.     val = Serial.read(); // 读取串口数据并存储在val中
  21.     switch (val) { // 根据读取到的数据执行不同的操作
  22.       case '0' : // 如果读取到的数据是字符'0'
  23.         digitalWrite(LED, LOW); // 将LED设置为低电平(关闭)
  24.         Serial.println("LED 灭"); // 向串口输出“LED 灭”
  25.         break;
  26.       case '1' : // 如果读取到的数据是字符'1'
  27.         digitalWrite(LED, HIGH); // 将LED设置为高电平(打开)
  28.         Serial.println("LED 亮"); // 向串口输出“LED 亮”
  29.         break;
  30.     }
  31.   }
  32. }
复制代码



回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-8-30 10:29:48

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车

实验串口返回情况

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-8-30 10:39:08

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百二十八:2米PVC水管六个TT马达驱动火星车
  项目实验之八:通过JDY-31蓝牙模块串口字符来控制火星车

实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验二百二十八:2米PVC水管六个TT马达驱动火星车
  4.   项目实验之八:通过JDY-31蓝牙模块串口字符来控制火星车
  5.   JDY-31模块与Uno接线:
  6.   VCC         VCC
  7.   GND         GND
  8.   TXD         D0
  9.   RXD         D1
  10. */
  11. #include <L298N.h>
  12. // 创建电机对象
  13. L298N motor1(9, 5, 4); // 第一个电机(并接右侧三个TT马达)
  14. L298N motor2(6, 3, 2); // 第二个电机(并接左侧三个TT马达)
  15. char command; // 用于存储从蓝牙模块接收到的命令
  16. void setup() {
  17.   pinMode(LED_BUILTIN, OUTPUT); // 设置板载LED为输出模式
  18.   Serial.begin(57600); // 初始化串口通信,波特率设置为57600
  19.   Serial.println("JDY-31蓝牙模块准备就绪!"); // 向串口输出初始化完成信息
  20. }
  21. void loop() {
  22.   if (Serial.available()) { // 检查串口是否有可读取的数据
  23.     command = Serial.read(); // 读取串口数据并存储在command中
  24.     switch (command) { // 根据接收到的命令执行不同的操作
  25.       case 'F': // 前进
  26.         motor1.setSpeed(200); // 设置电机1的速度为200
  27.         motor1.forward(); // 电机1正转
  28.         motor2.setSpeed(200); // 设置电机2的速度为200
  29.         motor2.forward(); // 电机2正转
  30.         Serial.println("前进"); // 向串口输出“前进”
  31.         break;
  32.       case 'B': // 后退
  33.         motor1.setSpeed(200); // 设置电机1的速度为200
  34.         motor1.backward(); // 电机1反转
  35.         motor2.setSpeed(200); // 设置电机2的速度为200
  36.         motor2.backward(); // 电机2反转
  37.         Serial.println("后退"); // 向串口输出“后退”
  38.         break;
  39.       case 'L': // 左转
  40.         motor1.setSpeed(200); // 设置电机1的速度为200
  41.         motor1.backward(); // 电机1反转
  42.         motor2.setSpeed(200); // 设置电机2的速度为200
  43.         motor2.forward(); // 电机2正转
  44.         Serial.println("左转"); // 向串口输出“左转”
  45.         break;
  46.       case 'R': // 右转
  47.         motor1.setSpeed(200); // 设置电机1的速度为200
  48.         motor1.forward(); // 电机1正转
  49.         motor2.setSpeed(200); // 设置电机2的速度为200
  50.         motor2.backward(); // 电机2反转
  51.         Serial.println("右转"); // 向串口输出“右转”
  52.         break;
  53.       case 'S': // 停止
  54.         motor1.stop(); // 停止电机1
  55.         motor2.stop(); // 停止电机2
  56.         Serial.println("停止"); // 向串口输出“停止”
  57.         break;
  58.       default:
  59.         Serial.println("无效命令"); // 向串口输出“无效命令”
  60.         break;
  61.     }
  62.   }
  63. }
复制代码



回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-8-30 10:47:05

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车

实验串口返回情况

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-8-30 10:49:02

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车

实验场景图

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-8-30 17:24:48

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车

本帖最后由 驴友花雕 于 2024-8-30 17:25 编辑

在头条上搜:蓝牙串口APP,并安装

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车图1


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-8-30 17:27:22

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-8-30 17:31:01

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百二十八:2米PVC水管六个TT马达驱动火星车
  项目实验之九:最简单的蓝牙控制板载LED的程序,输入1为亮,其他为熄灭,
  串口显示输入字符(手机端-应用宝-搜索《SPP》-安装-打开-搜蓝牙
  <JDY-31-SPP>-连接-设置控制面板)

实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验二百二十八:2米PVC水管六个TT马达驱动火星车
  4.   项目实验之九:最简单的蓝牙控制板载LED的程序,输入1为亮,其他为熄灭,
  5.   串口显示输入字符(手机端-应用宝-搜索《SPP》-安装-打开-搜蓝牙
  6.   <JDY-31-SPP>-连接-设置控制面板)
  7.   连接方式 LED D13
  8.   JDY-31模块与Uno接线:
  9.   VCC         VCC
  10.   GND         GND
  11.   TXD         D3
  12.   RXD         D2
  13. */
  14. #include <SoftwareSerial.h>
  15. const byte LED_PIN = 13; // 定义LED引脚为常量
  16. /* 创建一个名为bt的SoftwareSerial类对象 */
  17. SoftwareSerial bt(2, 3); /* (Rx, Tx) 引脚定义 */
  18. void setup() {
  19.   pinMode(LED_PIN, OUTPUT); // 设置LED引脚为输出模式
  20.   bt.begin(9600); // 定义软件串口通信的波特率为9600
  21.   Serial.begin(9600); // 定义硬件串口通信的波特率为9600
  22.   Serial.println("JDY-31蓝牙模块准备就绪!"); // 向串口输出初始化完成信息
  23.   Serial.println("请在手机APP上输入单个字符:");
  24. }
  25. void loop() {
  26.   if (bt.available()) { // 检查软件串口是否有可读取的数据
  27.     char inputChar = bt.read(); // 读取软件串口数据并存储在inputChar中
  28.     Serial.print(inputChar); // 向串口输出读取到的字符
  29.     if (inputChar == '1') { // 如果输入字符为'1'
  30.       digitalWrite(LED_PIN, HIGH); // 点亮LED
  31.       Serial.println("-LED打开"); // 向串口输出“LED打开”
  32.     } else { // 其他字符
  33.       digitalWrite(LED_PIN, LOW); // 熄灭LED
  34.       Serial.println("-LED关闭"); // 向串口输出“LED关闭”
  35.     }
  36.   }
  37. }
复制代码



回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-8-30 17:38:34

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车

打开手机蓝牙串口APP,搜索蓝牙设备,找到“JDY-31-SPP”,进行配对,然后连接

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-8-30 17:44:48

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车

打开Arduino IDE的串口,设置波特率为9600,打开手机蓝牙串口APP,连接后,输入1时LED为亮,其他为熄灭。

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-8-30 17:47:29

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车

实验串口返回情况

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车图1


代码要点
1、LED引脚定义:使用常量LED_PIN定义LED引脚,便于修改和维护。
2、串口初始化:在setup()函数中初始化软件串口和硬件串口,波特率均设置为9600。
3、数据读取:在loop()函数中检查软件串口是否有数据可读取,并读取输入字符。
4、字符显示:将读取到的字符通过硬件串口输出,便于调试和监控。
5、LED控制:根据输入字符控制LED的状态,输入1时点亮LED并输出“LED打开”,其他字符时熄灭LED并输出“LED关闭”。

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-8-31 07:39:18

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百二十八:2米PVC水管六个TT马达驱动火星车
  项目实验之十:设置蓝牙控制面板,在键盘上设开灯与关灯二个按键

实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验二百二十八:2米PVC水管六个TT马达驱动火星车
  4.   项目实验之十:设置蓝牙控制面板,在键盘上设开灯与关灯二个按键
  5.   连接方式 LED D13
  6.   JDY-31模块与Uno接线:
  7.   VCC         VCC
  8.   GND         GND
  9.   TXD         D3
  10.   RXD         D2
  11. */
  12. #include <SoftwareSerial.h>
  13. const byte LED_PIN = 13; // 定义LED引脚为常量
  14. /* 创建一个名为bt的SoftwareSerial类对象 */
  15. SoftwareSerial bt(2, 3); /* (Rx, Tx) 引脚定义 */
  16. void setup() {
  17.   pinMode(LED_PIN, OUTPUT); // 设置LED引脚为输出模式
  18.   bt.begin(9600); // 定义软件串口通信的波特率为9600
  19.   Serial.begin(9600); // 定义硬件串口通信的波特率为9600
  20.   Serial.println("JDY-31蓝牙模块准备就绪!"); // 向串口输出初始化完成信息
  21.   Serial.println("请在手机APP上输入单个字符:");
  22. }
  23. void loop() {
  24.   if (bt.available()) { // 检查软件串口是否有可读取的数据
  25.     char inputChar = bt.read(); // 读取软件串口数据并存储在inputChar中
  26.     Serial.print(inputChar); // 向串口输出读取到的字符
  27.     if (inputChar == '1') { // 如果输入字符为'1'
  28.       digitalWrite(LED_PIN, HIGH); // 点亮LED
  29.       Serial.println("-LED打开"); // 向串口输出“LED打开”
  30.     } else if (inputChar == '0') { // 如果输入字符为'0'
  31.       digitalWrite(LED_PIN, LOW); // 熄灭LED
  32.       Serial.println("-LED关闭"); // 向串口输出“LED关闭”
  33.     } else {
  34.       Serial.println("-无效命令"); // 向串口输出“无效命令”
  35.     }
  36.   }
  37. }
复制代码



回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-8-31 07:41:10

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车

实验串口返回情况

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-8-31 07:42:43

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车

蓝牙控制面板,在键盘上设开灯与关灯二个按键

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-8-31 07:56:07

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百二十八:2米PVC水管六个TT马达驱动火星车
  项目实验之十一:设置火星车简易蓝牙控制面板,前后左右停止

实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验二百二十八:2米PVC水管六个TT马达驱动火星车
  4.   项目实验之十一:设置火星车简易蓝牙控制面板,前后左右停止
  5.   JDY-31模块与Uno接线:
  6.   VCC         VCC
  7.   GND         GND
  8.   TXD         D8
  9.   RXD         D7
  10. */
  11. #include <L298N.h> // 包含L298N电机驱动库
  12. #include <SoftwareSerial.h> // 包含软件串口库
  13. // 创建电机对象
  14. L298N motor1(9, 5, 4); // 第一个电机对象,连接到引脚9, 5, 4(并接右侧三个TT马达)
  15. L298N motor2(6, 3, 2); // 第二个电机对象,连接到引脚6, 3, 2(并接左侧三个TT马达)
  16. // 创建蓝牙串口对象
  17. SoftwareSerial bt(7, 8); // 定义软件串口对象,使用引脚7 (Rx) 和 8 (Tx)
  18. void setup() {
  19.   // 初始化电机
  20.   motor1.setSpeed(0); // 设置电机1的初始速度为0
  21.   motor2.setSpeed(0); // 设置电机2的初始速度为0
  22.   // 初始化蓝牙串口
  23.   bt.begin(9600); // 设置蓝牙串口通信的波特率为9600
  24.   Serial.begin(9600); // 设置硬件串口通信的波特率为9600
  25.   Serial.println("六驱火星车准备就绪!"); // 向串口输出初始化完成信息
  26. }
  27. void loop() {
  28.   if (bt.available()) { // 检查蓝牙串口是否有可读取的数据
  29.     char command = bt.read(); // 读取蓝牙串口数据并存储在command变量中
  30.     Serial.println(command); // 向串口输出读取到的字符
  31.     switch (command) { // 根据读取到的命令执行相应操作
  32.       case 'F': // 前进命令
  33.         motor1.setSpeed(200); // 设置电机1速度为200
  34.         motor1.forward(); // 电机1前进
  35.         motor2.setSpeed(200); // 设置电机2速度为200
  36.         motor2.forward(); // 电机2前进
  37.         Serial.println("前进"); // 向串口输出“前进”信息
  38.         break;
  39.       case 'B': // 后退命令
  40.         motor1.setSpeed(200); // 设置电机1速度为200
  41.         motor1.backward(); // 电机1后退
  42.         motor2.setSpeed(200); // 设置电机2速度为200
  43.         motor2.backward(); // 电机2后退
  44.         Serial.println("后退"); // 向串口输出“后退”信息
  45.         break;
  46.       case 'L': // 左转命令
  47.         motor1.setSpeed(200); // 设置电机1速度为200
  48.         motor1.backward(); // 电机1后退
  49.         motor2.setSpeed(200); // 设置电机2速度为200
  50.         motor2.forward(); // 电机2前进
  51.         Serial.println("左转"); // 向串口输出“左转”信息
  52.         break;
  53.       case 'R': // 右转命令
  54.         motor1.setSpeed(200); // 设置电机1速度为200
  55.         motor1.forward(); // 电机1前进
  56.         motor2.setSpeed(200); // 设置电机2速度为200
  57.         motor2.backward(); // 电机2后退
  58.         Serial.println("右转"); // 向串口输出“右转”信息
  59.         break;
  60.       case 'S': // 停止命令
  61.         motor1.stop(); // 停止电机1
  62.         motor2.stop(); // 停止电机2
  63.         Serial.println("停止"); // 向串口输出“停止”信息
  64.         break;
  65.       default: // 无效命令
  66.         Serial.println("无效命令"); // 向串口输出“无效命令”信息
  67.         break;
  68.     }
  69.   }
  70. }
复制代码



回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-8-31 09:14:33

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车

实验串口返回情况

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-8-31 09:17:16

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车

手机端蓝牙聊天模式

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-8-31 09:43:13

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车

手机端蓝牙按键模式

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-9-4 14:56:33

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车

本帖最后由 驴友花雕 于 2024-9-4 14:57 编辑

【花雕学编程】Arduino动手做(228)---2米PVC水管六个TT马达驱动火星车

实验记录视频


【[花雕动手做] 蓝牙控制的六驱动小车#科技改变生活】
https://www.bilibili.com/video/BV1L2HhebExK/?share_source=copy_web&vd_source=371a292a55e5ca9be994cbb4a86cc987








回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-9-4 15:00:32

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车

实验场景图

【花雕学编程】Arduino动手做(228)---2米PVC水管火星车图1
回复

使用道具 举报

12
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail