Съдържание:
- Консумативи
- Стъпка 1: Познаване на 4 -каналната релейна платка на DockerPi Series
- Стъпка 2: Функции
- Стъпка 3: Карта на адреса на устройството
- Стъпка 4: Свържете релето към държача на крушката, захранван от основното електрическо захранване
- Стъпка 5: Конфигуриране на I2C (Raspberry Pi)
- Стъпка 6: Директен контрол без програмиране (Raspberry Pi)
- Стъпка 7: Програма на език C (Raspberry Pi)
- Стъпка 8: Програма в Python (Raspberry Pi)
- Стъпка 9: Програма в Java (Raspberry Pi)
Видео: Система за управление на светлините: 9 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Наскоро работих върху разбирането на микроконтролери и устройства, базирани на IOT, за целите на изследванията на сигурността. И така, мислех да изградя малка система за домашна автоматизация за практика. Тепърва ще завърша това, но за стартиране ще споделя как използвах Raspberry Pi 2 и някои други електрически компоненти, за да контролирам осветлението на стаята си в този пост. Също така няма да говоря за начална настройка за Raspberry тук, може да намерите различни уроци за това.
Но в този проект ще ви представя този продукт от серията docker pi.
Консумативи
Списък на компонентите:
- 1 x Raspberry Pi 3B+/3B/Zero/Zero W/4B/
- 1 x 16GB TF карта от клас 10
- 1 x DockerPi серия 4 -канална релейна платка (HAT)
- 1 x [email protected] захранване, което е от 52Pi
- 4 x Светла лента
- 1 x DC конектор
- 1 x 12V захранване за светлинните ленти.
- няколко проводника.
Стъпка 1: Познаване на 4 -каналната релейна платка на DockerPi Series
4 -каналното реле DockerPi е член на серията DockerPi, по -често използвана в IOT приложения.
4 -каналното реле DockerPi може да предава AC/DC, вместо традиционните превключватели, за постигане на повече идеи. 4 -каналното реле на DockerPi може да подрежда до 4 и може да бъде подредено с друга платка за разширение на DockerPi. Ако трябва да работите дълго време, препоръчваме също да използвате нашата платка за разширение DockerPi Power, за да осигурите повече енергия.
ЗАБЕЛЕЖКА ПРЕДУПРЕЖДЕНИЕ Преди да продължим по -нататък, бих искал да ви ПРЕДУПРЕЖДЯ ЗА ОПАСНОСТТА от експерименти с „Мрежово електричество“. Ако нещо се обърка, най -лошата последица може да бъде смърт или поне изгаряне на собствената ви къща. Така че, моля, НЕ се опитвайте да правите нищо, споменато в тази статия, ако не разбирате какво правите или по -добре се възползвайте от помощта на някой опитен електротехник. Да започваме.
Стъпка 2: Функции
- DockerPi серия
- Програмируеми
- Управление директно (без програмиране)
- Разширете GPIO щифтовете
- 4 -канално реле
- 4 Поддръжка на Alt I2C Addr
- Поддръжка на светодиоди за състоянието на релето
- 3A 250V AC поддръжка
- 3A 30V DC
- Може да се подрежда с друга стекова платка Независимо от хардуера на дънната платка (изисква поддръжка на I2C)
Стъпка 3: Карта на адреса на устройството
Тази платка има отделен адрес на регистър и можете просто да управлявате всяко реле с една команда.
Други изисквания:
Основно разбиране за Python или C или черупка или Java или друг език (ще използвам C, python, shell и java)
- Основно разбиране за системите на Linux
- Присъствие на ума
Сега, преди да продължите напред, ще трябва да разберете електрическите компоненти, които ще използваме:
1. Реле:
Релето е електрическо устройство, което обикновено се използва за управление на високо напрежение, като се използва много ниско напрежение като вход. Това се състои от бобина, увита около полюс и две малки метални клапи (възли), които се използват за затваряне на веригата. Единият възел е фиксиран, а другият е подвижен. Всеки път, когато електричество преминава през намотката, то създава магнитно поле и привлича движещия се възел към статичния възел и веригата се завършва. Така че, само чрез прилагане на малко напрежение за захранване на бобината, ние всъщност можем да завършим веригата, за да се движи високото напрежение. Също така, тъй като статичният възел не е физически свързан с бобината, има много по -малък шанс микроконтролерът, захранващ бобината, да се повреди, ако нещо се обърка.
Стъпка 4: Свържете релето към държача на крушката, захранван от основното електрическо захранване
Сега към сложната част, ще свържем релето с държача на крушката, захранван от основното електрическо захранване. Но първо искам да ви дам кратка представа за това как светлините се включват и изключват чрез директно захранване.
Сега, когато крушката е свързана към основното захранване, обикновено правим това, като свързваме два проводника към крушката. един от проводниците е "неутрален" проводник, а другият е "отрицателен" проводник, който всъщност носи тока, също така има добавен превключвател към цялата верига за управление на механизма за включване и изключване. Така че, когато swith е свързан (или ON ON), токът преминава през крушката и неутралния проводник, завършвайки веригата. Това включва лампата. Когато ключът е включен, той прекъсва веригата и крушката се изключва. Ето малка схема, която обяснява това:
Сега, за нашия експеримент, ще трябва да накараме „отрицателния проводник“да премине през нашето реле, за да прекъсне веригата и да контролира потока на мощността, използвайки превключване на релето. Така че, когато релето се включи, то трябва да завърши веригата и крушката да се включи и обратно. Вижте диаграмата по -долу за Пълна верига.
Стъпка 5: Конфигуриране на I2C (Raspberry Pi)
Стартирайте sudo raspi-config и следвайте подканите за инсталиране на i2c поддръжка за ядрото ARM и ядрото на Linux
Отидете на Опции за взаимодействие
Стъпка 6: Директен контрол без програмиране (Raspberry Pi)
Включете релето на канал 1
i2cset -y 1 0x10 0x01 0xFF
Изключете релето на канал 1
i2cset -y 1 0x10 0x01 0x00
Включете релето на канал 2
i2cset -y 1 0x10 0x02 0xFF
Изключете релето на канал 2
i2cset -y 1 0x10 0x02 0x00
Включете релето на канал 3
i2cset -y 1 0x10 0x03 0xFF
Изключете релето на канал 3
i2cset -y 1 0x10 0x03 0x00
Включете релето на канал 4
i2cset -y 1 0x10 0x04 0xFF
Изключете релето на канал №4
i2cset -y 1 0x10 0x04 0x00
Стъпка 7: Програма на език C (Raspberry Pi)
Създайте изходен код и го наречете "relay.c"
#включва
#включва
#включва
#дефинирайте DEVCIE_ADDR 0x10
#define RELAY1 0x01
#дефинирайте RELAY2 0x02
#define RELAY3 0x03
#дефинирайте RELAY4 0x04
#define ON 0xFF
#define OFF 0x00
int main (void)
{
printf ("Включване на релета в C / n");
int fd;
int i = 0;
fd = wiringPiI2CSetup (DEVICE_ADDR);
за(;;){
за (i = 1; i <= 4; i ++)
{
printf ("включете реле № $ d", i);
wiringPiI2CWriteReg8 (fd, i, ON);
сън (200);
printf ("изключете реле № $ d", i);
wiringPiI2CWriteReg8 (fd, i, OFF);
сън (200);
}
}
връщане 0;
}
Компилирайте го
gcc relay.c -lwiringPi -o реле
Изпълнете го
./ реле
Стъпка 8: Програма в Python (Raspberry Pi)
Следният код се препоръчва да се изпълни с помощта на Python 3 и да се инсталира smbus библиотеката:
Създайте файл с името му: "relay.py" и поставете следния код:
време за внос като t
внос smbus
import sys
DEVICE_BUS = 1
DEVICE_ADDR = 0x10
шина = smbus. SMBus (DEVICE_BUS)
докато е вярно:
опитвам:
за i в обхват (1, 5):
bus.write_byte_data (DEVICE_ADDR, i, 0xFF)
т. сън (1)
bus.write_byte_data (DEVICE_ADDR, i, 0x00)
т. сън (1)
с изключение на KeyboardInterrupt като e:
print ("Излезте от цикъла")
sys.exit ()
* Запазете го и след това стартирайте като python3:
python3 relay.py
Стъпка 9: Програма в Java (Raspberry Pi)
Създайте нов файл с име: I2CRelay.java и поставете следния код:
импортиране на java.io. IOException;
импортиране на java.util. Arrays;
внос com.pi4j.io.i2c. I2CBus;
внос com.pi4j.io.i2c. I2CDevice;
внос com.pi4j.io.i2c. I2CFactory;
импортиране com.pi4j.io.i2c. I2CFactory. UnsupportedBusNumberException;
импортиране на com.pi4j.platform. PlatformAlreadyAssignedException;
импортиране на com.pi4j.util. Console;
обществен клас I2CRelay {
// адрес на регистъра на релето.
публичен статичен краен инт DOCKER_PI_RELAY_ADDR = 0x10;
// канал на релето.
публичен статичен краен байт DOCKER_PI_RELAY_1 = (байт) 0x01;
публичен статичен краен байт DOCKER_PI_RELAY_2 = (байт) 0x02;
публичен статичен краен байт DOCKER_PI_RELAY_3 = (байт) 0x03;
публичен статичен краен байт DOCKER_PI_RELAY_4 = (байт) 0x04;
// Състояние на релето
публичен статичен краен байт DOCKER_PI_RELAY_ON = (байт) 0xFF;
публичен статичен краен байт DOCKER_PI_RELAY_OFF = (байт) 0x00;
публичен static void main (String args) хвърля InterruptException, PlatformAlreadyAssignedException, IOException, UnsupportedBusNumberException {
окончателна конзолна конзола = нова конзола ();
I2CBus i2c = I2CFactory.getInstance (I2CBus. BUS_1);
I2CDevice устройство = i2c.getDevice (DOCKER_PI_RELAY_ADDR);
console.println ("Включете релето!");
device.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_ON);
Thread.sleep (500);
console.println ("Изключете релето!");
device.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_OFF);
}
}
Препоръчано:
Напомняне за изключване на светлините: 5 стъпки
Напомняне за изключване на светлините: Не забравяйте, изключете светлините, спасете Земята. Това устройство ми помага да се науча да развивам навик да изключвам светлините, когато излизам от стаята си. Устройството е просто построено от Arduino, основно с помощта на светлинен сензор, ултразвуков инструмент за измерване на разстояние
Контрол на светлините в стаите „свободни ръце“: 10 стъпки
Управление на светлините в стаите „свободни ръце“: Както във филма „Мисията невъзможна“казва " Отчаяните времена изискват отчаяни мерки " брат ми, който е в 10 -ти клас, има идея да контролира светлините в кухнята с помощта на телефона, вместо да използва ключове, и причината
Wi-Fi интелигентен бутон, захранван от батерията, за управление на светлините HUE: 5 стъпки (със снимки)
Wi-Fi интелигентен бутон, захранван от батерии, за управление на HUE светлините: Този проект демонстрира как да се изгради Wi-Fi бутон за Wi-Fi, захранван от батерии, за по-малко от 10 минути. Бутонът контролира HUE светлините над IFTTT. Днес можете да изградите електронни устройства и да ги свържете с други домашни устройства буквално за минути. Какво е
Изгасване на светлините: 6 стъпки
Lights Out: Имате ли проблем, при който винаги забравяте да изключите светлината, когато излизате от стаята? Този небрежен акт губи много енергия, така че в този проект ще се научите да правите машина, която може да изключи светлината вместо вас, когато не използвате
Контрол на светлините с очите си: 9 стъпки (със снимки)
Контрол на светлините с очите си: Този семестър в колежа взех курс, наречен Инструментация в биомедицината, в който научих основите на обработката на сигнали за медицински приложения. За окончателния проект на класа моят екип работеше по технологията EOG (електроокулография). Есенти