查看: 2850|回复: 14

[未解决] 如何写程序让舵机固定角度啊,为啥他老是自动转回去啊

[复制链接]

该用户从未签到

发表于 2019-5-5 21:59 | 显示全部楼层 |阅读模式
想让舵机只转一次,就是固定到某一个角度不要立马转回去。如何实现呢 ?以下是我的程序
#include <Servo.h>    // 声明调用Servo.h库
#include <dht11.h>
#define DHT11PIN 5
dht11 DHT11;
Servo myservo; // 创建一个舵机对象
int pos=0;        // 变量pos用来存储舵机位置
int i=0;
void setup()
{
myservo.attach(9);  // 将引脚9上的舵机与声明的舵机对象连接起来
Serial.begin(9600);
}
void loop() {
delay(1000);
  int chk = DHT11.read(DHT11PIN);
  Serial.print("当前湿度: ");//湿度
  Serial.print(DHT11.humidity);
  Serial.println(" %RH ");
  Serial.print("当前温度: ");//温度
  Serial.print(DHT11.temperature);
  Serial.println(" ℃ ");
  Serial.println("  ");
if(DHT11.temperature>=25)
  {
     //for(pos = 0; pos < 180; pos+= 1)  // 舵机从0°转到180°,每次增加1°
         
      myservo.write(180);           // 给舵机写入角度   
      delay(15);   // 延时15ms让舵机转到指定位置
     
     
  }
    if(DHT11.temperature<=20){
       //for(pos = 180; pos>=0; pos-=1)    // 舵机从180°转回到0°,每次减小1°                        
       myservo.write(0);        // 写角度到舵机   
       delay(15);                 // 延时15ms让舵机转到指定位置
      
}

  }


该用户从未签到

 楼主| 发表于 2019-5-5 22:00 | 显示全部楼层
求帮助 这舵机神经病一样 而且我程序里写的转180度怎么实际感觉他只转了90度 (如果算着来回过程是180度)
  • TA的每日心情
    擦汗
    2019-11-28 23:42
  • 签到天数: 729 天

    [LV.9]以坛为家II

    发表于 2019-5-5 22:26 | 显示全部楼层
    你把延时弄长一点,它还没来的及转到180度就要转回0度去了

    该用户从未签到

     楼主| 发表于 2019-5-5 22:31 | 显示全部楼层
    xmile 发表于 2019-5-5 22:26
    你把延时弄长一点,它还没来的及转到180度就要转回0度去了

    不行啊 我在后面加延时也不行啊 是不是我修改的不对呢 能方便在我代码后面给我示范一下吗

    该用户从未签到

     楼主| 发表于 2019-5-5 22:33 | 显示全部楼层
    a732483741 发表于 2019-5-5 22:31
    不行啊 我在后面加延时也不行啊 是不是我修改的不对呢 能方便在我代码后面给我示范一下吗 ...

    不行啊  把延时修改大点不对啊  
  • TA的每日心情
    擦汗
    2019-11-28 23:42
  • 签到天数: 729 天

    [LV.9]以坛为家II

    发表于 2019-5-5 22:37 | 显示全部楼层
    #include <Servo.h>    // 声明调用Servo.h库
    #include <dht11.h>
    #define DHT11PIN 5
    dht11 DHT11;
    Servo myservo; // 创建一个舵机对象
    int pos=0;        // 变量pos用来存储舵机位置
    int i=0;
    void setup()
    {
    myservo.attach(9);  // 将引脚9上的舵机与声明的舵机对象连接起来
    Serial.begin(9600);
    }
    void loop() {
    delay(1000);
      int chk = DHT11.read(DHT11PIN);
      Serial.print("当前湿度: ");//湿度
      Serial.print(DHT11.humidity);
      Serial.println(" %RH ");
      Serial.print("当前温度: ");//温度
      Serial.print(DHT11.temperature);
      Serial.println(" ℃ ");
      Serial.println("  ");
    if(DHT11.temperature>=25)
      {
         //for(pos = 0; pos < 180; pos+= 1)  // 舵机从0°转到180°,每次增加1°
             
          myservo.write(180);           // 给舵机写入角度   
          delay(150);   // 延时15ms让舵机转到指定位置
         
         
      }
        if(DHT11.temperature<=20){
           //for(pos = 180; pos>=0; pos-=1)    // 舵机从180°转回到0°,每次减小1°                        
           myservo.write(0);        // 写角度到舵机   
           delay(150);                 // 延时15ms让舵机转到指定位置
          
    }

      }

    该用户从未签到

     楼主| 发表于 2019-5-6 10:02 | 显示全部楼层
    xmile 发表于 2019-5-5 22:37
    #include     // 声明调用Servo.h库
    #include
    #define DHT11PIN 5

    不好使啊  这么加行啊 解决不了
  • TA的每日心情
    开心
    2019-11-9 01:05
  • 签到天数: 63 天

    [LV.6]常住居民II

    发表于 2019-5-6 10:43 | 显示全部楼层
    本帖最后由 jpolo 于 2019-5-6 10:46 编辑

    if(DHT11.temperature>=25)
      {
         for(pos = 0; pos < 180; pos+= 1) { // 舵机从0°转到180°,每次增加1° ----------//加括号
             
          myservo.write(180);           // 给舵机写入角度   ----------//是不是应该写成 myservo.write(pos);
          delay(15);   // 延时15ms让舵机转到指定位置
         }
         
      }
        if(DHT11.temperature<=20){
           for(pos = 180; pos>=0; pos-=1) {  // 舵机从180°转回到0°,每次减小1°     ----------//加括号                  
           myservo.write(0);        // 写角度到舵机    ----------//是不是应该写成 myservo.write(pos);
           delay(15);                 // 延时15ms让舵机转到指定位置
           }
    }

      }

    该用户从未签到

     楼主| 发表于 2019-5-6 11:27 | 显示全部楼层
    jpolo 发表于 2019-5-6 10:43
    if(DHT11.temperature>=25)
      {
         for(pos = 0; pos < 180; pos+= 1) { // 舵机从0°转到180°,每次增 ...

    写POS或者角度都可以 但是都不能解决这个自动摆回去问题
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    Blynk与m5stack basic以及uiflow的交互玩法
    Blynk与m5stack basic以及
    Blynk与m5stack basic以及uiflow的交互玩法 [准备工作我们假设玩家已经熟悉下面的准备
    【原创】 drawbot平面关节scara机械臂写字机 画画机器人直播...
    【原创】 drawbot平面关节
    这个项目上个月就在做了,结构和代码反反复复改了多次,加上自己又太忙,一直没来得及
    error:'UTFT' does not mame a type这个错在那里?
    error:'UTFT' doe
    ********************************************************************************
    【原创】全球最小口袋3D打印机mini one直播教程贴
    【原创】全球最小口袋3D打
    最近闲得蛋疼,没事搞个掌上3D打印机,先放效果图吧。 搞了半天,终于能正常打印,
    哪种按钮传感器可以适用我的arduino装置
    哪种按钮传感器可以适用我
    我想做大概12个按钮并联的这么一个装置,具体交互行为如下:按一次按钮通过mp3模块发
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表