news 2026/10/14 3:35:08

Arduino 智能小车测试代码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Arduino 智能小车测试代码

#include<Servo.h> Servo m; int pos=0; int t=4;//超声波探测器 输出 int e=5;//超声波探测器 输入 float dis;//距离 int L298pin1 = 13; // 定义uno的pin 5 向 L298pin1 输出 int L298pin2 = 12; // 定义uno的pin 6 向 L298pin2 输出 int L298pin3 = 8; // 定义uno的pin 9 向 L298pin3 输出 int L298pin4 = 9; // 定义uno的pin 10 向 L298pin4 输出 int ENA = 10;//控制左轮转速 PWM int ENB = 11;//控制右轮转速 int ENA_PWM=100; int ENB_PWM=200; void setup() { Serial.begin (9600); //初始化各IO,模式为OUTPUT 输出模式 pinMode(L298pin1,OUTPUT); pinMode(L298pin2,OUTPUT); pinMode(L298pin3,OUTPUT); pinMode(L298pin4,OUTPUT); pinMode(ENA,OUTPUT); pinMode(ENB,OUTPUT); //舵机 m.attach(3);//舵机信号 m.write(90); //超声波探测器 pinMode(t,OUTPUT); pinMode(e,INPUT); Serial.begin(9600); } float l,r,p; float x(){//超声波探测距离 digitalWrite(t,LOW); delayMicroseconds(10); digitalWrite(t,HIGH); delayMicroseconds(10); digitalWrite(t,LOW); dis=pulseIn(e,HIGH,30000)/58.00;//30000 30毫秒 超时参数 /*a++; Serial.print(a); Serial.print("距离:"); Serial.print(dis); Serial.print("厘米"); Serial.println();*/ delay(100); return dis; } int s=500; void loop() { delay(20); dis=x(); Serial.print("距离:"); Serial.print(dis); Serial.print("厘米");Serial.println(); if(dis>20)go() ; else { back() ; delay(500); stops(); delay(1000); m.write(170);delay(100); Serial.print("左 ");Serial.print(l);Serial.println(); l=x(); delay(s); m.write(10);delay(100); r=x(); Serial.print("右 ");Serial.print(r);Serial.println(); delay(s); m.write(90); delay(100); if(l>r && l>20){ left(); delay(100); } else if(l<r && r>20){ right(); delay(100); } } } void go() // 小车前进 { digitalWrite(L298pin1,HIGH); digitalWrite(L298pin2,LOW); digitalWrite(L298pin3,HIGH); digitalWrite(L298pin4,LOW); analogWrite(ENA, ENA_PWM); analogWrite(ENB, ENB_PWM); } void back() //小车后退 { digitalWrite(L298pin1,LOW); digitalWrite(L298pin2,HIGH); digitalWrite(L298pin3,LOW); digitalWrite(L298pin4,HIGH); analogWrite(ENA, ENA_PWM); analogWrite(ENB, ENB_PWM); } void left() // 小车原地左转 { digitalWrite(L298pin3,LOW); digitalWrite(L298pin4,HIGH); digitalWrite(L298pin1,HIGH); digitalWrite(L298pin2,LOW); analogWrite(ENA, ENA_PWM); analogWrite(ENB, ENB_PWM); } void right() // 小车原地右转 { digitalWrite(L298pin4,LOW); digitalWrite(L298pin3,HIGH); digitalWrite(L298pin2,HIGH); digitalWrite(L298pin1,LOW); analogWrite(ENA, ENA_PWM); analogWrite(ENB, ENB_PWM); } void stops() // 小车停止 暂停 { digitalWrite(L298pin1,LOW); digitalWrite(L298pin2,LOW); digitalWrite(L298pin3,LOW); digitalWrite(L298pin4,LOW); analogWrite(ENA, 0); analogWrite(ENB, 0); }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/14 3:34:51

基于PHP+MySQL的心理健康测评系统:量表设计、计分引擎与实现

做心理健康测评系统这件事&#xff0c;我最早接到需求的时候还觉得挺简单的&#xff0c;无非就是让用户填量表、后台出个分。真正动手用PHPMySQL去实现的时候才发现&#xff0c;测评系统跟普通的问卷系统完全是两回事。它表面上是表单提交和结果展示&#xff0c;骨子里却是心理…

作者头像 李华
网站建设 2026/10/14 3:34:35

大模型网关限流新思路:从进程内漏桶到分布式漏桶矩阵

读完阿里百炼网关团队那篇《限流比降 10 倍&#xff1a;百炼网关如何用 RocketMQ LiteTopic 重构大模型限流》&#xff0c;给了我很大启发——网关还能这么玩。前半段复盘百炼限流的核心思路&#xff08;固定窗口漏桶、LiteTopic 分布式漏桶矩阵、Suspend 控速&#xff09;&…

作者头像 李华
网站建设 2026/10/14 3:34:08

领导推荐我用AI,一个月后我被辞退:法院判了

吴女士在一家保险公司做法务&#xff0c;管合规稽查和风险核查。2024年7月&#xff0c;为了快点把PPT和数据分析做完&#xff0c;经公司领导推荐&#xff0c;她把自己整理加工过的一份稽核问题数据表&#xff0c;传到了第三方AI平台上。 一个月后&#xff0c;公司给她下了《解除…

作者头像 李华
网站建设 2026/10/14 3:33:46

系统架构设计师备考01-综合错题记录

1 计算机系统基础 **1.1 操作系统定义了两种程序执行模式(用户模式和内核模式),应用程序在用户模式下使用特权指令引起的中断是() ** A 溢出中断 B 外部中断 C 访管中断 D 信号中断 解析 A. 溢出中断 由指令执行过程中的条件满足(如算术溢出等)引发的中断。与用户态下…

作者头像 李华
网站建设 2026/10/14 3:33:42

C++ 网络编程入门:从零实现 UDP 通信、网络字典与简易聊天室

&#x1f3ac; 个人主页&#xff1a;道尔柯南❄专栏传送门&#xff1a;《C语言》《C》《Linux操作系统》昙花一现&#xff0c;却等待了整个白昼&#xff1b;蝉鸣一夏&#xff0c;却蛰伏了好几个四季。 文章目录一、前言&#xff1a;学完 C&#xff0c;如何让程序真正实现网络通…

作者头像 李华