[问答] 求助,困扰了我好几天的一个程序

[复制链接]

等待验证会员

发表于 2016-8-14 14:35:33   1366 查看 4 回复 显示全部楼层 倒序浏览
分享
大家好,我在用arduino编程的时候出了一点问题,我想用两个超声波传感器的距离之差控制舵机的转向,程序应该是一直循环的,可是程序只执行一次,哪位能帮忙解答一下吗?下面是我写的程序
#include<Servo.h>
Servo myservo;
float df, db, num;                            //df,db,分别代表两个超声波测量的距离
void set_sr04(int trigpin, int echopin)       //端口初始化
{
  pinMode(trigpin, OUTPUT);
  pinMode(echopin, INPUT);
}
float get_sr04(int trigpin, int echopin)      //计算距离
{
  float distance;
  digitalWrite(trigpin, 0);
  delayMicroseconds(2);
  digitalWrite(trigpin, 1);
  delayMicroseconds(10);
  digitalWrite(trigpin, 0);
  distance = pulseIn(echopin, 1) / 58.0;
  return distance;
}
void setup()
{
  Serial.begin(9600);
  set_sr04(4, 5);
  set_sr04(6, 7);
  myservo.attach(9);
}
float difference()               //前后距离差
{
  Serial.println("front");
  df = get_sr04(4, 5);
  Serial.println(df);
  Serial.println("between");
  db = get_sr04(6, 7);
  Serial.println(db);
  return df - db;
}
void loop()
{
  num = difference();           //根据num的值控制舵机的转向
  if (num < -1.0)
  {
    myservo.write(85);
    while (num < -0.3)
      myservo.write(90);
  }
  if (num > 1.0)
  {
    myservo.write(105);
    while (num > 0.3)
      myservo.write(90);
  }
  delay(200);
}

技术员

发表于 2016-10-18 08:46:52  
楼主,善用Serial.println()做调试啊,你这代码要调试一下才容易看出来,目测不容易做到啊
回复

点赞 举报

高级工程师

发表于 2017-2-26 17:09:53  

PCB在线计价下单

板子大小:

cm
X
cm

层数:

2

板子数量:

10

厚度:

1.6
      如果我没说错的话,你发的程序不够完整!我已经看出一点端倪了,可惜程序不够完整,不能判断是否正确,帮不到你了。
回复

点赞 举报

实习生

发表于 2017-5-17 23:38:23  
可以在程序中使用串口的显示功能,实时输出变量数据
回复

点赞 举报

等待验证会员

发表于 2017-5-19 09:50:12  
本帖最后由 O_oYYQ 于 2017-5-19 15:51 编辑

>>>《》《》《》<<<
回复

点赞 举报

只有小组成员才能发言,加入小组>>

23个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /9 下一条

快速回复 返回顶部 返回列表
-

推荐专区

技术干货集中营

专家问答

用户帮助┃咨询与建议┃版主议事

我的提问

工程师杂谈

工程师创意

工程师职场

论坛电子赛事

社区活动专版

发烧友活动

-

嵌入式论坛

ARM技术论坛

Android论坛

Linux论坛

单片机/MCU论坛

FPGA|CPLD|ASIC论坛

DSP论坛

嵌入式系统论坛

-

电源技术论坛

电源技术论坛

无线充电技术

-

硬件设计论坛

PCB设计论坛

电路设计论坛

电子元器件论坛

控制|传感

总线技术|接口技术

-

测试测量论坛

LabVIEW论坛

Matlab论坛

测试测量技术专区

仪器仪表技术专区

-

EDA设计论坛

multisim论坛

PADS技术论坛

Protel|AD|DXP论坛

Allegro论坛

proteus论坛|仿真论坛

EasyEDA-中国人自已的EDA工具

Orcad论坛

-

综合技术与应用

电机控制

智能电网

光电及显示

参考设计中心

汽车电子技术论坛

医疗电子论坛

-

开源硬件

-

无线通信论坛

无线通信技术专区

天线|RF射频|微波|雷达技术

-

IC设计论坛

芯片测试与失效分析

Mixed Signal/SOC[数模混合芯片设计]

Analog/RF IC设计

设计与制造封装测试

-

厂商专区

TI论坛

TI Deyisupport社区

-

检测技术与质量

电磁兼容(EMC)设计与整改

安规知识论坛

检测与认证

-

消费电子论坛

手机技术论坛

平板电脑/mid论坛

音视/视频/机顶盒论坛

-

电子论坛综合区

聚丰众筹官方社区

新人报道区

聚丰供应链

-

论坛服务区

-

供求信息发布

供需广告

招聘┃求职发布区

电子展览展会专区