Джереми Блум - Изучаем Arduino: инструметы и методы технического волшебства
- Название:Изучаем Arduino: инструметы и методы технического волшебства
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2015
- Город:Санкт-Петербург
- ISBN:978-5-9775-3585-4
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Джереми Блум - Изучаем Arduino: инструметы и методы технического волшебства краткое содержание
Для радиолюбителей
Изучаем Arduino: инструметы и методы технического волшебства - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
output = constrain(value, min, max).
При передаче значения из функции map() в функцию constrain() можно установить аргумент min равным 0 и max - 255, тогда величины, выходящие за рамки этого диапазона, будут ограничены. Теперь все готово, чтобы написать программу управляемого ночника. Посмотрим, как будет выглядеть окончательно наш проект (листинг 3.3).
Листинг 3.3. Программа управляемого ночника - nightlight.ino
// Автоматический ночник
const int RLED=9; // Контакт 9 для ШИМ-вывода RED RGB-светодиода
const int LIGHT=0; // Контакт A0 для входа фоторезистора
const int MIN_LIGHT=200; // Нижний порог освещенности
const int MAX_LIGHT=900; // Верхний порог освещенности
int val = 0; // Переменная для сохранения считанного аналогового значения
void setup()
{
pinMode(RLED, OUTPUT); // Сконфигурировать RED-контакт светодиода как выход
}
- 79 -
void loop()
{
val = analogRead(LIGHT); // Чтение показаний фоторезистора
val = map(val, MIN_LIGHT, MAX_LIGHT, 255, 0); // вызов функции map()
val = constrain(val, 0, 255); // ограничение границ
analogWrite(RLED, val); // управление светодиодом
}
Обратите внимание, что в листинге переменная val используется повторно.
В принципе, можно задать и другую переменную. В таких функциях, как map(), предыдущее значение переменной val служит в качестве аргумента и после завершения выполнения функции перезаписывается заново.
Загрузите программу в плату Arduino и посмотрите, работает ли ночник, как ожидалось. Чувствительность ночника можно отрегулировать, подобрав минимальную и максимальную границы комфортного диапазона с помощью монитора последовательного порта. Подумайте, как можно реализовать в этой программе выбор цвета ночника, воспользовавшись сведениями из предыдущей главы. Попробуйте добавить кнопку для выбора цвета светодиода и фоторезистор для регулировки яркости каждого цвета.
Резюме
• Чем отличаются аналоговые сигналы от цифровых.
• Как преобразовать аналоговые сигналы в цифровые.
• Как считать аналоговый сигнал с потенциометра.
• Как вывести на экран данные, используя монитор последовательного порта.
• Как взаимодействовать через интерфейс с аналоговыми датчиками.
• Как создать собственные аналоговые датчики.
• Как ограничить значения для управления аналоговыми выходами.
ЧАСТЬ II Управление окружающей средой
В этой части
Глава 4. Использование транзисторов и управляемых двигателей
Глава 5. Работаем со звуком
Глава 6. USB и последовательный интерфейс
Глава 7. Сдвиговые регистры
Глава 4. Использование транзисторов и управляемых двигателей
Список деталей
Для повторения примеров главы вам понадобятся следующие детали:
• плата Arduino Uno;
• USB-кабель;
• батарея 9 В;
• разъем для батареи 9 В;
• стабилизатор напряжения L4940V5;
• электролитический конденсатор 22 мкФ;
• электролитический конденсатор 0, 1 мкФ;
• керамический конденсатор 1 мкФ;
• 4 синих светодиода;
• 4 резистора номиналом 1 кОм;
• биполярный n-p-n транзистор PN2222;
• диод 1N4004;
• перемычки;
• провода;
• ИК-датчик расстояния Sharp GP2YOA41SKOF ИК с кабелем;
• стандартный серводвигатель;
• двигатель постоянного тока;
• макетная плата;
• потенциометр;
• драйвер двигателя SN754410.
- 84 -
На странице http://www.exploringarduino.com/content/ch4 можно загрузить код программ, видеоуроки и другие материалы для данной главы. Кроме того, листинги примеров можно скачать со страницы www.wiley.com/go/exploringarduino в разделе Downloads.
Теперь вы уже можете получать информацию из окружающей среды. Но как управлять этим миром? Мигание светодиода и автоматическая регулировка яркости ночника уже неплохо, но вы можете сделать гораздо больше. Двигатели и приводы, а также транзисторы позволят осуществлять с помощью Arduino реальные физические действия. Соединяя двигатели с платой Arduino, можно управлять роботами, создавать механические манипуляторы, перемещать датчики и делать многое другое. В этой главе вы узнаете, как запускать двигатели постоянного тока, как работать с транзисторами и управлять серводвигателями. Освоив это, вы сможете создать датчик расстояния, способный определять расположение близлежащих объектов. Этот датчик идеально подходит, например, для установки на автономном движущемся роботе. По завершении главы вы приобретете навыки, достаточные для разработки по-настоящему интерактивного устройства.
ПРИМЕЧАНИЕ
Если вы хотите узнать больше о двигателях и транзисторах, смотрите видеофильм, расположенный на интернет-странице
http://www.jeremyblum.com/2011/01/31/arduino-tutorial-5-motors-and-transistors/ [8] На русском: http://wiki.amperka.ru/видеоуроки:5-моторы-и-транзисторы.
ВНИМАНИЕ!
Для питания двигателей постоянного тока потребуется батарея 9 В, т. к. для работы электродвигателя требуется больше мощности, чем может выдать плата Arduino. Это напряжение не опасно, но при неправильном подключении можно повредить электронные компоненты. При повторении примеров тщательно проверяйте схемы и следуйте инструкциям. Избегайте коротких замыканий, не пытайтесь соединить два источника напряжения друг с другом. Следите за тем, чтобы источники напряжения 5 и 9 В не оказались подключены к одной шине питания макетной платы.
4.1. Двигатели постоянного тока
Вал двигателя постоянного тока вращается при подаче постоянного напряжения на его контакты. Подобные двигатели можно встретить во многих бытовых приборах, например, в радиоуправляемых автомобилях, в приводе DVD-плеера. Такие двигатели бывают разного размера и обычно стоят недорого. Регулируя напряжение, подаваемое на двигатель, можно менять скорость его вращения. Переключая полярность приложенного напряжения, можно изменять направление вращения. Это делают, используя Н-мост, о котором вы узнаете далее в этой главе.
- 85 -
Щеточные двигатели постоянного тока состоят из неподвижных магнитов ( статора) и вращающейся обмотки (ротора). Электроэнергию подводят через контакты "щетки", поэтому двигатели называются щеточными. В отличие от электродвигателей постоянного тока других типов (таких, например, как шаговые двигатели), щеточные электродвигатели дешевле и скорость вращения легко регулировать. Однако их срок службы невелик, потому что щетки со временем изнашиваются.
4.2. Борьба с выбросами напряжения
Двигатели постоянного тока обычно требуют ток больше, чем может выдать встроенный в Arduino блок питания, к тому же они могут создавать опасные выбросы напряжения. Для решения этой проблемы необходимо научиться эффективно изолировать двигатель постоянного тока от платы Arduino и подключать его к отдельному источнику питания. Транзистор позволит безопасно включать двигатель, а также управлять его скоростью с помощью методов ШИМ, рассмотренных в главе 2. Прежде чем собирать схему подключения двигателя постоянного тока, изображенную на рис. 4.1, рассмотрим основные компоненты схемы:
Читать дальшеИнтервал:
Закладка: