| Ваш IP: 3.238.107.166 | Online(29) - гости: 23, боты: 6 | Загрузка сервера: 0.21 ::::::::::::


Массивы (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);
}

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

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

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

  • Триггеры, счетчики, регистры, мультиплексоры, шифраторы, дешифраторы

    Триггеры, счетчики, регистры, мультиплексоры, шифраторы, дешифраторы

    Триггер — это уст-во с двумя устойчивыми состояниями равновесия, предназначенные для записи и хранения информации. Триггер способен хранить 1 бит данных. Условное обозначение триггера имеет вид прямоугольника, внутри которого пишется буква Т. Слева к изображению прямоугольника подводятся входные сигналы. Обозначения входов сигнала пишутся на дополнительном поле в левой части прямоугольника. …Подробнее...
  • Расчет числа витков катушки на тороидальном ферритовом сердечнике

    Расчет числа витков катушки на тороидальном ферритовом сердечнике

    Маркировка размеров кольцевых сердечников Сначала цифрами указывается величина начальной магнитной проницаемости, затем марка используемого материала, и потом размер кольца в миллиметрах: 2000НН D x d x h Где — 2000 величина начальной магнитной проницаемости, НН – марка материала, D – внешний диаметр, d – внутренний диаметр, h – толщина кольца, …Подробнее...
  • Фазоуказатель

    Фазоуказатель

    Подключение некоторых устройств, работающих от трехфазной сети переменного тока напряжением 380 В, например электродвигателей, должно соответствовать правильной последовательности чередования фаз. Для определения последовательности чередования фаз можно собрать индикатор, схема которого показана на рисунке. Прибор имеет простую схему, высокую надежность и не требует автономного источника питания. Принцип работы прибора основан на …Подробнее...
  • Стерео усилитель 2*11Вт на LM4755

    Стерео усилитель 2*11Вт на LM4755

    На рисунке показана схема простого усилителя выполненного на ИМС LM4755 производства компании National Semiconductor. Выходная мощность усилителя 11Вт (напряжение питания 24В) на канал при сопротивлении нагрузки 4 Ом или 7Вт при сопротивлении нагрузки 8 Ом. Ток потребления в режиме покоя составляет не более 7мА. Основные характеристики усилителя: Сопротивление нагрузки 4…8 Ом …Подробнее...
  • Регулируемый стабилизатор напряжения с защитой по току (Arduino)

    Регулируемый стабилизатор напряжения с защитой по току (Arduino)

    За основу регуляруемого стабилизатора свята схема со траницы https://rcl-radio.ru/?p=57426 , схема достаточно простая и содержит минимальный набор элементов. Выходное напряжение регулируемого стабилизатора можно регулировать от 0 до 25 В при максимальном токе 3 А. Используя Arduino можно заметно расширить функционал стабилизатора, сделать индикацию и защиту по току и КЗ, добавив …Подробнее...