Джереми Блум - Изучаем Arduino: инструметы и методы технического волшебства
- Название:Изучаем Arduino: инструметы и методы технического волшебства
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2015
- Город:Санкт-Петербург
- ISBN:978-5-9775-3585-4
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Джереми Блум - Изучаем Arduino: инструметы и методы технического волшебства краткое содержание
Для радиолюбителей
Изучаем Arduino: инструметы и методы технического волшебства - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
После загрузки на плату Arduino вы заметите, что светодиод тх, расположенный на плате, мигает каждые 500 мс (по крайней мере, так должно быть). Этот индикатор показывает, что плата Arduino передает данные через последовательный USB-интерфейс на компьютер. Для просмотра данных подойдут любые терминальные программы, но в Arduino IDE есть встроенный монитор последовательного порта, для запуска которого нажмите кнопку, обведенную кружком на рис. 3.5.
После запуска монитора последовательного порта на экране компьютера появляется окно с отображением потока передаваемых чисел. Поверните ручку потенциометра, и вы увидите, что выводимые значения меняются. Если повернуть ручку в одном направлении, числа начинают приближаться к 0, если в другом - к 1023.
Пример отображения данных показан на рис. 3.6.

Рис. 3.5. Кнопка запуска монитора последовательного порта

Рис. 3.6. Вывод данных в последовательный порт
- 71 -
ПРИМЕЧАНИЕ
Если выводятся непонятные символы, убедитесь, что скорость передачи данных установлена правильно. В программе порт инициализирован на скорость 9600 бод, такое же значение необходимо установить в настройках монитора последовательного порта.
Итак, вы настроили получение аналоговых данных и смогли их изменять с помощью потенциометра, интересно, не правда ли? Но это только первый шаг. Далее вы узнаете об иных типах аналоговых датчиков и о том, как с их помощью управлять другим оборудованием. В этой главе будем снова управлять светодиодом, но в следующих главах рассмотрим двигатели и другие устройства.
3.6. Использование аналоговых датчиков
Хотя на контакте потенциометра можно получить значение аналогового напряжения, он на самом деле не является датчиком в традиционном смысле. Потенциометры " чувствуют" лишь поворот ручки, но это не слишком интересно. Но есть настоящие датчики, они выдают значения на аналоговом выходе, соответствующие "реальному" действию. Примеры датчиков:
• акселерометры для обнаружения наклона (применяются в смартфонах и планшетах);
• магнитометры для фиксации магнитных полей (необходимы при создании цифровых компасов);
• инфракрасные датчики для определения расстояния до объекта;
• датчики для измерения температуры.
Многие из этих датчиков подключают аналогично потенциометру: два контакта питания (VCC и GND) и один к аналоговому входу платы Arduino. Для следующего эксперимента вы можете выбрать любой датчик из списка:
• Инфракрасный датчик расстояния Sharp. (Описание датчика приведено на странице http://www.exploringarduino.com/parts/lR-Distance-Sensor, разъем для подключения - http://www.exploringarduino.com/parts/JST-Wire.)
Инфракрасные датчики Sharp измеряют расстояние от датчика до объекта. По мере удаления объекта напряжение на выходе датчика уменьшается. Рисунок на странице 5 технического описания датчиков Sharp ( скачать можно по адресу
http://exploringarduino.com/wp-content/uploads/2013/06/GP2YOA-datasheet.pdt)
показывает связь между выходным напряжением и расстоянием до объекта.
• Датчик температуры ТМР36. (Описание приведено на странице http://www.exploringarduino.com/parts/TMP36.)
Датчик температуры ТМР36 позволяет легко преобразовать выходной уровень напряжения в показания температуры в градусах Цельсия. Каждые 10 мВ выходного напряжения соответствуют 1°С. Формула для преобразования выходного напряжения (в мВ) в температуру (в °С) выглядит так: Т= (U вых- 500)/10.
Смещение 500 мВ необходимо для работы с температурами ниже 0°С. Эта зависимость приведена на рис. 3. 7.
- 72 -

Рис. 3.7. Зависимость выходного напряжения от температуры для различных датчиков
• Трехосевой аналоговый акселерометр. (Описание приведено на странице
http://www.exploringarduino.com/parts/TriAxis-Analog-Accelerometer.)
Трехосевые акселерометры предназначены для определения ориентации объекта. Аналоговые акселерометры выдают значения, соответствующие смещению объекта по каждой оси: Х, У и Z (для каждой оси разном контакте). С помощью тригонометрических преобразований и закона всемирного тяготения можно определить позицию объекта в трехмерном пространстве. Напряжение питания многих акселерометров равно 3,3 В, поэтому для получения правильных значений в программе нужно предусмотреть установку опорного напряжения analogReference(), а вывод питания акселерометра подсоединить к контакту 3,3 В платы Arduino.
• Двухосевой аналоговый гироскоп. (Описание датчика приведено на странице
http://www.exploringarduino.com/parts/DualAxis-Analog-Gyroscope.)
Гироскопы, в отличие от акселерометров, нечувствительны к силе тяжести. Напряжение на их аналоговом выходе изменяется в соответствии с угловым ускорением вокруг оси. Гироскопы особенно полезны для обнаружения поворота.
Посмотрите пример взаимодействия гироскопа с платой Arduino в моем проекте SudoGlove (http://www.jeremyblum.com/portfolio/sudoglove-hardware-controller/).
Перчатка-манипулятор, которую я разработал, распознает движения руки и способна управлять музыкальным синтезатором или радиоуправляемым автомобилем. Напряжение питания многих гироскопов составляет 3,3 В.
Если вы выбрали датчик, перейдем к примеру его использования.
- 73 -
3.7. Работа с аналоговым датчиком температуры
Рассмотрим простой пример работы с датчиком температуры ТМР36, упомянутым в предыдущем разделе. Вы можете выбрать любой аналоговый датчик из приведенного ранее списка или взять какой-нибудь другой. Последовательность действий, описанная далее, практически одинакова для любого аналогового датчика.
Для начала подсоедините к плате Arduino Uno RGB-светодиод, как в главе 2, и датчик температуры к выходу A0 (рис. 3.8).
На основе этой схемы создадим простую систему, сигнализирующую об изменении температуры. RGB-светодиод будет гореть зеленым, когда температура находится в пределах допустимого диапазона, красным, когда станет жарко, и синим, когда становится холодно.

Рис. 3.8. Схема подключения датчика температуры
- 74 -
Прежде всего, определите приемлемый для вас температурный диапазон. Используя программу из листинга 3.1, определите аналоговые значения для верхнего и нижнего порогов температуры. Для меня нижний порог комфортной температуры составляет 20°С, что соответствует аналоговому значению 143. У вас эта цифра может быть другой. Следите за показаниями в мониторе последовательного порта при наступлении нижнего и верхнего предела температуры. Эти значения можно получить из графика на рис. 3.7 или из формулы, связывающей температуру (в °С) с входным напряжением (в мВ):
Читать дальшеИнтервал:
Закладка: