| Ваш IP: 3.226.243.130 | Online(18) - гости: 11, боты: 7 | Загрузка сервера: 0.52 ::::::::::::


Массивы (Arduino)

Массив — это набор переменных, доступ к которым осуществляется по индексу. В данной статье будут рассмотрены одномерные массивы, а так же способы их создания и вывода элементов массива.

Способы создания массивов:

int arr_1[] = {1,3,25,18,44};
int arr_2[5] = {18,39,253,185,44};
char arr_3[6] = {"hello"};

В данном примере видно, что можно не указывать размер массива компилятор сам посчитает элементы и создаст массив соответствующего размера. Следует помнить, что при объявлении массива типа char, в нем необходимо место для хранения обязательного нулевого символа, поэтому размер массива должен быть на один символ больше, чем требует инициализируемое значение.

Массив может быть так же создан в процессе выполнения программы, в следующем примере показано как создать такой массив:

void setup(){
}

int arr[100];// объявим массив, укажем кол-во элементов

void loop(){

  for(int i = 0; i < 100; i++){ // в массиве будет 100 элементов
    arr[i] = random(10000); // заполним массив случайными числами
  }
}

Любой элемент массива может быть изменен в процессе выполнения программы, вот простой пример:

void setup(){
}

int arr[5] = {11,58,25,63,78};// объявим массив, укажем кол-во элементов

void loop(){
  
 arr[0] = 0
 
}

Как видно в примере, содержимое элемента массива с ключом [0] было заменено.

Вывод элементов массива:

void setup(){
}

int arr[] = {11,58,25,63,4567};// объявим массив, укажем кол-во элементов

void loop(){

 int arr[3]; // 63
  
}

В данном примере видно что элемент arr[3] содержит число 63, а не 25, так отсчет элементов массива начинается с 0.

Элементы массива можно вывести при помощи цикла for:

void setup(){
  Serial.begin(9600);
}

int arr[] = {11,58,25,63,4567};// объявим массив, укажем кол-во элементов

void loop(){

  for(int i=0; i < 5; i++){  
 
  Serial.println(arr[i]); 

 }
  
}

Оператор sizeof удобно использовать при работе с массивами, особенно в тех случаях, когда размерность массива заранее неизвестна или может меняться:

void setup(){
  Serial.begin(9600);
}

int arr[] = {11,58,25,63,4567};// объявим массив, укажем кол-во элементов
char arr_char[]= "arduino";
int a,b;
void loop
(){

  /* Оператор sizeof возвращает количество байт, занимаемых 
   типом переменной, либо количество байт, занимаемых массивом. */

  a = sizeof(arr)/sizeof(int);// вывод 5
  b = sizeof(arr_char)-1;// вывод 7

  for(int i=0; i < sizeof(arr) / sizeof(int); i++)
  {  // цикл for выведет поочередно все элементы массива
    Serial.println(arr[i]);
  }
  Serial.println(a);
  Serial.println(b);
}

Добавить комментарий

Войти с помощью: 

Случайные статьи

  • Расчёт стабилизатора напряжения (источника опорного напряжения)

    Расчёт стабилизатора напряжения (источника опорного напряжения)

    Для расчёта стабилизатора, как правило, используются только два  параметра — Uст (напряжение стабилизации) , Iст (ток стабилизации), при условии что ток нагрузки равен или меньше тока стабилизации. Для простого расчета стабилизатора на примере будем использовать следующие параметры: Входное напряжение 10 В Выходное напряжение 6,8 В Ток нагрузки 10 мА Из …Подробнее...
  • УМЗЧ мощностью 200Вт

    УМЗЧ мощностью 200Вт

    В данной статье предложен УМЗЧ на 2-х микросхемах TDA7294.  Применение 2-х микросхем в мостовом включении  позволяет собрать УМЗЧ с удвоением мощности. Основные технические характеристики: Максимальная мощность — 200Вт Номинальная мощность при Кгарм 0,5% — 170Вт Номинальное вх. напряжение — 0,5В Сопротивление нагрузки — 8 Ом Диапазон воспроизводимых частот 0,02…20 кГц …Подробнее...
  • TDA7317 – стереофонический 5-полосный эквалайзер (Arduino)

    TDA7317 – стереофонический 5-полосный эквалайзер (Arduino)

    TDA7317 – стереофонический 5-полосный эквалайзер с цифровым управлением, позволяющий осуществлять регулировку уровня звука и тембра в пяти полосах 60 Гц, 260 Гц, 1 кГц, 3 кГц, 10 кГц. В связке с Arduino TDA7317 можно сделать функциональный предварительный усилитель с регулировкой тембра по пяти полосам, а если добавить аудиопроцессор например TDA7313 …Подробнее...
  • Онлайн — калькулятор цветовой маркировки резисторов

    Онлайн — калькулятор цветовой маркировки резисторов

    Для резисторов с точностью 20 % используют маркировку с тремя полосками, для резисторов с точностью 10 % и 5 % маркировку с четырьмя полосками, для более точных резисторов с пятью или шестью полосками. Первые две полоски всегда означают первые два знака номинала. Если полосок 3 или 4, третья полоска означает …Подробнее...
  • Пиковый индикатор

    Пиковый индикатор

    Простой пиковый индикатор индицирует пик музыкального сигнала. Каждый раз, когда уровень сигнала превышает уровень + 4 дБ, это приводит к свечению светодиода D1. Данное уст-во полезно в каждом из каналов звука, в конечном усилителей, и в других случаях.  Уровень напряжения при индикации уровня выше + 4 дБ равен — 1,25В. …Подробнее...