Совет 1: Как подключить микрофон к Arduino

Подключим модуль с звуковым датчиком (микрофоном) к Arduino.
Модуль с микрофоном
Вам понадобится
  • - Arduino;
  • - модуль с электретным капсюльным микрофоном CMA-4544PF-W;
  • - соединительные провода.
Инструкция
1
Электретный микрофон CMA-4544PF-W, который является основой модуля, реагирует на звуковые волны с частотами от 20 Гц до 20 кГц. Микрофон является всенаправленным, т.е. чувствителен к звуку, приходящему со всех направлений, с чувствительностью -44 дБ. Более подробно об устройстве и принципе действия электретных микрофонов можно почитать в статье, ссылка на которую приведена в списке источников.
Электретный микрофон CMA-4544PF-W
2
Модуль содержит в себе электретный микрофон, которому необходимо питание от 3 до 10 вольт. Полярность при подключении важна. Подключим модуль по простой схеме: вывод "V" модуля - к питанию +3,3 или +5 вольт, выводу "G" модуля - к GND Arduino, вывод "S" - к аналоговому порту "A0" Arduino.
Схема подключения микрофона к Arduino
3
Напишем программу для Arduino, которая будет считывать показания с микрофона и выводить их в последовательный порт в милливольтах. Для чего это может понадобиться? Например, для измерения уровня шума; для управления роботом: поехать по хлопку или остановиться. Некоторые даже умудряются "обучить" Arduino определять разные звуки и таким образом создают более интеллектуальное управление: робот будет понимать команды "Стоп" и "Иди" (как, например, в статье "Распознавание голоса с помощью Arduino" в источниках).
Скетч для считывания показаний электретного микрофона
4
Давайте соберём своеобразный эквалайзер по приложенной схеме.
Простейший "эквалайзер" на Arduino
5
Немного модифицируем скетч. Добавим светодиоды и пороги их срабатывания.
Эквалайзер готов! Попробуйте поговорить в микрофон, и увидите, как загораются светодиоды, когда вы меняете громкость речи.
Скетч "эквалайзера"
Видео по теме
Полезный совет
Значения порогов, после которых загораются соответствующие светодиоды зависят от заданной чувствительности микрофона. У меня получилось 2000, 2125 и 2150 мВ. Вам придётся определить их самим.
Источники:
  • Устройство и принцип работы электретных микрофонов
  • Паспорт на электретный микрофон CMA-4544PF-W
  • Распознавание голоса с помощью Arduino

Совет 2: Как подключить микрофон

Подключение микрофона, достаточно несложная процедура, но все же разложим ее по полочкам.
Как подключить микрофон





И так, для начала определимся, куда мы будем подключать микрофон и динамики. На материнской плате существует несколько вариантов выходов звуковых карт. Каждый при этом для простоты имеет свой цвет, зеленый - для подключения наушников, розовый - для того чтобы подключить микрофон. В случае если есть 3 выхода, и у вас установлена 5+1 канальная звуковая карта, в драйвере управления аудио картой нужно поставить настройку на 2 канала, а не на 5+1 или 4, иначе ваш микрофон станет динамиком.



Далее, в нижнем правом углу, на панели задач, находим иконку динамика, если она скрыта, нажимаем на раскрывающую стрелку. Учтите, что в разных версиях оперативных систем, иконка выглядит по разному, пусть вас это не смущает, наведя на нее курсор, в любой системе всплывет надпись «ГРОМКОСТЬ». Кликаем на иконке два раза, и видим, как выскакивает микшер, где можно отрегулировать системную громкость, громкость микрофона, и другие необходимые настройки. Находим окошко ПАРАМЕТРЫ, во всплывшем меню жмем СВОЙСТВА, и в появившемся окне выбора устройств, под регулятором МИКРОФОН ставим в окошечко галочку, это активирует гнездо микрофона, затем жмем ОК.



Если у вас 8-ми  канальная звуковая карта, к примеру, Realtek HD, то вы не увидите названия МИКРОФОН, вместо него будет название входа "Rear Pink In", ставим галочку в это окошко. Теперь жмем на появившуюся рядом кнопку НАСТРОЙКА, усиливаем микрофон, поставив галочку напротив соответствующего параметра, и если у вас есть выходы для микрофона и наушников на передней панели компьютера, то ставьте галочку рядом с ЗАПАСНОЙ МИКРОФОН. В некоторых случаях задействование передней панели отключает заднюю и наоборот, учтите это. Все, закрываем все окна.



В случае с WINDOWS 7, многие жалуются на то, что не могут подключить микрофон. Дело в том, что инсталлированные системой, при установке, драйвера, слишком примитивны. В таких случаях необходимо установить родной драйвер для использующейся звуковой карты. Если невозможно найти драйвера на аудио карту под WINDOWS 7, попробуйте установить аналогичные от VISTA. А так же следует внимательно изучить все характеристики вашей звуковой карты, их можно найти на сайте производителя, а так же в случае проблем обратится на этом же сайте в службу поддержки.

Видео по теме

Совет 3: Как собрать микрофон

Собрать миниатюрный микрофон несложно. Для этого можно использовать подручные средства, например, колпачок от помады или пробку, медную проволоку, старые шнуры и микрофон. Конечно, такой микрофон не претендует на высокое качество звука, но заменить на время неисправное устройство может.
Как собрать микрофон
Вам понадобится
  • Двухжильный провод со штекером от наушников или микрофона, микрофон от любого звукозаписывающего аппарата, медная проволока, сетевой провод, колпачки от помады, пластмассовая трубка или инсулин-шприц.
Инструкция
1
Просверлите в колпачках от помады отверстие. Вставьте в него пластмассовые трубки. Приклейте, чтобы они сидели плотно.
2
Прямо через колпачок с трубкой протяните шнур от наушников до тех пор, пока наружу не покажется 3 см этого провода. Вставьте сюда же кусочек медной проволоки. Это придаст соединению устойчивость и гибкость.
3
Припаяйте к шнуру микрофон. Вставьте в колпачок. К наушникам приклейте
приклеиваем гайку. Соедините все это болтом.
Видео по теме
Обратите внимание
Обычно схема микрофонного усилителя не нуждается в экранировании. Но в некоторых ситуациях, когда уровень радиопомех высок, целесообразно установить алюминиевый экран.
Полезный совет
Используя микросхему К538УН3А, можно собрать дополнительно микрофонный усилитель. Эта микросхема предпочтительна потому, что имеет однополярное питание и низкое напряжение питания, работает даже при снижении напряжения питания до 3 В. Ей не требуется стабилизатор напряжения питания, а в ее конструкции предусмотрена защита от короткого замыкания.
Источники:
  • Инструкция по сборке микрофона в 2019

Совет 4: Как подключить электретный микрофон

Подключение электретного микрофона к компьютеру зависит от его типа. Электретные микрофоны часто используются вместо конденсаторных, потому что стоят дешевле, не требуют внешнего источника питания и имеют множество других преимуществ.
Как подключить электретный микрофон
Вам понадобится
  • - Электретный микрофон (беспроводной или проводной);
  • - ПК;
  • - звуковая карта;
  • - соответствующие кабели и разъемы.
Инструкция
1
Приобретите беспроводной дискретный микрофон. Посмотрите на его заднюю поверхность. Вы увидите один или несколько типов выхода, например RCA и XLR. Убедитесь, что в комплект с микрофоном входит подходящий кабель, содержащий соответствующие разъемы. В случае его отсутствия зайдите на сайт производителя устройства и посмотрите, какой тип кабеля вам необходимо будет приобрести дополнительно. Подключите микрофон к соответствующему разъему на вашем компьютере. Проверьте ваш микрофон. Вы можете сделать это с помощью любой аудио-программы по вашему выбору.
2
Выполните подключение проводного электретного микрофона, если при покупке устройства вы остановились на нем. Для этого воспользуйтесь кабелем с интерфейсом XLR. Если вы используете деки, то при помощи них вы сможете подключить микрофон к соответствующему гнезду так же, как и в случае с беспроводным микрофоном, как описано выше. Если вы используете интерфейс FireWire или USB, то подключайте устройство через данные разъемы.
3
Дождитесь, пока компьютер определит новое оборудование, если вы используете подключение через разъемы FireWire или USB. Зайдите в меню Пуск, затем в Панель управления. Перейдите к разделу "Звуки и аудиоустройства". Зайдите в раздел "Запись звука". Убедитесь, что ваше устройство присутствует в раскрывшемся списке. Сделайте то же самое в меню "Голос" на вкладке "Запись голоса". Проверьте ваш микрофон с помощью любой аудио-программы по вашему выбору.
4
Воспользуйтесь специальными инструментами аудио-программ, чтобы улучшить качество записи через микрофон. Вы можете также выбрать отдельную часть записи для обработки. Перейти в главное меню программы и выберите пункт "Эффекты" или "Редактировать". Воспользуйтесь такими инструментами, как "Расширение аудио", "Подавление шума" или какими-либо другими для изменения звучания записи по вашему усмотрению.
Видео по теме

