Përmbajtje:

Sistemi i Kontrollit të Dritave: 9 Hapa
Sistemi i Kontrollit të Dritave: 9 Hapa

Video: Sistemi i Kontrollit të Dritave: 9 Hapa

Video: Sistemi i Kontrollit të Dritave: 9 Hapa
Video: Экзамен в DMV. 15 ошибок. Авто-Словарь на английском. Ссылки внизу. 2024, Nëntor
Anonim
Sistemi i Kontrollit të Dritave
Sistemi i Kontrollit të Dritave

Kohët e fundit po punoja për të kuptuar Mikrokontrolluesit dhe pajisjet e bazuara në IOT për qëllime të Kërkimit të Sigurisë. Kështu, mendova të ndërtoja një sistem të vogël të automatizimit të shtëpisë për praktikë. Unë ende nuk e kam përfunduar këtë, por për fillimin do të tregoj se si kam përdorur Raspberry Pi 2 dhe disa përbërës të tjerë elektrikë për të kontrolluar ndriçimin e dhomës sime në këtë postim. Gjithashtu, nuk do të flas këtu për konfigurimin fillestar për mjedër, mund të gjeni mësime të ndryshme për këtë.

Por në këtë projekt, unë do t'ju prezantoj këtë produkt të serisë docker pi.

Furnizimet

Lista e komponentëve:

  • 1 x Raspberry Pi 3B+/3B/Zero/Zero W/4B/
  • 1 x Kartë TF e Klasës 10 me 16 GB
  • 1 x DockerPi seri 4 bordi i stafetave të transmetimit (HAT)
  • Furnizimi me energji 1 x [email protected] i cili është nga 52Pi
  • 4 x Rrip i lehtë
  • 1 x lidhës DC
  • Furnizimi me energji 1 x 12V për shiritat e dritës.
  • disa tela.

Hapi 1: Njohja rreth Bordit të Reletës së Kanaleve të Serisë 4 të DockerPi

Duke ditur për bordin e stafetave të serive 4 të DockerPi Series
Duke ditur për bordin e stafetave të serive 4 të DockerPi Series
Duke ditur për bordin e stafetave të serive 4 të DockerPi Series
Duke ditur për bordin e stafetave të serive 4 të DockerPi Series
Duke ditur për bordin e stafetave të serive 4 të DockerPi Series
Duke ditur për bordin e stafetave të serive 4 të DockerPi Series

Rele DockerPi 4 Channel është anëtar i Serisë DockerPi, i përdorur më shpesh në aplikimet IOT.

Rele DockerPi 4 Channel mund të transmetojë AC/DC, në vend të çelsave tradicionalë, për të arritur më shumë ide. Rele DockerPi 4 Channel mund të grumbullojë deri në 4, dhe mund të grumbullohet me bordin tjetër të zgjerimit të DockerPi. Nëse keni nevojë të vraponi për një kohë të gjatë, ne gjithashtu ju rekomandojmë që të përdorni bordin tonë të zgjerimit të DockerPi Power për të siguruar më shumë energji.

SH NOTNIM KUJDES Para se të vazhdojmë më tej, do të doja t'ju paralajmëroja për RREZIKIN e eksperimentimit me "Energjinë elektrike". Nëse diçka shkon keq, pasoja më e keqe mund të jetë vdekja ose së paku djegia e shtëpisë tuaj. Pra, ju lutemi MOS MONDONI të bëni asgjë të përmendur në këtë artikull nëse nuk e kuptoni se çfarë po bëni ose më mirë merrni ndihmën e një elektricisti me përvojë. Le të fillojmë.

Hapi 2: Karakteristikat

Karakteristikat
Karakteristikat
Karakteristikat
Karakteristikat
Karakteristikat
Karakteristikat
  • Seria DockerPi
  • E programueshme
  • Kontroll direkt (pa programim)
  • Zgjatni kunjat e GPIO
  • Stafetë me 4 kanale
  • 4 Mbështetje Alt I2C Addr
  • Statusi i stafetës mbështet mbështetjen
  • Mbështetje 3A 250V AC
  • 3A 30V DC
  • Mund të Stack me bordin tjetër Stack Pavarësisht nga pajisja e pllakës kryesore (kërkon mbështetje I2C)

Hapi 3: Harta e Adresës së Pajisjes

Harta e Adresës së Pajisjes
Harta e Adresës së Pajisjes
Harta e Adresës së Pajisjes
Harta e Adresës së Pajisjes

Ky bord ka një adresë të veçantë regjistri, dhe ju mund të kontrolloni çdo stafetë me një komandë.

