Arrays 数组中的ARDUINO元素赢得';我没有得到一个值
一直持续到255 此时J值变为1,循环继续 编辑 这是设置Arrays 数组中的ARDUINO元素赢得';我没有得到一个值,arrays,loops,arduino,Arrays,Loops,Arduino,一直持续到255 此时J值变为1,循环继续 编辑 这是设置 [Info] Opened the serial port - COM3 RED 0 J VALUE 0 COLOR ARRAY 0 RED 0 J VALUE 0 COLOR ARRAY 1 RED 0 J VALUE 0 COLOR ARRAY 2 RED 0 J VALUE 0 COLOR ARRAY 3 RED 0 J VALUE 0 COLOR ARRAY 4 RED 0 J VALUE 0 COLOR ARRAY
[Info] Opened the serial port - COM3
RED 0
J VALUE 0
COLOR ARRAY 0
RED 0
J VALUE 0
COLOR ARRAY 1
RED 0
J VALUE 0
COLOR ARRAY 2
RED 0
J VALUE 0
COLOR ARRAY 3
RED 0
J VALUE 0
COLOR ARRAY 4
RED 0
J VALUE 0
COLOR ARRAY 5
RED 0
J VALUE 0
COLOR ARRAY 6
RED 0
J VALUE 0
COLOR ARRAY 7
RED 0
J VALUE 0
COLOR ARRAY 8
RED 0
J VALUE 0
COLOR ARRAY 9
RED 0
J VALUE 0
COLOR ARRAY 10
RED 0
J VALUE 0
COLOR ARRAY 11
RED 0
J VALUE 0
COLOR ARRAY 12
RED 0
J VALUE 0
COLOR ARRAY 13
RED 0
J VALUE 0
COLOR ARRAY 14
RED 0
J VALUE 0
COLOR ARRAY 15
RED 0
J VALUE 0
COLOR ARRAY 16
RED 0
J VALUE 0
COLOR ARRAY 17
RED 0
J VALUE 0
COLOR ARRAY 18
RED 0
J VALUE 0
COLOR ARRAY 19
RED 0
J VALUE 0
COLOR ARRAY 20
RED 0
J VALUE 0
COLOR ARRAY 21
RED 0
J VALUE 0
COLOR ARRAY 22
RED 0
J VALUE 0
COLOR ARRAY 23
RED 0
J VALUE 0
COLOR ARRAY 24
RED 0
J VALUE 0
COLOR ARRAY 25
RED 0
J VALUE 0
COLOR ARRAY 26
RED 0
J VALUE 0
COLOR ARRAY 27
RED 0
J VALUE 0
COLOR ARRAY 28
RED 0
J VALUE 0
COLOR ARRAY 29
RED 0
J VALUE 0
COLOR ARRAY 30
RED 0
J VALUE 0
COLOR ARRAY 31
RED 0
J VALUE 0
COLOR ARRAY 32
RED 0
J VALUE 0
COLOR ARRAY 33
RED 0
J VALUE 0
COLOR ARRAY 34
您写入值的方式是错误的,您将
i
值分配给数组索引j
,并且从未使用过它。我猜你是怎么想的,如果你修改了你分配给不同变量的数组,变量也会被修改,但事实上不会
以下是正确的方法:
for(int j=0;j<3;j++){
对于(int i=0;i<255;i++){
彩色阵列[j]=i;
analogWrite(红色,colorArray[0]);//0是红色索引
analogWrite(蓝色,colorArray[2]);//2是蓝色索引
analogWrite(绿色,colorArray[1]);//1是绿色索引
//这就是将值分配给数组的方式
}
}
你不需要使用
int-redValue;
国际绿色价值;
int蓝值;
变量。您编写值的方式是错误的,您将
i
值赋给数组索引j
,并且从未使用过它。我猜你是怎么想的,如果你修改了你分配给不同变量的数组,变量也会被修改,但事实上不会
以下是正确的方法:
for(int j=0;j<3;j++){
对于(int i=0;i<255;i++){
彩色阵列[j]=i;
analogWrite(红色,colorArray[0]);//0是红色索引
analogWrite(蓝色,colorArray[2]);//2是蓝色索引
analogWrite(绿色,colorArray[1]);//1是绿色索引
//这就是将值分配给数组的方式
}
}
你不需要使用
int-redValue;
国际绿色价值;
int蓝值;
变量。如果要显示所有可能的颜色组合,将有2^24种组合。三个嵌套循环将起作用:
#定义红色3
#定义绿色5
#定义蓝色6
#定义延迟时间10
无效设置()
{
pinMode(红色,输出);
引脚模式(绿色,输出);
pinMode(蓝色,输出);
对于(int r=0;r<256;r++){
对于(int g=0;g<256;g++){
对于(int b=0;b<256;b++){
模拟文字(红色,r);
(绿色,g);
模拟文字(蓝色,b);
延迟(延迟时间);
}
}
}
}
void循环()
{
}
以上代码将一次性显示所有颜色。如果要连续循环使用所有颜色:
#定义红色3
#定义绿色5
#定义蓝色6
#定义延迟时间10
//当前颜色-32位值,但仅使用24位
//将8位红色、绿色和蓝色值打包到此
//00000000 BBBBBBGGGGGGRRRRRR
无符号长电流_颜色=0;
//宏从32位值获取红色、绿色和蓝色元素
#定义获取红色(x)((x)和0xFF)
#定义GET_绿色(x)((x)和0xFF00)>>8)
#定义获取蓝色(x)((x)和0xFF0000)>>16)
无效设置()
{
pinMode(红色,输出);
引脚模式(绿色,输出);
pinMode(蓝色,输出);
}
void循环()
{
模拟写入(红色,获取红色(当前颜色));
模拟写入(绿色,获取绿色(当前颜色));
模拟写入(蓝色,获取蓝色(当前颜色));
延迟(延迟时间);
当前颜色+=1;
如果(当前颜色>0xFFFFFF)当前颜色=0;
}
如果您想显示所有可能的颜色组合,您将有2^24种组合。三个嵌套循环将起作用:
#定义红色3
#定义绿色5
#定义蓝色6
#定义延迟时间10
无效设置()
{
pinMode(红色,输出);
引脚模式(绿色,输出);
pinMode(蓝色,输出);
对于(int r=0;r<256;r++){
对于(int g=0;g<256;g++){
对于(int b=0;b<256;b++){
模拟文字(红色,r);
(绿色,g);
模拟文字(蓝色,b);
延迟(延迟时间);
}
}
}
}
void循环()
{
}
以上代码将一次性显示所有颜色。如果要连续循环使用所有颜色:
#定义红色3
#定义绿色5
#定义蓝色6
#定义延迟时间10
//当前颜色-32位值,但仅使用24位
//将8位红色、绿色和蓝色值打包到此
//00000000 BBBBBBGGGGGGRRRRRR
无符号长电流_颜色=0;
//宏从32位值获取红色、绿色和蓝色元素
#定义获取红色(x)((x)和0xFF)
#定义GET_绿色(x)((x)和0xFF00)>>8)
#定义获取蓝色(x)((x)和0xFF0000)>>16)
无效设置()
{
pinMode(红色,输出);
引脚模式(绿色,输出);
pinMode(蓝色,输出);
}
void循环()
{
模拟写入(红色,获取红色(当前颜色));
模拟写入(绿色,获取绿色(当前颜色));
模拟写入(蓝色,获取蓝色(当前颜色));
延迟(延迟时间);
当前颜色+=1;
如果(当前颜色>0xFFFFFF)当前颜色=0;
}
您的程序未完成。1) 你想干什么?2) setup()函数在哪里?3) 如果在一个周期后停止循环(),延迟是什么?我没有想到要包括设置,因为我认为这不会有任何帮助。我无意中删除了延迟,对不起!但是我想实现的是,通过循环数组并给它“i”值,使颜色数组中的每种颜色都达到255。目标是什么?你想把所有的RGB组合形象化吗?是的,没错!Bdid检查波特率,因为分配给它的波特率与注释不同。您的程序不完整。1) 你想干什么?2) setup()函数在哪里?3) 如果在一个周期后停止循环(),延迟是什么?我没有想到要包括设置,因为我认为这不会有任何帮助。我无意中删除了延迟,对不起!但是我想实现的是,通过循环数组并给它“i”值,使颜色数组中的每种颜色都达到255。目标是什么?你想把所有的RGB都可视化吗
[Info] Opened the serial port - COM3
RED 0
J VALUE 0
COLOR ARRAY 0
RED 0
J VALUE 0
COLOR ARRAY 1
RED 0
J VALUE 0
COLOR ARRAY 2
RED 0
J VALUE 0
COLOR ARRAY 3
RED 0
J VALUE 0
COLOR ARRAY 4
RED 0
J VALUE 0
COLOR ARRAY 5
RED 0
J VALUE 0
COLOR ARRAY 6
RED 0
J VALUE 0
COLOR ARRAY 7
RED 0
J VALUE 0
COLOR ARRAY 8
RED 0
J VALUE 0
COLOR ARRAY 9
RED 0
J VALUE 0
COLOR ARRAY 10
RED 0
J VALUE 0
COLOR ARRAY 11
RED 0
J VALUE 0
COLOR ARRAY 12
RED 0
J VALUE 0
COLOR ARRAY 13
RED 0
J VALUE 0
COLOR ARRAY 14
RED 0
J VALUE 0
COLOR ARRAY 15
RED 0
J VALUE 0
COLOR ARRAY 16
RED 0
J VALUE 0
COLOR ARRAY 17
RED 0
J VALUE 0
COLOR ARRAY 18
RED 0
J VALUE 0
COLOR ARRAY 19
RED 0
J VALUE 0
COLOR ARRAY 20
RED 0
J VALUE 0
COLOR ARRAY 21
RED 0
J VALUE 0
COLOR ARRAY 22
RED 0
J VALUE 0
COLOR ARRAY 23
RED 0
J VALUE 0
COLOR ARRAY 24
RED 0
J VALUE 0
COLOR ARRAY 25
RED 0
J VALUE 0
COLOR ARRAY 26
RED 0
J VALUE 0
COLOR ARRAY 27
RED 0
J VALUE 0
COLOR ARRAY 28
RED 0
J VALUE 0
COLOR ARRAY 29
RED 0
J VALUE 0
COLOR ARRAY 30
RED 0
J VALUE 0
COLOR ARRAY 31
RED 0
J VALUE 0
COLOR ARRAY 32
RED 0
J VALUE 0
COLOR ARRAY 33
RED 0
J VALUE 0
COLOR ARRAY 34
#define RED 3
#define GREEN 5
#define BLUE 6
void setup()
{
Serial.begin(57600); // open the serial port at 9600 bps:
pinMode(RED, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(BLUE, OUTPUT);
}