Совет 5: Что такое электретный микрофон

Принцип действия электретных микрофонов аналогичен принципу действия конденсаторных. Отличие в том, что для них не требуется внешний источник питания. Мембрана таких микрофонов получает электрический заряд в процессе работы. Для их питания необходимо лишь небольшое напряжение (около 1,5 Вольта), которое создается с помощью установленной в микрофоне батареи.
Электретный микрофон
Электретный микрофон - это один из видов конденсаторных микрофонов. Он используются в составе комплекта радиоэлектронной аппаратуры профессионального и бытового назначения, в профессиональных студиях и любительских условиях, в звукозаписывающих и других устройствах. Нередко используют их и радиолюбители-коротковолновики. Электретный микрофон очень надежен, обладает небольшим весом и ровной АЧХ (амплитудно-частотной характеристикой).

Устройство электретных микрофонов



Эти микрофоны выполнены в виде конденсаторов, определенное количество пластин которых изготавливается из очень тонкой полиэтиленовой пленки, расположенной на кольце. На пленку наносят пучок электронов. Он проникает на малую глубину, создает пространственный заряд, который имеет возможность сохраняться длительное время. У этих материалов есть название «электрет», поэтому микрофон носит название электретного.

Затем на пленку накладывается очень тонкий слой металла, используемый как один из электродов. Другим электродом является металлический цилиндр, плоская поверхность которого расположена рядом с пленкой. Ее колебания, создаваемые акустическими волнами, способны создать между электродами электрический ток. Из-за того, что сила тока в этом случае очень малая, а выходное сопротивление достигает большой величины (гигаомов), передача сигнала, который вырабатывается микрофоном, происходит достаточно сложно.

Для согласования низкого сопротивления усилителя и высокого сопротивления микрофона надо применить специальный каскад, который создается на полевом (униполярном) транзисторе. Его располагают в корпусе микрофонного капсюля (так называется устройство, где располагается не только сам микрофон, но и согласующий каскад). Корпус должен быть металлическим, имеющим возможность экранировать микрофон и согласовать каскад, произведя защиту его от внешних полей электричества.

Для того чтобы понять пригодность для подключения к микрофону того или иного усилителя, достаточно подключения к входному гнезду прибора (мультимера). Если в результате он покажет напряжение 2-3 Вольта, это означает, что усилитель пригоден для совместной работы с электретным микрофоном.

Принцип работы и конструкция



По принципу работы электретные микрофоны являются такими же, как и конденсаторные, но постоянное напряжение в них обеспечивается зарядом электрета, нанесённого на мембрану в виде тонкого слоя. Этот заряд может сохраняться продолжительное время (до 30 лет и более)

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

Совет 6: Как подключить ультразвуковой дальномер HC-SR04 к Arduino

Подключим в этой статье ультразвуковой дальномер-эхолокатор HC-SR04 к Arduino.
Ультразвуковой датчик HC-SR04
Вам понадобится
  • - Arduino;
  • - ультразвуковой датчик HC-SR04;
  • - соединительные провода.
