Оглавление:
- Шаг 1. Требуется оборудование
- Шаг 2: Подключение оборудования
- Шаг 3: общение с использованием протокола I2C
- Шаг 4: Программирование модуля
- Шаг 5: Создание файла и запуск кода
- Шаг 6: приложения
- Шаг 7: Ресурсы
Видео: Домашняя автоматизация с Raspberry Pi с использованием релейной платы: 7 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
Большинство людей хотят большего комфорта, но по разумным ценам. Нам лень освещать дома каждый вечер, когда садится солнце, а на следующее утро снова выключать свет или включать / выключать кондиционер / вентилятор / обогреватели в зависимости от погоды или температуры в помещении.
Недорогое решение, позволяющее избежать лишней работы по отключению приборов, когда это необходимо. Он предназначен для автоматизации ваших домов с относительно небольшими затратами с использованием простых устройств plug and play. Он работает так, как когда температура повышается или понижается, он включает кондиционер или обогреватель соответственно. Также, при необходимости, это поможет включить или свет в вашем доме, не включая их вручную. Вы можете управлять многими другими устройствами. Автоматизируйте мир. Давайте начнем ваш дом.
Шаг 1. Требуется оборудование
Мы будем использовать:
Raspberry Pi
Raspberry Pi - это одноплатный ПК на базе Linux. Этот маленький ПК обладает отличной регистрирующей способностью, используется для упражнений по электронике и операций на ПК, таких как электронные таблицы, обработка текста, веб-серфинг, электронная почта и игры
Экран I2C или заголовок I2C
INPI2 (адаптер I2C) предоставляет Raspberry Pi 2/3 порт I²C для использования с несколькими устройствами I2C
Контроллер реле I2C MCP23008
MCP23008 от Microchip - это интегрированный расширитель портов, который управляет восемью реле через шину I²C. Вы можете добавить больше реле, цифровых входов / выходов, аналого-цифровых преобразователей, датчиков и других устройств, используя встроенный порт расширения I²C
Датчик температуры MCP9808
MCP9808 - это высокоточный датчик температуры, который выдает откалиброванные, линеаризованные сигналы датчика в цифровом формате I²C
Датчик яркости TCS34903
TCS34903 - это продукт семейства цветных датчиков, который обеспечивает значение RGB-составляющей света и цвета
Соединительный кабель I2C
Соединительный кабель I2C - это 4-жильный кабель, предназначенный для связи по протоколу I2C между двумя подключенными через него устройствами I2C
Адаптер Micro USB
Чтобы включить Raspberry Pi, нам понадобится кабель Micro USB
Адаптер питания 12 В для платы реле
Контроллер реле MCP23008 работает от внешнего источника питания 12 В, который может подаваться через адаптер питания 12 В
Вы можете купить товар, нажав на них. Кроме того, вы можете найти больше отличных материалов в Dcube Store.
Шаг 2: Подключение оборудования
Необходимые соединения (см. Рисунки) следующие:
- Это будет работать по I2C. Возьмите экран I2C для Raspberry pi и аккуратно подключите его к контактам GPIO Raspberry Pi.
- Подключите один конец кабеля I2C к входному порту TCS34903, а другой конец - к экрану I2C.
- Подключите гнездо датчика MCP9808 к выходу TCS34903 с помощью кабеля I2C.
- Подключите гнездо MCP23008 к выходу датчика MCP9808 с помощью кабеля I2C.
- Также подключите кабель Ethernet к Raspberry Pi. Маршрутизатор Wi-Fi также может быть использован для того же.
- Затем включите Raspberry Pi с помощью адаптера Micro USB и платы реле MCP23008 с помощью адаптера 12 В.
- Наконец, подключите свет к первому реле, а вентилятор или обогреватель - ко второму реле. Вы можете расширить модуль или подключить больше устройств с реле.
Шаг 3: общение с использованием протокола I2C
Чтобы включить Raspberry Pi I2C, действуйте, как указано ниже:
- В терминале введите следующую команду, чтобы открыть настройки конфигурации: sudo raspi-config
- Выберите здесь «Дополнительные параметры».
- Выберите «I2C» и нажмите «Да».
- Перезагрузите систему, чтобы настроить ее в соответствии с изменениями, внесенными с помощью команды reboot.
Шаг 4: Программирование модуля
Наградой за использование Raspberry Pi является то, что он дает вам гибкость в выборе языка программирования, на котором вы хотите запрограммировать интерфейс сенсорного устройства с Raspberry Pi. Используя это преимущество Raspberry Pi, мы демонстрируем его программирование на Java.
Чтобы настроить среду Java, установите «pi4j libraby» с https://pi4j.com/1.2/index.html Pi4j - это библиотека ввода / вывода Java для Raspberry Pi. Простой и наиболее предпочтительный метод установки «pi4j библиотека »- выполнить указанную ниже команду прямо в Raspberry Pi:
curl -s get.pi4j.com | sudo bash
ИЛИ
curl -s get.pi4j.com
импорт com.pi4j.io.i2c. I2CBus; импорт com.pi4j.io.i2c. I2CDevice; import com.pi4j.io.i2c. I2CFactory; import java.io. IOException; class MCP23008 {public static void main (String args ) выдает исключение {int status, value, value1 = 0x00; // Создание шины I2C I2CBus bus = I2CFactory.getInstance (I2CBus. BUS_1); // Получение устройства I2C, адрес I2C MCP23008 0x20 (32) I2CDevice device = bus.getDevice (0x20); // Получение устройства I2C, адрес I2C MCP9808 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // Получение устройства I2C, адрес TCS34903 I2C 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39); // Устанавливаем регистр времени ожидания = 0xff (255), время ожидания = 2,78 мс TCS34903.write (0x83, (byte) 0xFF); // Разрешить доступ к ИК-каналу TCS34903.write (0xC0, (byte) 0x80); // Установите регистр Atime на 0x00 (0), максимальное количество = 65535 TCS34903.write (0x81, (byte) 0x00); // Питание включено, АЦП включен, ожидание включено TCS34903.write (0x80, (byte) 0x0B); Thread.sleep (250); // Чтение 8 байтов данных с очисткой / ИК-данными LSB first byte data1 = new byte [8]; // Считываем данные о температуре byte data = new byte [2]; status = device.read (0x09); // Настроил все контакты как ВЫХОДНОЕ устройство.write (0x00, (byte) 0x00); Thread.sleep (500); while (true) {MCP9808.read (0x05, данные, 0, 2); // Преобразование данных int temp = ((data [0] & 0x1F) * 256 + (data [1] & 0xFF)); если (темп> 4096) {темп - = 8192; } double cTemp = temp * 0,0625; System.out.printf («Температура в градусах Цельсия:%.2f C% n», cTemp); TCS34903.read (0x94, data1, 0, 8); двойной ir = ((данные1 [1] & 0xFF) * 256) + (данные1 [0] & 0xFF) * 1.00; двойной красный = ((данные1 [3] & 0xFF) * 256) + (данные1 [2] & 0xFF) * 1.00; двойной зеленый = ((data1 [5] & 0xFF) * 256) + (data1 [4] & 0xFF) * 1.00; двойной синий = ((data1 [7] & 0xFF) * 256) + (data1 [6] & 0xFF) * 1.00; // Рассчитываем двойную освещенность = (-0,32466) * (красный) + (1,57837) * (зеленый) + (-0,73191) * (синий); System.out.printf («Освещенность составляет:%.2f люкс% n», освещенность); if (освещенность 30) {значение = значение1 | (0x01); } еще {значение = значение1 & (0x02); } device.write (0x09, (байтовое) значение); Thread.sleep (300); }}}
Шаг 5: Создание файла и запуск кода
- Чтобы создать новый файл, в который можно будет записать / скопировать код, будет использоваться следующая команда: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
- После создания файла мы можем ввести сюда код.
- Скопируйте код, приведенный на предыдущем шаге, и вставьте его в окно сюда.
- Для выхода нажмите Ctrl + X, затем «y».
- Затем скомпилируйте код с помощью следующей команды: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
- Если ошибок нет, запустите программу, используя указанную ниже команду: pi4j FILE_NAMEEg. pi4j MCP23008.java
Шаг 6: приложения
Эта система позволяет управлять устройствами, не дойдя до настенных выключателей. Это имеет широкие возможности, так как время включения и выключения устройств назначается автоматически. Этот модуль может применяться в небольшом количестве от жилых домов до промышленных предприятий, больниц, железнодорожных вокзалов и многих других мест, которые можно легко и недорого автоматизировать с помощью компонентов plug-and-play.
Шаг 7: Ресурсы
Для получения дополнительной информации о контроллере реле TSL34903, MCP9808 MCP23008 перейдите по ссылкам ниже:
- TSL34903 Лист данных
- MCP9808 Лист данных
- MCP23008 Лист данных
Рекомендуемые:
Домашняя автоматизация нового поколения с использованием Eagle Cad (часть 1 - печатная плата): 14 шагов
Домашняя автоматизация нового поколения с использованием Eagle Cad (Часть 1 - Печатная плата): Введение: Почему я говорю о следующем поколении: потому что в нем используются некоторые компоненты, которые намного лучше традиционных устройств домашней автоматизации. Он может управлять устройствами с помощью: Голосовых команд Google Сенсорной панели на устройстве Управление из приложения
Домашняя автоматизация с использованием голоса и фрагментов Raspberry Pi Matrix (часть 2): 8 шагов
Домашняя автоматизация с использованием голоса и фрагментов Raspberry Pi Matrix (часть 2): обновление домашней автоматизации с использованием голоса и фрагментов Raspberry Pi Matrix. В этом ШИМ используется для управления внешними светодиодами и серводвигателем Все подробности приведены в части 1 https://www.instructables.com/id/Controlling-Light
Домашняя автоматизация: шаг за шагом с использованием Wemos D1 Mini с дизайном печатной платы: 4 шага
Домашняя автоматизация шаг за шагом с использованием Wemos D1 Mini с дизайном печатной платы: домашняя автоматизация шаг за шагом с использованием Wemos D1 Mini с дизайном печатной платы Несколько недель назад мы опубликовали на сайте rootaid.com учебное пособие «Домашняя автоматизация с использованием Raspberry Pi», которое было хорошо встречено любителями и любителями. студенты. Потом пришел один из наших участников
Домашняя автоматизация с использованием Raspberry Pi 3 и Node-RED: 6 шагов
Домашняя автоматизация с использованием Raspberry Pi 3 и Node-RED: Необходимые материалы: 1.Raspberry Pi 32. релейный модуль 3. перемычки
Простая домашняя автоматизация с использованием Raspberry Pi3 и Android Things: 5 шагов (с изображениями)
Простая домашняя автоматизация с использованием Raspberry Pi3 и Android. Идея состоит в том, чтобы создать «умный ДОМ». при этом управлять бытовыми устройствами можно с помощью Android Things и Raspberry Pi. Проект состоит из управления домашними устройствами, такими как свет, вентилятор, двигатель и т. Д. Необходимые материалы: Raspberry Pi 3HDMI Ca