Джереми Блум - Изучаем Arduino: инструметы и методы технического волшебства

Тут можно читать онлайн Джереми Блум - Изучаем Arduino: инструметы и методы технического волшебства - бесплатно полную версию книги (целиком) без сокращений. Жанр: Прочая околокомпьтерная литература, издательство БХВ-Петербург, год 2015. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Джереми Блум - Изучаем Arduino: инструметы и методы технического волшебства краткое содержание

Изучаем Arduino: инструметы и методы технического волшебства - описание и краткое содержание, автор Джереми Блум, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
Книга посвящена проектированию электронных устройств на основе микроконтроллерной платформы Arduino. Приведены основные сведения об аппаратном и программном обеспечении Arduino. Изложены принципы программирования в интегрированной среде Arduino IDE. Показано, как анализировать электрические схемы, читать технические описания, выбирать подходящие детали для собственных проектов. Приведены примеры использования и описание различных датчиков, электродвигателей, сервоприводов, индикаторов, проводных и беспроводных интерфейсов передачи данных. В каждой главе перечислены используемые комплектующие, приведены монтажные схемы, подробно описаны листинги программ. Имеются ссылки на сайт информационной поддержки книги. Материал ориентирован на применение несложных и недорогих комплектующих для экспериментов в домашних условиях.
Для радиолюбителей

Изучаем Arduino: инструметы и методы технического волшебства - читать онлайн бесплатно полную версию (весь текст целиком)

Изучаем Arduino: инструметы и методы технического волшебства - читать книгу онлайн бесплатно, автор Джереми Блум
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

9.4.2. Описание схемы устройства

Чтобы в полной мере проверить знания протокола SPI, возьмем две микросхемы MCP4231, что даст нам четыре управляемых потенциометра. Каждый из них подключен последовательно со своим светодиодом (красным, желтым, зеленым и синим) и регулирует его яркость. Задействованы только две клеммы потенциометра.

Один контакт каждого потенциометра подключен через резистор к шине 5 В, второй ( средний вывод) - к аноду светодиода. Схема подключения одного светодиода изображена на рис. 9.5.

Катод светодиода подключен к земле. Когда сопротивление цифрового потенциометра минимально, ток течет от источника 5 В через резистор 100 Ом и средний вывод потенциометра (имеющий сопротивление - 75 Ом) и далее через светодиод.

Когда сопротивление потенциометра максимально, ток течет через резистор 100 Ом, потенциометр (- 10 кОм), а затем через светодиод. Даже при полностью выведенном потенциометре сопротивление участка цепи будет 175 Ом, что достаточно для ограничения тока через светодиод. При увеличении и уменьшении сопротивления цифрового потенциометра меняется ток через светодиод, а следовательно, его яркость. Этот метод регулирования яркости может оказаться очень полезным, если заняты все выводы ШИМ.

- 194 -

Рис 95 Схема подключения светодиода к потенциометру Рис 96 Схема - фото 89

Рис. 9.5. Схема подключения светодиода к потенциометру

Рис 96 Схема подключения цифровых потенциометров 195 Теперь учитывая - фото 90

Рис. 9.6. Схема подключения цифровых потенциометров

- 195 -

Теперь, учитывая цоколевку, подсоединяем цифровые потенциометры к шине SPI.

На плате Arduino Uno контакт 13 - это SCK, контакт 12 - MISO, контакт 11 MOSI. Контакт 10 будем использовать как SS для одного чипа, а контакт 9 - как SS для другого чипа. Схема подключения приведена на рис. 9.6. Помните, что каждую из микросхем нужно подключить к своей линии SCK, MISO и MOSI.

Еще раз проверьте, что все правильно подключено, и перейдем к написанию программы управления яркостью светодиодов.

9.4.3. Написание программы

Чтобы проверить, что все подключено правильно и работает, напишем простую программу с использованием библиотеки SPI для управления яркостью четырех светодиодов.

Библиотека SPI встроена в Arduino IDE, что сильно облегчает организацию обмена по протоколу SPI. Все, что остается программисту, - подключить библиотеку SPI и отправить данные в соответствии с протоколом SPI с помощью встроенных команд. Конечно, необходимо переключать флажки SS для выбора устройства.

Чтобы отправить команду одному из цифровых потенциометров на изменение яркости светодиода, необходимо выполнить следующее:

• установить на выводе SS требуемой микросхемы низкий уровень;

• отправить байт команды на выбранный потенциометр;

• отправить байт данных - значение для выбранного потенциометра;

• установить на выводе SS выбранной микросхемы высокий уровень.

Программа, приведенная в листинге 9.1, выполняет все описанные шаги: выбирает контакт SS, посылает байт выбора потенциометра и байт значения потенциометра по протоколу SPI. Функция SPI. begin() инициализирует аппаратный интерфейс SPI на плате Arduino и после этого для передачи данных по шине SPI можно использовать команду SPI. transfer().