Инструкция
1
Действие ультразвукового дальномера HC-SR04 основано на принципе эхолокации. Он излучает звуковые импульсы в пространство и принимает отражённый от препятствия сигнал. По времени распространения звуковой волны к препятствию и обратно определяется расстояние до объекта.
Запуск звуковой волны начинается с подачи положительного импульса длительностью не менее 10 микросекунд на ножку TRIG дальномера. Как только импульс заканчивается, дальномер излучает в пространство перед собой пачку звуковых импульсов частотой 40 кГц. В это же время запускается алгоритм определения времени задержки отражённого сигнала, а на ножке ECHO дальномера появляется логическая единица. Как только датчик улавливает отражённый сигнал, на выводе ECHO появляется логический ноль. По длительности этого сигнала ("Задержка эхо" на рисунке) определяется расстояние до объекта.
Диапазон измерения расстояния дальномера HC-SR04 - до 4 метров с разрешением 0,3 см. Угол наблюдения - 30 градусов, эффективный угол - 15 градусов. Ток потребления в режиме ожидания 2 мА, при работе - 15 мА.
Принцип действия ультразвукового дальномера HC-SR04
2
Питание ультразвукового дальномера осуществляется напряжением +5 В. Два других вывода подключаются к любым цифровым портам Arduino, мы подключим к 11 и 12.
Подключение ультразвукового дальномера HC-SR04 к Arduino
3
Теперь напишем скетч, определяющий расстояние до препятствия и выводящий его в последовательный порт. Сначала задаём номера выводов TRIG и ECHO - это 12 и 11 пины. Затем объявляем триггер как выход, а эхо - как вход. Инициализируем последовательный порт на скорости 9600 бод. В каждом повторении цикла loop() считываем дистанцию и выводим в порт.
Функция getEchoTiming() генерирует импульс запуска. Она как раз создаёт ток 10 мксек импульс, который является триггером для начала излучения дальномером звукового пакета в пространство. Далее она запоминает время от начала передачи звуковой волны до прихода эха.
Функция getDistance() рассчитывает дистанцию до объекта. Из школьного курса физики мы помним, что расстояние равно скорость умножить на время: S = V*t. Скорость звука в воздухе 340 м/сек, время в микросекундах мы знаем, это "duratuion". Чтобы получить время в секундах, нужно разделить на 1.000.000. Так как звук проходит двойное расстояние - до объекта и обратно - нужно разделить расстояние пополам. Вот и получается, что расстояние до объекта S = 34000 см/сек * duration / 1.000.000 сек / 2 = 1,7 см/сек / 100, что мы и написали в скетче. Операцию умножения микроконтроллер выполняет быстрее, чем деления, поэтому "/ 100" я заменил на эквивалентное "* 0,01".
Скетч для работы с ультразвуковым эхолокатором HC-SR04
4
Также для работы с ультразвуковым дальномером написано множество библиотек. Например, вот эта: http://robocraft.ru/files/sensors/Ultrasonic/HC-SR04/ultrasonic-HC-SR04.zip. Установка библиотеки происходит стандартно: скачать, разархивировать в директорию libraries, которая находится в папке с Arduino IDE. После этого библиотекой можно пользоваться.
Установив библиотеку, напишем новый скетч. Результат его работы тот же - в мониторе последовательного порта выводится дистанция до объекта в сантиметрах. Если в скетче написать float dist_cm = ultrasonic.Ranging(INC);, то дистанция будет отображаться в дюймах.
Скетч для работы с ультразвуковым эхолокатором, использующий библиотеку
5
Итак, мы с вами подключили к Arduino ультразвуковой дальномер HC-SR04 и получили с него данные двумя разными способами: с использованием специальной библиотеки и без.
Преимущество использования библиотеки в том, что количество кода значительно сокращается и улучшается читаемость программы, вам не приходится вникать в тонкости работы устройства и вы сразу же можете его использовать. Но в этом же кроется и недостаток: вы хуже понимаете, как работает устройство и какие в нём происходят процессы. В любом случае, каким способом пользоваться - решать только вам.
Arduino с подключённым ультразвуковым дальномером HC-SR04
Видео по теме

Совет 7: Как подключить LCD дисплей для Nokia 5110 к Arduino

Разбираемся с подключением жидкокристаллического монохромного дисплея с разрешением 84х48 точек от Nokia 5110 к Arduino.
LCD дисплей для Nokia 5110
Вам понадобится
  • - Arduino;
  • - ЖК дисплей для Nokia 5110/3310;
  • - соединительные провода.
