11#

[视觉算法] 【分享帖】北京科技大学能量机关视频分享

[复制链接]
正式队员雷神
2021-3-13 21:39:42 只看该作者
能问一下用什么单片机控制的,我用32单片机用pwm+dma控制灯条老是有延迟而且不能控制颜色
12#

[视觉算法] 【分享帖】北京科技大学能量机关视频分享

[复制链接]
正式队员huang1332
2021-3-13 22:18:29 只看该作者
雷神 发表于 2021-3-13 21:39
能问一下用什么单片机控制的,我用32单片机用pwm+dma控制灯条老是有延迟而且不能控制颜色
...

上两个arduino uno,一个接所有传感器加3个灯条,另一个接两个灯条,然后两个板子串口通信。灯条的库用Adafruit_NeoPixel,但是注意一个最多arduino只能控制3个灯条
13#

[视觉算法] 【分享帖】北京科技大学能量机关视频分享

[复制链接]
正式队员huang1332
2021-3-17 19:25:46 只看该作者
int *xipai(int nums[]){

  int temp=0;
   for(int i=4; i>0; i--) {
   
    long ran=random(0,i);
   temp=nums[i];
   nums[i]=nums[ran];
   nums[ran]=temp;
      delay(16-ran);
    }
   
    long ran=random(0,5);
   temp=nums[0];
   nums[0]=nums[ran];
   nums[ran]=temp;
      delay(16-ran);
    return nums;
  }
洗牌算法,随机亮灯用的
if (scale.is_ready()) {
long reading = scale.read();
if(reading-value>25000|| reading-value<-25000){state[0]=1;}}
value是开始几秒钟不断获取传感器数值得到的平均值
#include <SoftwareSerial.h>两个arduino用软串口通信
if(millis()-timelast>350){//liushuideng

if(state==1){
if(numstate==0){for(int i=1; i<29; i+=2){pixels.setPixelColor(i, pixels.Color(0, 0, 0)); }for(int i=0; i<29; i+=2){pixels.setPixelColor(i, pixels.Color(red, 0, blue)); } pixels.show(); numstate=1;}
else{for(int i=0; i<29; i+=2){pixels.setPixelColor(i, pixels.Color(0, 0, 0)); }for(int i=1; i<29; i+=2){pixels.setPixelColor(i, pixels.Color(red, 0, blue)); } pixels.show(); numstate=0;}}

if(state1==1){
if(numstate1==0){for(int i=1; i<29; i+=2){pixels2.setPixelColor(i, pixels2.Color(0, 0, 0)); } for(int i=0; i<29; i+=2){pixels2.setPixelColor(i, pixels2.Color(red, 0, blue)); } pixels2.show(); numstate1=1;}
else{for(int i=0; i<29; i+=2){pixels2.setPixelColor(i, pixels2.Color(0, 0, 0)); } for(int i=1; i<29; i+=2){pixels2.setPixelColor(i, pixels2.Color(red, 0, blue)); } pixels2.show(); numstate1=0;}}

timelast=millis();
}流水灯效果
我们的是一个扇叶用一根137个灯珠的,尽量不要用矩阵灯
一个arduino只能接3个灯条
哪怕不写别的只点亮四个灯条也只会亮三个
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

触屏版 | 电脑版

Copyright © 2024 RoboMasters 版权所有 备案号 粤ICP备2022092332号

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