Контакт выбора SS для первой микросхемы подключается к контакту 10 платы, для второй - к контакту 9. Функция settled() получает номер контакта SS, адрес регистра микросхемы и значение уровня потенциометра и передает данные в соответствующий чип. В цикле loop() яркость всех четырех светодиодов сначала увеличивается, а затем уменьшается. Загрузите программу на плату Arduino и увидите этот эффект.

ПРИМЕЧАНИЕ

Посмотреть видеоклип, демонстрирующий работу SPI цифрового потенциометра в качестве регулятора яркости, можно на странице http:/1 www.exploringarduino.com/content/ch9. Этот видеофайл доступен также на сайте издательства Wiley.

Освоив простой пример, в следующем разделе создадим более сложное устройство, добавив звуковой эффект.

- 196 -

Листинг 9.1. Управление несколькоими SPI цифровыми потенциометрами - SPI_led.ino

// Изменение яркости светодиодов не с помощью ШИМ,

// а регулировкой напряжения

// Подключение библиотеки SPI

#include

// При подключении библиотеки SPI

// по умолчанию используются контакты

// 11 = MOSI, 12 = MISO, 13 = CLK

const int SS1=10; // Контакт выбора SS микросхемы 1

const int SS2=9; // Контакт выбора SS микросхемы 2

const byte REG0=B00000000; // Команда записив регистр 0

// (выбор первого потенциометра)

const byte REG1=B00010000; // Команда записи в регистр 1

// (выбор второго потенциометра)

void setup()

{

// Настройка контактов выбора SS на выход

pinMode(SS1, OUTPUT);

pinMode(SS2, OUTPUT);

// Инициализация аппаратного SPI

SPI.begin();

}

// Подпрограмма выбора и отправки данных для каждого светодиода

// Chip 1 (SS 10) регистр 0 - красный

// Chip 1 (SS 10) регистр 1 - желтый

// Chip 2 (SS 9) регистр о - зеленый

// Chip 2 (SS 9) регистр 1 - синий

void setLed(int SS, int reg, int level)

{

digitalWrite(SS, LOW); // Установить SS в низкий уровень (выбор)

SPI.transfer(reg); // Отправка команды

SPI.transfer(level); // Отправка значения (0-128)

digitalWrite(SS, HIGH); // Установить SS в высокий уровень

}

void loop()

{

for (int i=0; i<=128; i++)

{

setLed(SS1, REG0, i);

setLed(SS1, REG1, i);

- 197 -

setLed(SS2, REG0, i);

setLed(SS2, REG1, i);

delay(10);

}

delay (300);

for (int i=128; i>=0; i--)

{

setLed ( SS1,REG0,i);

setLed ( SS1,REG1,i);

setLed(SS2,REG0,i);

setLed(SS2,REG1,i);

delay(10);

}

delay(300);

}

9.5. Создание световых и звуковых эффектов с помощью цифровых потенциометров SPI

Управление яркостью светодиодов- хороший пример для изучения протокола SPI, но менять яркость свечения можно и посредством ШИМ. Далее мы добавим в проект регулировку громкости звука, что невозможно реализовать с помощью ШИМ. Как упоминалось в главе 5, в Arduino IDE есть библиотека Топе, позволяющая генерировать на произвольном контакте платы Arduino меандр заданной частоты для воспроизведения звуков. Однако управлять громкостью звука при этом нельзя. Затем мы собрали регулятор громкости, включив потенциометр последовательно с динамиком. Теперь используем цифровой потенциометр SPI для создания различных звуковых эффектов.

ПРИМЕЧАНИЕ

Данный проект может послужить основой для разработки многих гораздо более интересных устройств. Досконально разобравшись с описанной далее схемой и кодом программы, вы сможете творчески переработать эти идеи и создавать свои собственные оригинальные конструкции на основе платы Arduino.

9.5.1. Описание схемы устройства

Схема устройства похожа на предыдущую (см. рис. 9.6). Оставим три светодиода из четырех, а вместо последнего подключим динамик. Один вывод цифрового потенциометра, идущий к динамику, соединим через резистор с контактом платы Arduino, который будет генерировать сигнал различной частоты. Сформированный меандр проходит через цифровой потенциометр, который меняет напряжение на динамике, а следовательно, громкость звучания. Измените предыдущую схему так, как показано на рис. 9. 7.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Джереми Блум читать все книги автора по порядку

Джереми Блум - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Изучаем Arduino: инструметы и методы технического волшебства отзывы


Отзывы читателей о книге Изучаем Arduino: инструметы и методы технического волшебства, автор: Джереми Блум. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x