Kërkesa të tjera:

Kuptimi themelor i Python ose C ose shell ose Java ose ndonjë gjuhë tjetër (do të përdor C, python, shell dhe java)

  • Kuptimi themelor i sistemeve Linux
  • Prania e Mendjes

Tani, para se të ecni përpara do t'ju duhet të kuptoni përbërësit elektrikë që do të përdorim:

1. Stafetë:

Një stafetë është një pajisje elektrike e cila në përgjithësi përdoret për të kontrolluar tensione të larta duke përdorur tension shumë të ulët si hyrje. Kjo përbëhet nga një spirale e mbështjellë rreth një shtylle dhe një dy palosje (nyje) të vogla metalike që përdoren për të mbyllur qarkun. Njëra nga nyjet është fikse dhe tjetra është e lëvizshme. Sa herë që një energji elektrike kalon nëpër spirale, ajo krijon një fushë magnetike dhe tërheq nyjen lëvizëse drejt nyjes statike dhe qarku përfundon. Pra, vetëm duke aplikuar një tension të vogël për të fuqizuar spiralen, ne në fakt mund të përfundojmë qarkun për të udhëtuar tensioni i lartë. Gjithashtu, meqenëse nyja statike nuk është e lidhur fizikisht me spiralen, ka shumë më pak mundësi që Mikrokontrolluesi që fuqizon spiralën të dëmtohet nëse diçka nuk shkon.

Hapi 4: Lidheni stafetën me Mbajtësin e llambës të mundësuar nga Furnizimi Elektrik Kryesor

Lidheni stafetën me mbajtësin e llambës të mundësuar nga furnizimi kryesor me energji elektrike
Lidheni stafetën me mbajtësin e llambës të mundësuar nga furnizimi kryesor me energji elektrike
Lidheni stafetën me mbajtësin e llambës të mundësuar nga furnizimi kryesor me energji elektrike
Lidheni stafetën me mbajtësin e llambës të mundësuar nga furnizimi kryesor me energji elektrike

Tani në pjesën e ndërlikuar, Ne do ta lidhim stafetën me mbajtësen e Llambës të mundësuar nga furnizimi me Main Electric. Por, së pari dua t'ju jap një ide të shkurtër se si ndizen dhe fiken dritat përmes furnizimit me energji direkte.

Tani, kur llamba është e lidhur me furnizimin kryesor, ne zakonisht e bëjmë këtë duke lidhur dy tela me llambën. njëra prej telave është një tel "Neutral" dhe një tjetër është tela "Negativ" i cili në fakt mbart rrymën, gjithashtu ka një çelës të shtuar në të gjithë qarkun për të kontrolluar mekanizmin ON / OFF. Pra, kur swith është i lidhur (Ose i ndezur) rryma rrjedh nëpër llambë dhe tela neutrale, duke përfunduar qarkun. Kjo e ndez llambën. Kur kaloni çelësin, ai prish qarkun dhe llamba fiket. Këtu është një diagram qark i vogël për ta shpjeguar këtë:

Tani, për eksperimentin tonë, do të na duhet të bëjmë që "Teli negativ" të kalojë përmes stafetës sonë për të prishur qarkun dhe për të kontrolluar rrjedhën e energjisë duke përdorur ndërrimin e stafetës. Pra, kur stafeta të ndizet, duhet të përfundojë qarkun dhe llamba duhet të ndizet dhe anasjelltas. Referojuni diagramit të mëposhtëm për qarkun e plotë.

Hapi 5: Konfigurimi i I2C (Raspberry Pi)

Konfigurimi i I2C (Raspberry Pi)
Konfigurimi i I2C (Raspberry Pi)
Konfigurimi i I2C (Raspberry Pi)
Konfigurimi i I2C (Raspberry Pi)
Konfigurimi i I2C (Raspberry Pi)
Konfigurimi i I2C (Raspberry Pi)
Konfigurimi i I2C (Raspberry Pi)
Konfigurimi i I2C (Raspberry Pi)

Drejtoni sudo raspi-config dhe ndiqni udhëzimet për të instaluar mbështetjen i2c për ARM core dhe linux kernel

Shkoni te Opsionet e Ndërfaqes

Hapi 6: Kontrolli i drejtpërdrejtë pa programim (Raspberry Pi)

Ndizni stafetën e kanalit Nr.1

i2cset -y 1 0x10 0x01 0xFF

Fikeni stafetën e kanalit Nr.1

i2cset -y 1 0x10 0x01 0x00

Ndizni stafetën e kanalit Nr.2

