Делаем сенсоры: проекты сенсорных устройств на базе Arduino и Raspberry Pi
Год: 2015 Автор: Теро Карвинен, Киммо Карвинен, Вилле Валтокари Издательство: ООО "ИД Вильямс" ISBN: 978-5-8459-1954-0 Жанр: Программирование, аппаратура Формат: DJVU Качество: Хороший скан Иллюстрации: Цветные и черно-белые Количество страниц: 445
Описание:Датчики расширяют возможности по взаимодействию микроконтроллерных платформ с внешним миром, открывая новые горизонты в разработке принципиально новых устройств. Детальный анализ среды и обработка полученных данных позволяют микроконтроллерной системе принимать эффективные решения и выполнять требуемые действия. Укомплектовав свои устройства недорогими компьютерными платформами, такими как Arduino и Raspberry Pi, вы сможете запрограммировать их поведение согласно изменению характеристик окружающей среды. Благодаря этой книге вы научитесь конструировать приборы, способные самым детальным образом определять внешнее воздействие, будь то инфракрасное излучение, отравляющие вещества или изменение освещения. Данная книга рекомендуется разработчикам программных решений для Arduino и Raspberry Pi. В ней описаны примеры проектов, в которых активно используются самые разные устройства и электронные компоненты - RGB-светодиоды, электронная бумага, серводвигатели, игровые контроллеры и т.п. Должное внимание уделено программной и электротехнической частям, а также созданию надежных и функциональных корпусов для готовых устройств. Вы ознакомитесь с принципами управления датчиками прикосновения, света, температуры и влажности, газовыми анализаторами, гироскопами и акселерометрами. В каждой главе дается описание нескольких экспериментальных проектов, а также способов их эффективной реализации в результате совместного применения различных технологий. Книга поможет вам изучить физические принципы функционирования датчиков, а также научит конструировать сложные устройства, в которых управление основывается на данных, собранных и переданных датчиками самых разных типов.
Об авторах Введение Сначала была идея Как читать эту книгу Ввод, обработка и вывод данных Интерфейсы Самостоятельная работа Приобретение электронных компонентов Соглашения, принятые в этой книге Программные коды примеров Ждем ваших отзывов! Глава 1. Знакомство с Raspberry Pi Raspberry Pi — с нуля и до первой загрузки ОС Распаковка файла NOOBS*.zip Подключение оборудования ввода-вывода Загрузка и установка Raspbian Устранение неполадок запуска Raspberry Pi Старая добрая Linux Командная оболочка (как же без нее) Быстрое знакомство Настройки, хранимые в текстовых файлах sudo — это наше все Подключение оборудования к Raspberry Pi Привет всем! Мигание светодиодом Построение электрической цепи Две системы обозначения: функциональная и последовательная Управление GPIO из командной оболочки Запись в файл, минуя редактор Управление светодиодом Устранение неполадок Управление портом GPIO без прав суперпользователя Устранение неполадок при работе с GPIO Управление GPIO из Python Старый служака Python Что дальше? Глава 2. Знакомство с Arduino Базовая настройка Arduino Ubuntu Linux Windows 7 и Windows 8 OS X Приветствие светодиодом Структура программы Arduino Дополнительные модули: простота и удобство использования Глава 3. Расстояние Эксперимент: измерение расстояния ультразвуковым датчиком Ping Подключение к Arduino и программа управления датчиком Ping Подключение к Raspberry Pi и программа управления датчиком Ping Эксперимент: измерение расстояния ультразвуковым датчиком HC-SR04 Подключение к Arduino и программа управления датчиком HC-SR04 Подключение к Raspberry Pi и программа управления датчиком HC-SR04 Расчет времени возвращения эхо-сигнала Эксперимент в окружающей среде: невидимые объекты Эксперимент в окружающей среде: обнаружение преград датчиком инфракрасного излучения Подключение к Arduino и программа управления датчиком инфракрасного излучения Подключение к Raspberry Pi и программа управления датчиком инфракрасного излучения Эксперимент: инфракрасное зрение Эксперимент в окружающей среде: слежение за перемещением объекта (составной датчик инфракрасного излучения) Подключение к Arduino и программа управления составным датчиком инфракрасного излучения Подключение к Raspberry Pi и программа управления составным датчиком инфракрасного излучения Подключение библиотеки SpiDev Другие варианты подключения датчика инфракрасного излучения к Raspberry Pi Пилотный проект: контроль осанки (Arduino) Получаемые навыки Пьезоэлектрический зуммер Сирена Сочетание зуммера с инфракрасным датчиком Заключение сигнализации в корпус Глава 4. Дым и газ Эксперимент: выявление дыма (аналоговый газовый датчик) Подключение к Arduino и программа управления датчиком MQ-2 Подключение к Raspberry Pi и программа управления датчиком MQ-2 Эксперимент в окружающей среде: задымление помещения Эксперимент: алкотестер (датчик уровня алкоголя MQ-303A) Эксперимент в окружающей среде: жизнь без алкоголя Пилотный проект: отправка извещения о задымленности по электронной почте Получаемые навыки Отправка электронных писем и извещений с помощью Python Тестирование оборудования Почтовый клиент Трудности отправки извещений из Arduino Программа отправки извещений из Raspberry Pi Корпус для дымовой сигнализации Глава 5. Прикосновение Эксперимент: нажатие кнопки Подтягивающий (нагрузочный) резистор Подключение к Arduino и программа управления кнопкой Подключение к Raspberry Pi и программа управления кнопкой Эксперимент: микропереключатель Подключение к Arduino и программа управления микропереключателем Подключение к Raspberry Pi и программа управления микропереключателем Эксперимент: потенциометр (переменный резистор) Подключение к Arduino и программа управления потенциометром Подключение к Raspberry Pi и программа управления потенциометром Эксперимент: касание без прикосновения (емкостный датчик прикосновения QT113) Подключение к Arduino и программа управления датчиком прикосновения QT113 Подключение к Raspberry Pi и программа управления датчиком прикосновения QT113 Эксперимент в окружающей среде: распознавание прикосновения через дерево Эксперимент: почувствуй нажим (датчик FlexiForce) Подключение к Arduino и программа управления датчиком FlexiForce Подключение к Raspberry Pi и программа управления датчиком FlexiForce Эксперимент: создание собственного датчика прикосновения Подключение к Raspberry Pi и программа управления собственным датчиком прикосновения Пилотный проект: сенсорный звонок Получаемые навыки Сервоприводы Подключение к Arduino и программа управления сенсорным звонком Подключение сервопривода к звонку Глава 6. Движение Эксперимент: где верх, а где низ (датчик наклона)? Подключение к Arduino и программа управления датчиком наклона Подключение к Raspberry Pi и программа управления датчиком наклона Эксперимент: вибродатчик, или цифровой датчик вибрации Подключение к Arduino и программа управления датчиком вибрации Подключение к Raspberry Pi и программа управления датчиком вибрации Эксперимент: поверни до упора (датчик угла поворота) Подключение к Arduino и программа управления кодовым датчиком угла поворота Подключение к Raspberry Pi и программа управления кодовым датчиком угла поворота Эксперимент: джойстик под большой палец (аналоговый двухкоординатный резистивный джойстик) Подключение к Arduino и программа управления двухкоординатным джойстиком Подключение к Raspberry Pi и программа управления джойстиком Эксперимент в окружающей среде: вторая жизнь старого игрового контроллера Эксперимент: охранная сигнализация (пассивный инфракрасный датчик движения) Подключение к Arduino и программа управления охранной сигнализацией Подключение к Raspberry Pi и программа управления охранной сигнализацией Эксперимент в окружающей среде: взлом охранной сигнализации Пилотный проект: электронная игра Получаемые навыки Подключение контроллеров Корпус игрового контроллера Автоматический запуск игры при загрузке Raspberry Pi Запуск игры при регистрации Автоматический вход Глава 7. Свет Эксперимент: обнаружение пламени (датчик пламени) Подключение к Arduino и программа управления датчиком пламени Подключение к Raspberry Pi и программа управления датчиком пламени Эксперимент в окружающей среде: ярче пламя! Эксперимент: увидеть свет (фоторезистор) Подключение к Arduino и программа управления фоторезистором Подключение к Raspberry Pi и программа управления фоторезистором Эксперимент в окружающей среде: направленный свет Эксперимент: следи за линией (детектор линий) Подключение к Arduino и программа управления детектором линий Подключение к Raspberry Pi и программа управления детектором линий Эксперимент в окружающей среде: черное или белое? Эксперимент в окружающей среде: все цвета радуги Подключение к Arduino и программа управления датчиком цвета Подключение к Raspberry Pi и программа управления датчиком цвета Пилотный проект: цветовой купол Получаемые навыки RGB-светодиод Масштабирование входных и выходных значений Объединение программного кода Корпус в виде полусферы Глава 8. Ускорение Ускорение и угловая скорость Эксперимент: определение ускорения датчиком МХ2125 Определение длительности импульса датчика МХ2125 Подключение к Arduino и программа управления акселерометром Подключение к Raspberry Pi и программа управления акселерометром Эксперимент: совмещение акселерометра и гироскопа Подключение к Arduino и программа управления устройством MPU 6050 Подключение к Raspberry Pi и программа управления устройством MPU 6050 Шестнадцатеричная, двоичная и другие системы счисления Побитовые операции Эксперимент в окружающей среде: подключение контроллера Wii Nunchuk к порту I2C Подключение к Arduino и программа управления контроллером Wii Nunchuk Подключение к Raspberry Pi и программа управления контроллером Wii Nunchuk Пилотный проект: управление механическим манипулятором с помощью Wii Nunchuk Получаемые навыки Устройство механического манипулятора Глава 9. Идентификация Цифровая клавиатура Подключение к Arduino и программа управления цифровой клавиатурой Подключение к Raspberry Pi и программа управления цифровой клавиатурой Эксперимент в окружающей среде: снимаем отпечатки пальцев Дактилоскопический сканер GT-511СЗ Подключение к Arduino Mega и программа управления дактилоскопическим сканером Подключение к Raspberry Pi и программа управления дактилоскопическим сканером Модуль радиочастотной идентификации ELB149C5M Подключение к Arduino Mega и программа управления модулем радиочастотной идентификации Подключение к Raspberry Pi и программа управления модулем радиочастотной идентификации Пилотный проект: старинный сундук с современным замком Получаемые навыки Управление сундуком с сокровищами Старинный сундук Подключение к Arduino и программа управления сундуком с сокровищами Кто или что ты? Глава 10. Электричество и магнетизм Эксперимент: определение напряжения и тока Подключение к Arduino и программа управления датчиком тока/напряжения AttoPilot Подключение к Raspberry Pi и программа управления датчиком тока/напряжения AttoPilot Эксперимент: определение напряженности магнитного поля Подключение к Arduino и программа управления датчиком Холла Подключение к Raspberry Pi и программа управления датчиком Холла Эксперимент: определение северного магнитного полюса компасом-акселерометром LSM303 Калибровка компаса Подключение к Arduino и программа управления компасом LSM303 Подключение к Raspberry Pi и программа управления компасом LSM303 Рабочий протокол модуля LSM303 Вычисление направления по компасу Эксперимент: переключатель на эффекте Холла Подключение к Arduino и программа управления переключателем на эффекте Холла Подключение к Raspberry Pi и программа управления переключателем на эффекте Холла Пилотный проект: интернет-мониторинг рабочего напряжения фотоэлемента Получаемые навыки Подключение фотоэлемента Создание веб-сервера на базе Raspberry Pi Определение своего IP-адреса Создание в Raspberry Pi домашней страницы Подключение к Raspberry Pi и программа мониторинга рабочих параметров фотоэлемента Отсроченные задания и планировщик cron Что дальше? Глава 11. Звук Эксперимент: запись звука и настройка уровня громкости Подключение к Arduino и программа управления микрофоном Подключение к Raspberry Pi и программа управления микрофоном Эксперимент в окружающей среде: услышать падение булавки Пилотный проект: визуализация звука через HDMI-порт Получаемые навыки Включение последовательного порта в Raspberry Pi Подключение к Raspberry Pi и программа визуализации звука Быстрое преобразование Фурье Что дальше? Глава 12. Погода и климат Эксперимент: насколько жарко в помещении? Подключение к Arduino и программа управления температурным датчиком LM35 Подключение к Raspberry Pi и программа управления температурным датчиком LM35 Эксперимент в окружающей среде: изменение температуры Эксперимент: определение влажности Влажность выдыхаемого воздуха Подключение к Arduino и программа управления датчиком DHT11 Подключение к Raspberry Pi и программа управления датчиком DHT11 Доступ к Arduino из Raspberry Pi Датчик атмосферного давления GY65 Подключение к Arduino и программа управления датчиком GY65 Библиотеки Arduino Описание библиотеки Arduino gy_65 Подключение к Raspberry Pi и программа управления датчиком GY65 Эксперимент в окружающей среде: автоматический полив (датчик влажности почвы) Подключение к Arduino и программа управления датчиком влажности почвы Подключение к Raspberry Pi и программа управления датчиком влажности почвы Пилотный проект: прогноз погоды с выводом на электронную бумагу Получаемые навыки Подключение датчиков к Arduino и программа получения прогноза погоды Эксперимент в окружающей среде: без источника питания Хранение изображений в заголовочных файлах Преобразование растровых файлов в программный код С Корпус для метеостанции Приложение А. Краткий справочник по командам Linux в Raspberry Pi Предметный указатель