Мазмұны:
- Жабдықтар
- 1 -қадам: DockerPi 4 сериялы арналық реле тақтасы туралы білу
- 2 -қадам: ерекшеліктері
- 3 -қадам: құрылғының мекен -жай картасы
- 4 -қадам: Эстафетаны негізгі электр желісінен қуат алатын шам ұстағышқа қосыңыз
- 5 -қадам: I2C (Raspberry Pi) конфигурациясы
- 6 -қадам: Бағдарламасыз тікелей басқару (Raspberry Pi)
- 7 -қадам: С тіліндегі бағдарлама (Raspberry Pi)
- 8 -қадам: Python бағдарламасы (Raspberry Pi)
- 9 -қадам: Java -дегі бағдарлама (Raspberry Pi)
Бейне: Жарықты басқару жүйесі: 9 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Жақында мен қауіпсіздікті зерттеу мақсатында микроконтроллерлер мен IOT негізіндегі құрылғыларды түсіну бойынша жұмыс жасадым. Сонымен, мен практикаға арналған шағын үй автоматтандыру жүйесін құруды ойладым. Мен мұны әлі аяқтаған жоқпын, бірақ мен бұл мақалада Raspberry Pi 2 мен басқа да электрлік компоненттерді қалай қолданғанымды бөлісемін. Сонымен қатар, мен мұнда таңқурайға арналған бастапқы орнату туралы айтпаймын, сіз бұл үшін әр түрлі оқулықтарды таба аласыз.
Бірақ бұл жобада мен сізге док -pi сериялы өнімді ұсынамын.
Жабдықтар
Компоненттер тізімі:
- 1 x Raspberry Pi 3B+/3B/Zero/Zero W/4B/
- 1 x 16 ГБ 10 сыныпты TF картасы
- 1 x DockerPi сериясы 4 арналық реле тақтасы (HAT)
- 1 x [email protected] қуат көзі, ол 52Pi құрайды
- 4 x Жеңіл жолақ
- 1 x тұрақты ток қосқышы
- Жарық жолақтары үшін 1 х 12 В қуат көзі.
- бірнеше сымдар.
1 -қадам: DockerPi 4 сериялы арналық реле тақтасы туралы білу
DockerPi 4 Channel Relay - IOT қосымшаларында жиі қолданылатын DockerPi сериясының мүшесі.
DockerPi 4 арналық релесі қосымша идеяларға қол жеткізу үшін дәстүрлі қосқыштардың орнына айнымалы токты/релелік релесін бере алады. DockerPi 4 арналық релесі 4 -ке дейін жиналуы мүмкін және оны басқа DockerPi кеңейту тақтасымен бірге жинауға болады. Егер сізге ұзақ уақыт жұмыс істеу қажет болса, біз сізге көбірек қуат беру үшін DockerPi Power кеңейту тақтасын қолдануды ұсынамыз.
ЕСКЕРТУ ЕСКЕРТУ Әрі қарай жалғастырмас бұрын, мен сізге «Электр желісімен» тәжірибе жасау ҚАУІПТІЛІГІ туралы ЕСКЕРТКІМ келеді. Егер бірдеңе дұрыс болмай қалса, ең ауыр зардап өлім немесе үйді өртеу болуы мүмкін. Сондықтан, егер сіз не істеп жатқаныңызды түсінбесеңіз немесе тәжірибелі электриктің көмегіне жүгінсеңіз, осы мақалада айтылған ешнәрсеге тырыспаңыз. Бастайық.
2 -қадам: ерекшеліктері
- DockerPi сериясы
- Бағдарламаланатын
- Тікелей басқару (бағдарламасыз)
- GPIO түйреуіштерін кеңейтіңіз
- 4 арналы реле
- 4 Alt I2C Addr қолдау
- Реле күйін жарықтандыруды қолдау
- 3А 250В айнымалы токты қолдау
- 3А 30В тұрақты ток
- Басқа стек тақтасымен бірге жиналуы мүмкін, аналық платаның аппараттық құралына тәуелсіз (I2C қолдауын қажет етеді)
3 -қадам: құрылғының мекен -жай картасы
Бұл тақтада бөлек тіркелу мекенжайы бар және сіз әр релені бір пәрменмен басқара аласыз.
Басқа талаптар:
Python немесе C немесе shell немесе Java немесе басқа тіл туралы негізгі түсінік (мен C, python, shell және java қолданамын)
- Linux жүйелері туралы негізгі түсінік
- Ақылдың болуы
Енді, алға жылжудан бұрын, біз қолданатын электрлік компоненттерді түсіну қажет:
1. Эстафета:
Реле - бұл әдетте кіріс ретінде өте төмен кернеуді қолдана отырып жоғары кернеуді басқару үшін қолданылатын электрлік құрылғы. Бұл полюске оралған катушкадан және тізбекті жабу үшін қолданылатын екі кішкене металл қақпақшалардан (түйіндерден) тұрады. Бір түйін бекітілген, екіншісі қозғалмалы. Электр катушкадан өткен кезде ол магнит өрісін жасайды және қозғалатын түйінді статикалық түйінге қарай тартады және тізбек аяқталады. Сонымен, катушканы қосу үшін кішкене кернеуді қолдану арқылы біз жоғары кернеудің қозғалу тізбегін толықтай аяқтай аламыз. Сонымен қатар, статикалық түйін катушкаға физикалық түрде қосылмағандықтан, егер бірдеңе дұрыс болмаса, катушканы қуаттандыратын микроконтроллердің зақымдану ықтималдығы өте төмен.
4 -қадам: Эстафетаны негізгі электр желісінен қуат алатын шам ұстағышқа қосыңыз
Енді күрделі бөлігіне біз релені Main Electric желісінен қуат алатын шам ұстағышқа қосамыз. Бірақ алдымен мен сізге жарықтың тікелей қуат көзі арқылы қалай қосылатыны мен өшетіні туралы қысқаша түсінік бергім келеді.
Енді, электр шамы негізгі қуат көзіне қосылған кезде, біз әдетте шамға екі сымды қосу арқылы жасаймыз. сымның бірі - «бейтарап» сым, ал екіншісі - токты өткізетін «теріс» сым, сонымен қатар ӨШІРУ механизмін басқару үшін бүкіл тізбекке қосқыш қосылады. Осылайша, свит жалғанған кезде (немесе қосулы) ток лампадан және нөлдік сымнан өтіп, тізбекті аяқтайды. Бұл шамды қосады. Коммутаторды қосқанда, ол тізбекті бұзады, ал электр шамы сөнеді. Мұны түсіндіру үшін шағын схема:
Енді, біздің эксперимент үшін, біз реле арқылы «Теріс сымды» өткізіп, тізбекті бұзып, релені ауыстыру арқылы қуат ағынын басқаруға тиіспіз. Сонымен, реле ҚОСЫЛҒАН кезде, ол тізбекті аяқтауы керек, ал Лампочка ҚОСЫЛЫП, керісінше. Толық тізбек үшін төмендегі диаграмманы қараңыз.
5 -қадам: I2C (Raspberry Pi) конфигурациясы
Sudo raspi-config іске қосыңыз және ARM ядросы мен Linux ядросына i2c қолдауын орнату үшін нұсқауларды орындаңыз.
Интерфейс опцияларына өтіңіз
6 -қадам: Бағдарламасыз тікелей басқару (Raspberry Pi)
№1 арна релесін қосыңыз
i2cset -y 1 0x10 0x01 0xFF
No1 канал релесін өшіріңіз
i2cset -y 1 0x10 0x01 0x00
№ 2 реле релесін қосыңыз
i2cset -y 1 0x10 0x02 0xFF
No2 канал релесін өшіріңіз
i2cset -y 1 0x10 0x02 0x00
№3 арна релесін қосыңыз
i2cset -y 1 0x10 0x03 0xFF
No3 канал релесін өшіріңіз
i2cset -y 1 0x10 0x03 0x00
No4 арна релесін қосыңыз
i2cset -y 1 0x10 0x04 0xFF
No4 арна релесін өшіріңіз
i2cset -y 1 0x10 0x04 0x00
7 -қадам: С тіліндегі бағдарлама (Raspberry Pi)
Бастапқы кодты жасаңыз және оны «relay.c» деп атаңыз
#қосу
#қосу
#қосу
#DEVCIE_ADDR 0x10 анықтаңыз
#анықтау РЕЛЕ1 1x01
#анықтаңыз RELAY2 0x02
#анықтаңыз RELAY3 0x03
#РЕЛЕЙ4 0x04
#анықтау 0xFF
#анықта ӨШІРУ 0x00
int main (жарамсыз)
{
printf («C релесін қосу / n»);
int fd;
int i = 0;
fd = wiringPiI2CSetup (DEVICE_ADDR);
үшін(;;){
үшін (i = 1; i <= 4; i ++)
{
printf («No $ d релесін қосу», i);
wiringPiI2CWriteReg8 (fd, i, ON);
ұйықтау (200);
printf («No $ d релесін өшіру», i);
wiringPiI2CWriteReg8 (fd, i, OFF);
ұйықтау (200);
}
}
қайтару 0;
}
Оны құрастырыңыз
gcc релесі.c -байланысPi -o релесі
Орындаңыз
./ реле
8 -қадам: Python бағдарламасы (Raspberry Pi)
Келесі кодты Python 3 көмегімен орындау және smbus кітапханасын орнату ұсынылады:
«Relay.py» деп аталатын файл жасаңыз және келесі кодты қойыңыз:
t ретінде импорттау уақыты
smbus импорттау
жүйені импорттау
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 -дан басқа:
басып шығару («Циклден шығу»)
sys.exit ()
* Оны сақтап, python3 ретінде іске қосыңыз:
python3 релесі.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 {
// реле регистрінің мекенжайы.
public static final int 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;
public 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);
}
}
Ұсынылған:
ШОТҚОРЛЫҚ ШЕКТЕУ ЖӘНЕ ИНВЕНТОРЛЫҚ БАСҚАРУ ЖҮЙЕСІ: 3 қадам
ШОТҚОРЛЫҚ ШЕКТЕУ ЖӘНЕ ИНВЕНТОРЛЫҚ БАСҚАРУ ЖҮЙЕСІ: Осы нұсқаулықпен мен сізге MS Access көмегімен шот -фактуралар мен қорларды басқару жүйесін құру туралы түсінік беремін. Бұл өте қарапайым және сізге қосымша компьютерлік немесе бағдарламалық білім қажет емес. Кіру, кестелер. формалар мен есептер
Компьютердің RGB басқару жүйесі Arduino көмегімен: 3 қадам
Arduino көмегімен компьютердің RGB басқаруы: сіздің ойын компьютеріңізде RGB жоқ па? Біраз сатып алыңыз! Бірақ егер сіздің аналық платаңыз оны қолдамаса ше? Жақсы … Өз контроллеріңізді жасаңыз
Жарықты көзбен басқару: 9 қадам (суреттермен)
Шамдарды сіздің көзіңізбен бақылау: Бұл семестрде колледжде мен биомедицинадағы аспаптар деп аталатын сабаққа қатыстым, онда мен медициналық қосымшалар үшін сигналдарды өңдеудің негізін үйрендім. Сыныптың соңғы жобасы үшін менің команда EOG (электрокулография) технологиясы бойынша жұмыс жасады. Эссенти
ESP8266 RGB LED STRIP WIFI басқару - NODEMCU Wifi арқылы басқарылатын жарықдиодты жолақ үшін IR қашықтан басқару құралы ретінде - RGB LED STRIP смартфонды басқару: 4 қадам
ESP8266 RGB LED STRIP WIFI басқару | NODEMCU Wifi арқылы басқарылатын жарықдиодты жолақ үшін IR қашықтан басқару құралы ретінде | Смартфонды RGB LED STRIP басқару: Сәлеметсіздер ме, балалар, бұл оқулықта біз nodemcu немесе esp8266 -ды RGB жарықдиодты жолағын басқару үшін инфрақызыл қашықтан басқару құралы ретінде қолдануды үйренеміз, ал Nodemcu смартфон Wi -Fi арқылы басқарылады. Негізінде сіз RGB LED STRIP -ті смартфонмен басқара аласыз
6LoWPAN көмегімен MQTT жарықты басқару: 5 қадам (суреттермен)
6LoWPAN көмегімен MQTT жарықты басқару: " Бес күнде IoT " кітабына сәйкес; және github мысалында, бұл демо ubidot -тан айнымалы команданы қолдануды жүзеге асырады және сандық жарық сенсорын оқиды