i2cset -y 1 0x10 0x02 0xFF

Fikeni stafetën e kanalit Nr.2

i2cset -y 1 0x10 0x02 0x00

Ndizni stafetën e kanalit Nr.3

i2cset -y 1 0x10 0x03 0xFF

Fikeni stafetën e kanalit Nr.3

i2cset -y 1 0x10 0x03 0x00

Ndizni stafetën e kanalit Nr.4

i2cset -y 1 0x10 0x04 0xFF

Fikeni stafetën e kanalit Nr.4

i2cset -y 1 0x10 0x04 0x00

Hapi 7: Programi në gjuhën C (Raspberry Pi)

Krijoni kodin burimor dhe emërtojeni "relay.c"

#përfshi

#përfshi

#përfshi

#përcakto DEVCIE_ADDR 0x10

#përcakto RELAY1 0x01

#përcakto RELAY2 0x02

#përcakto RELAY3 0x03

#përcakto RELAY4 0x04

#përcakto ON 0xFF

#përcakto ZBRITJE 0x00

int kryesore (e pavlefshme)

{

printf ("Aktivizo reletë në C / n");

int fd;

int i = 0;

fd = instalime elektrikePiI2CSetup (DEVICE_ADDR);

për (;;) {

për (i = 1; i <= 4; i ++)

{

printf ("aktivizoni stafetën Nr. $ d", i);

instalime elektrikePiI2CWriteReg8 (fd, i, ON);

gjumë (200);

printf ("fikeni stafetën Nr. $ d", i);

instalime elektrikePiI2CWriteReg8 (fd, i, OFF);

gjumë (200);

}

}

kthimi 0;

}

Hartoje atë

stafetë gcc.c -lwiringPi -o stafetë

E ekzekutoni

./ stafetë

Hapi 8: Program në Python (Raspberry Pi)

Kodi i mëposhtëm rekomandohet të ekzekutohet duke përdorur Python 3 dhe të instaloni bibliotekën smbus:

Krijoni një skedar të quajtur: "relay.py" dhe ngjisni kodin e mëposhtëm:

koha e importit si t

import smbus

import sys

DEVICE_BUS = 1

DEVICE_ADDR = 0x10

autobus = smbus. SMBus (DEVICE_BUS)

ndërsa e vërtetë:

provo:

për i në rang (1, 5):

bus.write_byte_data (DEVICE_ADDR, i, 0xFF)

t. gjumë (1)

bus.write_byte_data (DEVICE_ADDR, i, 0x00)

t. gjumë (1)

përveç Tastiera Ndërprerë si e:

print ("Lëre lakin")

sys.exit ()

* Ruajeni atë dhe më pas drejtojeni si python3:

stafetë python3.py

Hapi 9: Program në Java (Raspberry Pi)

Krijoni një skedar të ri të quajtur: I2CRelay.java dhe ngjisni kodin e mëposhtëm:

import java.io. IOException;

import java.util. Rradhët;

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import com.pi4j.io.i2c. I2CFactory. UnsupportedBusNumberException;

import com.pi4j.platform. PlatformAlreadyAssignedException;

import com.pi4j.util. Konsolë;

klasa publike I2CRelay {

// adresa e regjistrit të stafetës.

final publik statik int DOCKER_PI_RELAY_ADDR = 0x10;

// kanali i stafetës.

bajt publik përfundimtar statik DOCKER_PI_RELAY_1 = (bajt) 0x01;

bajt përfundimtar statik publik DOCKER_PI_RELAY_2 = (bajt) 0x02;

bajt publik përfundimtar statik DOCKER_PI_RELAY_3 = (bajt) 0x03;

bajt përfundimtar statik publik DOCKER_PI_RELAY_4 = (bajt) 0x04;

// Statusi i stafetës

bajt përfundimtar statik publik DOCKER_PI_RELAY_ON = (bajt) 0xFF;

bajt përfundimtar statik publik DOCKER_PI_RELAY_OFF = (bajt) 0x00;

public static void main (String args) hedh InterruptException, PlatformAlreadyAssignedException, IOException, UnsupportedBusNumberException {

tastiera përfundimtare e tastierës = Konsola e re ();

I2CBus i2c = I2CFactory.getInstance (I2CBus. BUS_1);

Pajisja I2CDevice = i2c.getDevice (DOCKER_PI_RELAY_ADDR);

console.println ("Aktivizo stafetën!");

pajisje.shkruaj (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_ON);

Thread.sleep (500);

console.println ("Fikeni stafetën!");

pajisje.shkruaj (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_OFF);

}

}

Recommended: