Array 2d - Arduino

Array 2d - Arduino

As placas Arduino podem ser programadas usando uma linguagem C/C ++. A maioria dos conceitos de programação Arduino herda desses dois idiomas. Como nas matrizes C/C ++ também são usadas em esboços de Arduino. Matrizes podem armazenar vários elementos com o mesmo tipo de dados. Matrizes em Arduino são comumente usadas para loops para controlar o nível de tensão em vários pinos. Vamos ver como criar matrizes 2D em Arduino.

Matrizes 2d em Arduino

Matrizes 2d ou bidimensionais são semelhantes à única diferença unidimensional é aqui, temos várias linhas e várias colunas em vez de uma única linha de caracteres. Todos os elementos das matrizes são organizados dentro de uma grade na forma tabular com linhas e colunas.

Em palavras simples, as matrizes que exigem dois subscritos diferentes para chamar um elemento específico em um local específico são chamados de matrizes 2D. Qualquer matriz com duas ou mais dimensões é conhecida como uma matriz multidimensional.

Aqui na imagem acima, podemos ver uma matriz 2D multidimensional porque exige que dois subscritos identifiquem um elemento específico.

  • Primeiro é o nome da matriz denotada por "a".
  • Segundo é o subscrito da linha [2] Dizendo -nos o local do elemento em relação ao seu número de linha.
  • O terceiro é o subscrito da coluna [1] denota o número da coluna de elementos específicos.

Inicializando a matriz 2D em Arduino

Agora, para entender o conceito de matriz 2D, inicializamos uma matriz 2D dentro do código Arduino e imprimi -lo em um monitor serial. A seguir, o código para inicializar uma matriz 2 × 3 2D:

Void Setup ()
Serial.começar (115200); /*A comunicação serial começa*/
int nrow = 2; /*Numero de linhas*/
int ncol = 3; /*Número de coluna*/
int twodimarray [2] [3] = /*Array definido com dimensão* /

1, 2, 3, /*elementos de matriz* /
4, 5, 6
;
Serial.println ("matriz de duas dimensões de [2] x [3]");
int currow = 0;
enquanto (Currow < nRow) /*While loop to print n value of row*/

int curcol = 0;
while (curcol < nCol) /*While loop to print n value of column*/

Serial.impressão (Twodimarray [Currow] [Curcol]);
Serial.imprimir(" ");
curcol ++; /*Imprima todas as linhas elementos*/

Serial.println ();
Currow ++; /*Imprima todos os elementos da coluna*/


Void Loop ()

Aqui no código acima, começamos inicializando a comunicação serial para imprimir resultados no monitor serial. O próximo número total de linhas e colunas é inicializado. Para armazenar dados dentro da matriz, inicializamos uma sequência de matriz bidimensional que imprime números de 1 a 6.

Ao lado de armazenar os dados inicializados dentro da matriz dois, enquanto os loops serão necessários para o número de linhas e o segundo para o número total de colunas. Também podemos fazer isso manualmente, mas no caso de matrizes 2D de tamanho grande, temos que escrever uma linha separada para cada elemento da matriz 2D. Para evitar esse loop, é inicializado que será executado por si mesmo e aumentará seu valor para armazenar o próximo elemento dentro da matriz.

Por fim, imprimimos as linhas e as colunas usando a série.Função print ().

Saída

A saída exibe uma matriz 2D com tamanho 2 × 3.

Substituindo elementos de matriz 2D por um valor em Arduino

Como imprimimos com sucesso uma matriz 2D no monitor serial agora, substituiremos um valor específico por um elemento dentro da matriz 2D.

Void Setup ()
Serial.começar (115200); /*A comunicação serial começa*/
int nrow = 2; /*Numero de linhas*/
int ncol = 3; /*Número de coluna*/
int twodimarray [2] [3] = /*Array definido com dimensão* /

1, 2, 3, /*elementos de matriz* /
4, 5, 6
;
Serial.println ("Elemento no local [1] x [1] é substituído por 0:");
int currow = 0;
enquanto (Currow < nRow)

int curcol = 0;
while (curcol < nCol)

twodimarray [1] [1] = 0; /*O elemento de matriz em [1] x [1] é substituído por 0*/
Serial.impressão (Twodimarray [Currow] [Curcol]);
Serial.imprimir(" ");
curcol ++; /*Imprima todas as linhas elementos*/

Serial.println ();
Currow ++; /*Imprima todos os elementos da coluna*/


Void Loop ()




O código acima é semelhante ao trabalhar como o código explicado anteriormente. A única diferença aqui é a adição de duas linhas usando a seguinte função: podemos substituir qualquer elemento da matriz por um determinado valor.
[cce_bash width = "100%" altura = "100%" escape = "true" tema "" Blackboard "Nowrap =" 0 "]
twodimarray [1] [1] = 0;

Aqui, o elemento [1] x [1] igual a 5 será substituído por um número 0. Ao definir o local do elemento da matriz, qualquer número pode ser substituído por um novo.

Saída

No monitor serial, podemos ver que o elemento no local [1] x [1] é substituído pelo número 0:

Obtendo um valor de uma posição específica em 2D Array em Arduino

Agora, recuperaremos um valor específico de um elemento de qualquer posição dentro da matriz 2D:

Void Setup ()
Serial.começar (115200); /*A comunicação serial começa*/
int nrow = 2; /*Numero de linhas*/
int ncol = 3; /*Número de coluna*/
int twodimarray [2] [3] = /*Array definido com dimensão* /

1, 2, 3, /*elementos de matriz* /
4, 5, 6
;
int currow = 0;
enquanto (Currow < nRow)

int curcol = 0;
while (curcol < nCol)

Serial.impressão (Twodimarray [Currow] [Curcol]);
Serial.imprimir(" ");
curcol ++; /*Imprima todas as linhas elementos*/

Serial.println ();
Currow ++; /*Imprima todos os elementos da coluna*/

int myValue = twodimarray [1] [1]; /*Elemento de impressão al [1] x [1]*/
Serial.print ("Valor do elemento em [1] x [1] é:");
Serial.impressão (myvalue);

void loop ()

Aqui no final do código, definimos uma nova variável MyValue do tipo int. Essa variável levará o valor do elemento definido usando sua localização e a imprimirá no monitor serial.

Aqui, inicializamos para imprimir elementos no local [1] x [1].

Saída

O terminal de saída representa o valor no local [1] x [1], que é igual a 5:

Conclusão

Matrizes bidimensionais (matriz 2D) removem o incômodo de lidar com várias variáveis. Também usando matrizes 2D, podemos definir diferentes valores de pino altos ou baixos. Este artigo fornece uma introdução de matrizes 2D em Arduino e guias sobre como obter ou substituir valores de elementos específicos dentro da matriz 2D.