查看: 579|回复: 0

[未解决] ARDUINO 同时控制舵机和WS2812灯问题?

[复制链接]

该用户从未签到

发表于 2020-1-14 21:22 | 显示全部楼层 |阅读模式
     代码如下,程序目的是 舵机转动0-180° ,然后映射给WS2812 灯的 亮度,从而达到LED灯 随着舵机角度变化使亮度随着变化 ,现在出现问题,就是舵机转动的时候不连续,有卡顿(转着卡下再转,有点回退再转),监控角度也是连贯的。我自己删除 delay(20); 让舵机不减速转,那就没有卡顿或者删除 FastLED.show();,舵机也没卡顿,但是灯没刷新就不行了 ,新手研究N天没解决,打击了,麻烦各位看下程序对不,或者指条另外的路子,我可以研究下。
#include "FastLED.h"                    // 此示例程序需要使用FastLED库                    
#define NUM_LEDS 16                 // LED灯珠数量
#define DATA_PIN 5                      // Arduino输出控制信号引脚
#define LED_TYPE WS2812         // LED灯带型号
#define COLOR_ORDER GRB      // RGB灯珠中红色、绿色、蓝色LED的排列顺序
uint8_t max_bright =10;                 // LED亮度控制变量,可使用数值为 0 ~ 255, 数值越大则光带亮度越高
CRGB leds[NUM_LEDS];              // 建立光带leds

#include <Servo.h>  
Servo myservo;   
int pos = 0;                   // 角度初始为O
void setup()
{
  LEDS.addLeds<LED_TYPE, DATA_PIN, COLOR_ORDER>(leds, NUM_LEDS);  // 初始化光带
  myservo.attach(9);   
  Serial.begin(9600);

}

void loop()
{

  for(pos = 0; pos <=180; pos++)         // 0到180°
  {                                 

     myservo.write(pos);                //角度写入
     int LD = pos;                           //假设LD亮度=POS
     LD=map (LD,0,180,0,255);           //POS角度映射LD亮度
     FastLED.setBrightness(LD);         //设置亮度
     fill_solid(leds,16,CRGB::White);   //16个灯同时亮为白
     FastLED.show();                          //刷新LED灯(必写,不然灯不亮)
     delay(20);
     Serial.println(pos);

    }


delay(4000);

  for(pos = 180; pos>=0; pos--)     
  {              
    myservo.write(pos);              
    int LD = pos;   
    LD=map (LD,180,0,255,0);  
    FastLED.setBrightness(LD);
    fill_solid(leds,16,CRGB::White);
    FastLED.show();
    delay(20);
    Serial.println(pos);                  
}
    delay(4000);

}





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

本版积分规则

热门推荐

5分钟带你快速了解新一代开发板:M5STACK
5分钟带你快速了解新一代
一、什么是M5Stack M5Stack是一种模块化、可堆叠扩展的开发板,每个模块
创客火首发无人机编队套装,开启不一样的人工智能教育
创客火首发无人机编队套装
2017年国务院发布《新一代人工智能发展规划》,提出要广泛开展人工智能科普活动,在中
为开发板 Generic ESP8266 Module 编译时出错
为开发板 Generic ESP8266
第一次尝试Arduino UNO软串口通信,编译一直通不过,错误信息 “开发板 generic (平
请问L298N能不能驱动这种电机呀
请问L298N能不能驱动这种
小白不太敢确定orzz电机是30W,10转,12V的直流减速电机 谢谢大家了!
ws2812灯带求助,求大佬。。
ws2812灯带求助,求大佬。
刚才那个求助帖我说的可能有点模糊,所以我这次弄详细一点。小弟第一次接触这个灯带,
Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
快速回复 返回顶部 返回列表