Инструкция
1
Подключим ЖК экран от Nokia 5110 к Arduino по приведённой схеме.
Схема подключения ЖК экрана Nokia 5110 к Arduino
2
Для работы с этим LCD экраном написано много библиотек. Предлагаю воспользоваться этой: http://www.rinkydinkelectronics.com/library.php?id=44 (скачивание файла LCD5110_Basic.zip).
Для установки разархивируем файл в директорию Arduino IDE/libraries/.
Библиотека поддерживает следующие возможности.
LCD5110(SCK, MOSI, DC, RST, CS); - объявление ЖК экрана с указанием соответствия пинам Arduino;
InitLCD([contrast]); - инициализация дисплея 5110 с опциональным указанием контрастности (0-127), по умолчанию используется значение 70;
setContrast(contrast); - задаёт контрастность (0-127);
enableSleep(); - переводит экран в спящий режим;
disableSleep(); - выводит экран из спящего режима;
clrScr(); - очищает экран;
clrRow(row, [start], [end]); - очистка выбранной строки номер row, от позиции start до end;
invert(true); и invert(false); - включение и выключение инверсии содержимого LCD экрана;
print(string, x, y); - выводит строку символов с заданными координатами; вместо x-координаты можно использовать LEFT, CENTER и RIGHT; высота стандартного шрифта 8 точек, поэтому строки должны идти с интервалами через 8;
printNumI(num, x, y, [length], [filler]); - вывести целое число на экран на заданной позиции (x, y); length - желаемая длина числа; filler - символ для заполнения "пустот", если число меньше желаемой длины; по умолчанию это пустой пробел " ";
printNumF(num, dec, x, y, [divider], [length], [filler]); - вывести число с плавающей запятой; dec - число знаков после запятой; divider - знак десятичного разделителя, по умолчанию точка ".";
setFont(name); - выбрать шрифт; встроенные шрифты называются SmallFont и TinyFont; вы можете определить свои шрифты в скетче;
invertText(true); и invertText(false); - инверсия текста вкл./выкл.;
drawBitmap(x, y, data, sx, sy); - вывести картинку на экран по координатам x и y; data - массив, содержащий картинку; sx и sy - ширина и высота рисунка.
3
Напишем такой скетч. Сначала подключаем библиотеку, затем объявляем экземпляр класса LCD5110 с назначением выводов.
В процедуре setup() инициализируем ЖК экран.
В процедуре loop() очищаем экран и пишем маленьким шрифтом произвольный текст, под ним - средним шрифтом выводим счётчик секунд.
Скетч для вывода текста на ЖК экран Nokia 5110
4
Давайте выведем на экран картинку. Для этого подготовим монохромное изображение, которое хотим вывести на экран Nokia 5110. Помните, что разрешение экрана 48 на 84 точки, и картинка должна быть не больше. На странице http://www.rinkydinkelectronics.com/t_imageconverter_mono.php преобразуем изображение в массив битов. Скачаем полученный файл с расширением "*.c" и добавим его к проекту через меню: Эскиз -> Добавить файл... или просто поместим файл в директорию скетча, а затем перезагрузим среду разработки Arduino IDE.
Добавляем файл изображения к проекту Arduino
5
Теперь нужно в коде программы объявить массив с данными изображения (у меня в коде это строка extern uint8_t mysymb[];), а затем используем функцию drawBitmap() для вывода изображения в нужном месте экрана.
Вывод изображения на LCD экран Nokia 5110
6
Загрузим скетч в Arduino. Теперь текст сменяется картинкой, и счётчик каждый раз увеличивает своё значение.
Текст и изображение на ЖК экране Nokia 5110
Видео по теме
Источники:
  • Спецификация на LCD дисплей для Nokia 5110
  • Подготовка массива бит из файла изображения
  • Купить дисплей Nokia 5110 LCD с белой подсветкой по цене 85 грн

Совет 8: Интерфейс SPI и Arduino

Изучаем интерфейс SPI и подключаем к Arduino сдвиговый регистр, к которому мы будем обращаться по этому протоколу для управления светодиодами.
Интерфейс SPI
Вам понадобится
  • - Arduino;
  • - сдвиговый регистр 74HC595;
  • - 8 светодиодов;
  • - 8 резисторов по 220 Ом.
