极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12120|回复: 3

ARDUINO 电位器控制舵机显示问题

[复制链接]
发表于 2014-12-29 10:54:09 | 显示全部楼层 |阅读模式
我有一个140HZ舵机,输入脉宽为5%到95%的140HZ信号,舵机机就可以旋转0-90度,我编制了一个程序:不需要库文件的,如下:
#include <Wire.h> //申明库文件
#include <LiquidCrystal_I2C.h>
int readPin = 0;   //用来连接电位器
int servopin = 9;    //定义舵机接口数字接口9
LiquidCrystal_I2C lcd(0x27,16,2);  
void servopulse(int angle)//定义一个脉冲函数
{
  int pulsewidth=(angle*6)+500;  //将角度转化为500-6638的脉宽值
  digitalWrite(servopin,HIGH);    //将舵机接口电平至高
  delayMicroseconds(pulsewidth);  //延时脉宽值的微秒数
  digitalWrite(servopin,LOW);     //将舵机接口电平至低
  delayMicroseconds(7142-pulsewidth);
}

void setup()
{
  lcd.init();//1602液晶初始化
  delay(20);//延时
  lcd.init();//需要两次初始化
  delay(20);
  lcd.backlight();  //点亮背光灯
  lcd.setCursor(0,0);//把光标定位在第0行,第0列
  lcd.print("DUTY ="); //显示“Voltage =”
  lcd.setCursor(15,0);//把光标定位在第0行,第15列
  lcd.print("%");   
   pinMode(servopin,OUTPUT);//设定舵机接口为输出接口

}

void loop()
{
  float sensorValue = analogRead(readPin);
  //把数值范围为0~1023的数字量正比转换为实测电压值
  float vol=map(sensorValue,1023,0,95,5);
  lcd.setCursor(10,0);  
  lcd.print(vol);  

  
    int readValue = analogRead(readPin);
  int angle = readValue;
    servopulse(angle);
  
}

舵机没有反应,而删除:
lcd.setCursor(10,0);  
  lcd.print(vol);  
的显示内容后,舵机就可以正常运行了。请各位高手看一下如何是好?
回复

使用道具 举报

 楼主| 发表于 2014-12-29 11:20:16 | 显示全部楼层
这个是简化的程序:运行正常。

int readPin = 0;   //用来连接电位器
int servopin = 9;  
void servopulse(int angle)//定义一个脉冲函数
{
  int pulsewidth=(angle*6)+500;  //将角度转化为500-6638的脉宽值
  digitalWrite(servopin,HIGH);    //将舵机接口电平至高
  delayMicroseconds(pulsewidth);  //延时脉宽值的微秒数
  digitalWrite(servopin,LOW);     //将舵机接口电平至低
  delayMicroseconds(7142-pulsewidth);
}
void setup()
{
   pinMode(servopin,OUTPUT);//设定舵机接口为输出接口
}
void loop()
  {
    int angle = analogRead(readPin);
     servopulse(angle);
     }
回复 支持 反对

使用道具 举报

发表于 2014-12-29 19:32:24 | 显示全部楼层
显示内容跟舵机就可以正常运行没有关系
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-14 21:40:34 | 显示全部楼层
那么请教大侠怎么处理呢?我只是想显示占空比而已
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-10 03:38 , Processed in 0.042730 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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