Ola amigos, estou com duvidas em criar uma matriz 3d no arduino.
queria saber como crio essa matriz e como posso ler a mesma.
pesquisei na net mas nao consegui encontrar nada a respeito.
Obrigado.
Tags:
Explique melhor, esta muito vago..
eu estou precisando criar uma programa onde dentro de cada programa eu tenho 20 variaveis que seriam os passos do programa e dentro de cada passo eu tenho mais 9 variaveis que seriam 9 funcoes que ele vai executar, so que preciso criar no minimo 5 programas.
esses passos seria um contador de pulsos a cada incremento ele muda o passo e executa uma funcao determinada pelos 9 comandos.
deu para entender??
Se entendi vc precisa algo como m[x,y,z].
Um jeito infalivel seria vc fazer "na unha˜.
Por ex, se sua matriz tiver 5x6x7 vc imagina 3 indices:
x,y,z, que seriam: Bloco, linha e posicao dentro da linha.
Para o exemplo: 5 blocos de 6 linhas e 7 caracteres.
Pra escolher o bloco vc teria que dar um salto do tamanho de um bloco, ou seja: x*6*7.
Para escolher a linha dentro do bloco teria que somar a isso o indice da linha multiplicado pelo tamanho da linha: y*6
E dentro dessa linha, vc seleciona o caractere somando o numero do caractere desejado: z
Assim, para meu exemplo, o indice ficaria assim:
matriz[x*6*7+y*6+z]=tal.
Nao sei se fui claro, mas quero dizer que matrizes multidimensionais para o computador nada mais sao que indices multiplicados, nada que nao possa ser feito "manualmente".
Nao sei o C do arduino, quem sabe alguem tem uma dica mais polida.
Obrigad pela ajuda.. seria isso mesmo que preciso, mas queria saber como faço isso no "c" do arduino e como ele le.
eu achei um falando de uma matriz 2d ele usa o comando multiarray, mas encontrei outro aki no blog usando simplesmente int matriz [4] [4]= {0,0,0,0,}, {0,0,0,0}
e ainda no meu caso e 3D a matriz!!!
e pq vc nao faz:
int matriz[x][y][z];
for(int l=0; l<x; l++) {
for(int c=0; c<y; c++) {
for(int p=0; p<z; p++) {
matriz[l][c][p] = valor;
}
}
}
sendo x a quantidade de linhas, y para colunas e z para a profundidade.
tentei fazer assim:
int matriz[3] [3] [3];
for (int x=0; x<2; x++)
{
for (int y=0; y<2; y++)
{
for (int z=0; z<2; z++);
{
matriz[x] [y] [z]= 1+x;
mas da erro :
sketch_aug01b:30: error: name lookup of 'z' changed for new ISO 'for' scoping
sketch_aug01b:28: error: using obsolete binding at 'z'
ja tentei mudar para tudo quanto e letra e nao vai!!!
aguem sabe como faz???
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por