Инструкция
1
SPI - Serial Peripheral Interface или "Последовательный периферийный интерфейс" - это синхронный протокол передачи данных для сопряжения ведущего устройства (Master) с периферийными устройствами (Slave). Ведущим устройством часто является микроконтроллер. Связь между устройствами осуществляется по четырём проводам, поэтому SPI иногда называют "четырёхпроводной интерфейс". Вот эти шины:
MOSI (Master Out Slave In) - линия передачи данных от ведущего к ведомым устройствам;
MISO (Master In Slave Out) - линия передачи от ведомого к ведущему устройству;
SCLK (Serial Clock) - тактовые импульсы синхронизации, генерируемые ведущим устройством;
SS (Slave Select) - линия выбора ведомого устройства; когда на линии "0", ведомое устройство "понимает", что сейчас обращаются к нему.
Существует четыре режима передачи данных (SPI_MODE0, SPI_MODE1, SPI_MODE2, SPI_MODE3), обусловленные сочетанием полярности тактовых импульсов (работаем по уровню HIGH или LOW), Clock Polarity, CPOL, и фазой тактовых импульсов (синхронизация по переднему или заднему фронту тактового импульса), Clock Phase, CPHA.
На рисунке показаны два варианта подключения устройств по протоколу SPI: независимое и каскадное. При независимом подключении к шине SPI ведущее устройство обращается к каждому ведомому устройству индивидуально. При каскадном - ведомые устройства срабатывают поочерёдно, каскадом.
Виды SPI подключений
2
В Arduino шины интерфейса SPI находятся на определённых портах. У каждой платы своё соответствие выводов. Для удобства выводы продублированы и вынесены также на отдельный разъём ICSP (In Circuit Serial Programming, программирование устройства, включённого в цепь, по последовательному протоколу). Обратите внимание, что на разъёме ICSP отсутствует пин выбора ведомого - SS, т.к. подразумевается, что Arduino будет использоваться как ведущее устройство в сети. Но при необходимости вы можете назначить любой цифровой вывод Ардуино в качестве SS.
На рисунке приведено стандартное соответствие выводов шинам SPI для Arduino UNO и Nano.
Реализация SPI в Arduino
3
Для Arduino написана специальная библиотека, которая реализует протокол SPI. Подключается она так: в начале программы добавляем #include SPI.h
Чтобы начать работу по протоколу SPI, нужно задать настройки и затем инициализировать протокол с помощью процедуры SPI.beginTransaction(). Можно выполнить это одной инструкцией: SPI.beginTransaction(SPISettings(14000000, MSBFIRST, SPI_MODE0)).
Это значит, что мы инициализируем протокол SPI на частоте 14 МГц, передача данных идёт, начиная с MSB (наиболее значимого бита), в режиме "0".
После инициализации выбираем ведомое устройство, переводя соответствующий пин SS в состояние LOW.
Затем передаём ведомому устройству данные командой SPI.transfer().
После передачи возвращаем SS в состояние HIGH.
Работа с протоколом завершается командой SPI.endTransaction(). Желательно минимизировать время выполнения передачи между инструкциями SPI.beginTransaction() и SPI.endTransaction(), чтобы не возникло накладок, если другое устройство попробует инициализировать передачу данных, используя другие настройки.
Передача по протоколу SPI
4
Рассмотрим практическое применение интерфейса SPI. Будем зажигать светодиоды, управляя 8-битным сдвиговым регистром по шине SPI. Подключим к Arduino сдвиговый регистр 74HC595. К каждому из 8-ми выходов подключим по светодиоду (через ограничительный резистор). Схема приводится на рисунке.
Подключение сдвигового регистра 74HC595 к Arduino
5
Напишем такой скетч.
Сначала подключим библиотеку SPI и инициализируем интерфейс SPI. Определим пин 8 как пин выбора ведомого устройства. Очистим сдвиговый регистр, послав в него значение "0". Инициализируем последовательный порт.
Чтобы зажечь определённый светодиод с помощью сдвигового регистра, нужно подать на его вход 8-разрядное число. Например, чтобы загорелся первый светодиод - подаём двоичное число 00000001, чтобы второй - 00000010, чтобы третий - 00000100, и т.д. Эти двоичные числа в переводе в десятичную систему счисления образуют такую последовательность: 1, 2, 4, 8, 16, 32, 64, 128 и являются степенями двойки от 0 до 7.
Соответственно, в цикле loop() по количеству светодиодов делаем пересчёт от 0 до 7. Функция pow(основание, степень) возводит 2 в степень счётчика цикла. Микроконтроллеры не очень точно работают с числами типа "double", поэтому для преобразования результата в целое число используем функцию округления round(). И передаём получившееся число в сдвиговый регистр. Для наглядности в мониторе последовательного порта выводятся значения, которые получаются при этой операции: единичка бежит по разрядам - светодиоды загораются волной.
Скетч управления сдвиговым регистром по шине SPI
6
Светодиоды загораются по очереди, и мы наблюдаем бегущую "волну" из огоньков. Управление светодиодами осуществляется с помощью сдвигового регистра, к которому мы подключились по интерфейсу SPI. В результате для управления 8-ю светодиодами задействованы всего 3 вывода Arduino.
Мы изучили самый простой пример работы Arduino с шиной SPI. Более подробно рассмотрим подключение сдвиговых регистров в отдельной статье.
Бегущая волна с помощью Arduino, сдвигового регистра и светодиодов
Видео по теме
Источники:
  • Описание библиотеки SPI на официальном сайте Arduino
Совет полезен?
Поиск
Добавить комментарий к статье
Осталось символов: 500