Съдържание:
- Стъпка 1: Изисква се хардуер
- Стъпка 2: Хардуерно свързване
- Стъпка 3: Комуникация чрез I2C протокол
- Стъпка 4: Програмиране на модула
- Стъпка 5: Създаване на файл и стартиране на кода
- Стъпка 6: Приложения
- Стъпка 7: Ресурси
Видео: Домашна автоматизация с Raspberry Pi с помощта на релейна платка: 7 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Голям брой хора искат голям комфорт, но на разумни цени. Чувстваме се мързеливи да осветяваме къщите всяка вечер, когато слънцето залезе и на следващата сутрин, отново да изключим осветлението Или да включим/изключим климатика/вентилатора/нагревателите, както времето или стайната температура.
Тук е евтино решение за избягване на тази допълнителна работа по изключване на уредите, когато е необходимо. Това е да автоматизирате къщите си при сравнително много по -ниски разходи, като използвате прости plug -and -play продукти. Работи така, че когато температурата се повиши или понижи, включва съответно климатика или нагревателя. Също така, когато е необходимо, ще ви помогне да включите или осветлението на вашия дом, без да ги включвате ръчно. И много други уреди могат да бъдат контролирани. Автоматизирайте света. Нека започнем вашия дом.
Стъпка 1: Изисква се хардуер
Ще използваме:
Малина Пи
Raspberry Pi е единичен компютър, базиран на Linux. Този малък компютър носи удар в регистрирането на мощност, използван като част от електронни упражнения и компютърни операции като електронни таблици, текстообработка, уеб сърфиране и имейл и игри
I2C щит или I2C заглавка
INPI2 (I2C адаптер) осигурява Raspberry Pi 2/3 an I²C порт за използване с множество I2C устройства
I2C релеен контролер MCP23008
MCP23008 от Microchip е интегриран порт разширител, който управлява осем релета чрез I²C шината. Можете да добавите още релета, цифрови I/O, аналогови към цифрови преобразуватели, сензори и други устройства, като използвате вградения I²C разширителен порт
MCP9808 Температурен сензор
MCP9808 е високоточен температурен сензор, който осигурява калибрирани, линеаризирани сензорни сигнали в цифров, I²C формат
TCS34903 сензор за яркост
TCS34903 е продукт от семейство цветни сензори, който осигурява стойността на RGB компонента на светлината и цвета
I2C свързващ кабел
Свързващият кабел I2C е 4-жичен кабел, предназначен за I2C комуникация между две I2C устройства, свързани чрез него
Микро USB адаптер
За да включим Raspberry Pi, се нуждаем от Micro USB кабел
12V захранващ адаптер за релейна платка
Релейният контролер MCP23008 работи на 12V външно захранване и това може да бъде доставено чрез 12V захранващ адаптер
Можете да закупите продукта, като кликнете върху тях. Също така, можете да намерите още страхотни материали в 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 с помощта на 12V адаптер.
- Накрая свържете лампата с първо реле и вентилатор или нагревател с второ реле. Можете да разширите модула или да свържете повече устройства с релета.
Стъпка 3: Комуникация чрез I2C протокол
За да активирате Raspberry Pi I2C, продължете както е споменато по -долу:
- В терминала въведете следната команда, за да отворите конфигурационните настройки: sudo raspi-config
- Изберете „Разширени опции“тук.
- Изберете „I2C“и щракнете върху „Да“.
- Рестартирайте системата, за да я настроите според промените, направени с помощта на командата рестартиране.
Стъпка 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; внос com.pi4j.io.i2c. I2CFactory; импортиране на java.io. IOException; клас MCP23008 {public static void main (String args ) изхвърля Exception {int status, value, value1 = 0x00; // Създаване на I2C шина I2CBus шина = I2CFactory.getInstance (I2CBus. BUS_1); // Вземете I2C устройство, MCP23008 I2C адресът е 0x20 (32) I2CDevice устройство = bus.getDevice (0x20); // Вземете I2C устройство, MCP9808 I2C адресът е 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // Вземете I2C устройство, TCS34903 I2C адресът е 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39); // Задайте регистър на времето за изчакване = 0xff (255), времето за изчакване = 2,78 ms TCS34903.write (0x83, (байт) 0xFF); // Разрешаване на достъпа до IR канал TCS34903.write (0xC0, (байт) 0x80); // Задайте регистър Atime на 0x00 (0), максимален брой = 65535 TCS34903.write (0x81, (байт) 0x00); // Включване на захранването, активиран ADC, изчакване активиран TCS34903.write (0x80, (байт) 0x0B); Thread.sleep (250); // Прочетете 8 байта данни с чисти/ir данни LSB първи байт data1 = нов байт [8]; // Четене на данни за температурата байт данни = нов байт [2]; status = device.read (0x09); // Конфигурирани всички пинове като OUTPUT device.write (0x00, (байт) 0x00); Thread.sleep (500); while (true) {MCP9808.read (0x05, данни, 0, 2); // Конвертиране на данни int temp = ((данни [0] & 0x1F) * 256 + (данни [1] & 0xFF)); if (temp> 4096) {temp -= 8192; } двоен 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; двойно синьо = ((данни1 [7] & 0xFF) * 256) + (данни1 [6] & 0xFF) * 1,00; // Изчисляване на двойната осветеност на осветеността = (-0.32466) * (червено) + (1.57837) * (зелено) + (-0.73191) * (синьо); System.out.printf („Осветеността е: %.2f lux %n“, осветеност); if (осветеност 30) {стойност = стойност1 | (0x01); } else {стойност = стойност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 Voice Commands Touch Panel на Device Control от приложението
Домашна автоматизация с помощта на Raspberry Pi Matrix Voice и Snips (Част 2): 8 стъпки
Домашна автоматизация с помощта на Raspberry Pi Matrix Voice и Snips (Част 2): Актуализация на Home Automation Използване на Raspberry Pi Matrix Voice и Snips. В този ШИМ се използва за управление на външни светодиоди и серво мотор Всички подробности, дадени в част 1https: //www.instructables.com/id/Controlling-Light
Управление на релейна платка от Octoprint на Raspberry Pi: 5 стъпки
Управление на релейна платка от Octoprint на Raspberry Pi: Значи имате малиново пи с Octoprint и дори имате настройка на камера. Последното нещо, от което се нуждаете, е начин да включите и изключите вашия 3D принтер и може би да контролирате светлина. Тази инструкция е за вас! Това е вдъхновено и опростено от: https: //github.co
Планиране на домашна система за домашна автоматизация: 12 стъпки
Планиране на система за домашна автоматизация „Направи си сам“: Целта на тази инструкция не е да ви каже как можете да правите каквото искате в дома си. Вместо това е написано, за да се превърне една идея в реалност, но също така да се превърне лудостта в здрав разум чрез разбиране на границите (технология, цена, необходимо време
Домашна автоматизация: Автоматична комутационна платка с управление на димера чрез Bluetooth чрез Tiva TM4C123G: 7 стъпки
Домашна автоматизация: Автоматична комутационна платка с управление на димера чрез Bluetooth чрез Tiva TM4C123G: В днешно време имаме дистанционни управления за нашите телевизори и други електронни системи, които направиха живота ни наистина лесен. Чудили ли сте се някога за домашната автоматизация, която да даде възможност за управление на тръбни светлини, вентилатори и други електрически