基于Arduino的智能小车-代码部分

2023-10-30

紧接上篇Arduino智能小车,这篇主要是智能小车的代码部分

首先

定义相关模块引脚:(注:这里只是粘贴了部分代码)

int sp1=8;//定义舵机接口数字接口8
int pulsewidth;//定义脉宽变量
int v;
int val1;
int myangle1;
const int IN_A1=4;
const int IN_A2=5;
const int IN_B1=6;

初始化

  void setup()

{pinMode(sp1,OUTPUT);//设定舵机接口为输出接口
  pinMode(IN_A1,OUTPUT);
  pinMode(IN_A2,OUTPUT);
  pinMode(IN_B1,OUTPUT);
  pinMode(IN_B2,OUTPUT);
  pinMode(A0, OUTPUT);}

小车前进

 void go(){   //向前
  analogWrite(9,105);
  digitalWrite(IN_A1,1);
  digitalWrite(IN_A2,0);
  analogWrite(10,121);
  digitalWrite(IN_B1,1);
  digitalWrite(IN_B2,0);  
}

小车向右

void right(){   //向右
  analogWrite(9,85);
  digitalWrite(IN_A1,1);
  digitalWrite(IN_A2,0);
  analogWrite(10,0);
  digitalWrite(IN_B1,0);
  digitalWrite(IN_B2,0);  
}

超声波测距函数

void ceju(){//超声波测距
  digitalWrite(A0, LOW);
  delayMicroseconds(2);
  digitalWrite(A0, HIGH);
  delayMicroseconds(10);// 维持10毫秒高电平用来产生一个脉冲
  digitalWrite(A0, LOW);
  dist = pulseIn(A1, HIGH)/58.00;// 读取脉冲的宽度并换算成距离
}

循迹函数部分程序

void xunji(){//循迹
  int num2=digitalRead(sensor2);
  int num3=digitalRead(sensor3);
  if(num3==1&&num2==0){
    left();
  }
  else if(num2==1&&num3==0){
    right();
  }
}

通过手机APP连接蓝牙模块,发送不同指令,控制小车以不同模式工作

蓝牙模块部分程序如下

 case 'Q': while(Serial.available() == 0){//前
//                      Serial.println("go");
                      go();
          }break;
          case 'H': while(Serial.available() == 0){//后
//                      Serial.println("back");
                      back();

通过发送Q,控制前进,发送H,控制后退

完整项目代码,我已放在百度网盘里面了,想参考的可以自己下载

链接:https://pan.baidu.com/s/1kRQoXmbPbzfR1QZbZYcDvA 
提取码:1234

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于Arduino的智能小车-代码部分 的相关文章

随机推荐

  • STM32F407二维码识别(使用内部RAM+无FIFO摄像头OV7670

    STM32F407二维码识别 使用内部RAM 无FIFO摄像头OV7670 要点 1 摄像头配置 无FIFO的摄像头需要注意时钟配置和窗口配置 否则不能出图像 2 DCMI配置 DCMI需要配置成DMA传输模式和使用行场中断进行图像数据采集
  • DNS原理及解析过程详解

    目录 1 域名系统概述 2 因特网的域名结构 3 域名服务器 4 域名的解析原理过程 4 1 DNS解析原理 4 2 域名解析过程 5 查询过程 5 1 演示整个查询过程 5 2 关于DNS解析的TTL参数 5 3 IP地址分类 1 域名系
  • ArcGIS操作小技巧(五)之色带-----横向(水平)图例

    ArcGIS在制图出图时 对于一类要素要有一个变化的过程 使用色带作为图例展示 就显的非常专业 使用水平色带来展示渐变过程 非常的美观 本示例记录了水平色带的创建过程 一 导入数据 设置属性 gt 符号系统 gt 拉伸 gt 标注 二 打开
  • 数据结构:链表的一些经典的OJ题目,环形链表问题

    文章目录 写在前面 链表OJ调试技巧 移除链表元素 反转链表 链表的中间节点 链表中倒数第K个节点 链表分割问题 环形链表 写在前面 本篇为本人学习链表的过程中遇到的典型OJ题 于是整理出来分享思路和便于后续重新学习 每个标题均可跳转至对应
  • OpenFeign 如何设置动态 URL?

    如果你利用 Spring Cloud OpenFeign 进行服务间调用一般会加入这个注解 FeignClient name url http myapp com path 可以看出其中的 url 参数是一个字符串 上面的配置是把它写 死
  • warning: ‘p’ may be used uninitialized in this function

    warning p may be used uninitialized inthis function 原因 你定义了一个指针变量 只能用来保存地址 如果这个地址所指向的空间不是系统分配给它的 那么你对这块内存的赋值是非法的 正确定义 in
  • 安装SQL2012出现[HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为 1

    本人安装SQL2012出现这个错误 找了三天三夜 终于把问题找出来 共享给有需要的人们 不用重新换系统 错误如下 1 此问题是系统 net Framework版本冲突 首先下载 net Framework清理工具 如 cleanup too
  • C++学习(三八八)Doxygen

    Doxygen 是一个 C C Java Objective C Python IDL CORBA 和 Microsoft flavors Fortran VHDL PHP C 和D语言的文档生成器 可以运行在大多数类Unix系统 以及Ma
  • Java中,定时任务Timer使用缺陷

    缺陷主要有2点 1 管理并发任务的缺陷 timer有且仅有一个线程去执行定时任务 如果存在多个任务 且任务时间过长 会导致执行效果与预期不符 2 当任务抛出异常时的缺陷 如果TimerTask抛出RuntimeException Timer
  • Flutter Card踩坑经历

    Card包含的Column的Text文本显示居中 且设置textAlign TextAlign start无效 在Column添加属性 crossAxisAlignment CrossAxisAlignment start
  • Python的MySQL库,fetchone,fetchall,fetchmany的比较

    fetchone 返回一条记录 row 一维元组 如 小李 21 如果没有结果 则返回 None 再次调用fetchone 则继续返回下一条记录 直到为空 fetchmany 返回指定的前n条记录 二维元组 如fetchmany 3 获取前
  • JavaWeb项目运维部署

    一 项目部署介绍 Web项目网络拓扑图 部署目录介绍 项目目录 home projectName 启动文件目录 home projectName bin 后端项目 home projectName target Web前端资源 home p
  • HTML实现3D相册

    今天 我给大家分享一个3D相册的代码 废话不说先上效果图 先新建两个文件夹 一个叫css 另一个叫img 如下图 先新建一个文本文档 输入下面的代码 div ul li img src img 1 jpg li ul div
  • 性能测试 —— jmeter计数器

    jmeter计数器 如果需要引用的数据量较大 且要求不能重复或者需要递增 那么可以使用计数器来实现 如 新增功能 要求名称不能重复 1 新增计数器 计数器 允许用户创建一个在线程组之内都可以被引用的计数器 计数器允许用户配置一个起点 一个最
  • 西瓜书-2习题

    文章目录 2 习题 2 1 2 2 2 3 2 4 2 5 有待解决 2 6 2 7 2 8 2 9 有待解决 2 10 有待解决 2 习题 2 1 数据集1000个样本 其中500个正例 500个反例 将其划分为包含70 样本的训练集和3
  • 笔记:pycharm中ModuleNotFoundError:No Module named ‘sklearn‘ 解决办法

    windows10 Anaconda tensorflow2 1 python3 7 开发环境 pycharm 错误 代码 from sklearn import datasets 报错 ModuleNotFoundError No Mod
  • HTTPS:确保Web安全

    参考书籍 图解HTTP HTTP的不足 1 通信使用明文可能会被窃听 HTTP本身不具备加密的功能 无法对通信整体加密 即HTTP使用的是明文方式发送 加密技术可以防止被窃听 加密对象 通信的加密 HTTP和SSL的组合被称为HTTPS 内
  • 字节跳动开源神器:btrace 2.0 技术原理大揭秘

    项目 GitHub 地址 https github com bytedance btrace 1 背景介绍 在一年多前 我们对外正式开源了 btrace AKA RheaTrace 它是基于 Systrace 的高性能 Trace 工具 目
  • Unmapped Spring configuration files found找到未映射的spring配置文件

    在以下位置配置即可
  • 基于Arduino的智能小车-代码部分

    紧接上篇Arduino智能小车 这篇主要是智能小车的代码部分 首先 定义相关模块引脚 注 这里只是粘贴了部分代码 int sp1 8 定义舵机接口数字接口8 int pulsewidth 定义脉宽变量 int v int val1 int