Obsah:

Systém ovládání světel: 9 kroků
Systém ovládání světel: 9 kroků

Video: Systém ovládání světel: 9 kroků

Video: Systém ovládání světel: 9 kroků
Video: ANDROID MÁ JEDNO SKRYTÉ NASTAVENÍ 🤖 2024, Listopad
Anonim
Systém ovládání světel
Systém ovládání světel

Nedávno jsem pracoval na porozumění mikrokontrolérům a zařízením založeným na IOT pro účely výzkumu bezpečnosti. Napadlo mě tedy vybudovat malý systém domácí automatizace pro praxi. Ještě to nedokončím, ale pro spuštění budu sdílet, jak jsem v tomto příspěvku použil Raspberry Pi 2 a některé další elektrické komponenty k ovládání osvětlení mého pokoje. Také zde nebudu mluvit o Počátečním nastavení pro Raspberry, na to můžete najít různé návody.

Ale v tomto projektu vám představím tento produkt řady docker pi.

Zásoby

Seznam součástí:

  • 1 x Raspberry Pi 3B+/3B/Zero/Zero W/4B/
  • 1 x 16 GB karta TF třídy 10
  • 1 x 4kanálová reléová deska (HAT) DockerPi
  • 1 x 5v@2,5A napájecí zdroj, který je od 52Pi
  • 4 x světelný pás
  • 1 x DC konektor
  • 1 x 12V napájecí zdroj pro světelné pásy.
  • několik drátů.

Krok 1: Vědět o 4kanálové reléové desce DockerPi

Vědět o 4kanálové reléové desce DockerPi
Vědět o 4kanálové reléové desce DockerPi
Vědět o 4kanálové reléové desce DockerPi
Vědět o 4kanálové reléové desce DockerPi
Vědět o 4kanálové reléové desce DockerPi
Vědět o 4kanálové reléové desce DockerPi

4kanálové relé DockerPi je členem řady DockerPi, která se běžně používá v aplikacích IOT.

4kanálové relé DockerPi může přenášet AC/DC namísto tradičních přepínačů, aby dosáhlo více nápadů. 4kanálové relé DockerPi lze stohovat až na 4 a lze jej stohovat s další rozšiřující deskou DockerPi. Pokud potřebujete běžet delší dobu, doporučujeme také použít naši rozšiřující desku DockerPi Power, která zajistí větší výkon.

UPOZORNĚNÍ UPOZORNĚNÍ Než budeme pokračovat dále, chtěl bych VAROVAT před NEBEZPEČÍM experimentování s „hlavní elektrickou energií“. Pokud se něco pokazí, nejhorším důsledkem může být smrt nebo alespoň spálení vašeho domu. NEPOKOUŠEJTE SE tedy udělat cokoli zmíněného v tomto článku, pokud nerozumíte tomu, co děláte, nebo raději využijte pomoc zkušeného elektrikáře. Začněme.

Krok 2: Funkce

Funkce
Funkce
Funkce
Funkce
Funkce
Funkce
  • DockerPi Series
  • Programovatelný
  • Přímé ovládání (bez programování)
  • Rozšiřte GPIO piny
  • 4kanálové relé
  • 4 Podpora Alt I2C Addr
  • Podpora stavu reléových relé
  • 3A 250V AC podpora
  • 3A 30V DC
  • Lze stohovat s jinou deskou Stack Nezávisle na hardwaru základní desky (vyžaduje podporu I2C)

Krok 3: Mapa adresy zařízení

Mapa adresy zařízení
Mapa adresy zařízení
Mapa adresy zařízení
Mapa adresy zařízení

Tato deska má samostatnou adresu registru a každé relé můžete ovládat jediným příkazem.

Další požadavky:

Základní znalost Pythonu nebo C nebo shellu nebo Javy nebo jakéhokoli jiného jazyka (budu používat C, python, shell a java)

  • Základní znalosti systémů Linux
  • Přítomnost mysli

Nyní, než budete pokračovat, budete muset porozumět elektrickým komponentům, které budeme používat:

1. Relé:

Relé je elektrické zařízení, které se obecně používá k ovládání vysokého napětí pomocí velmi nízkého napětí jako vstupu. Skládá se z cívky omotané kolem pólu a dvou malých kovových klapek (uzlů), které slouží k uzavření obvodu. Jeden z uzlů je pevný a druhý je pohyblivý. Kdykoli prochází elektřina cívkou, vytvoří magnetické pole a přitáhne pohybující se uzel směrem ke statickému uzlu a obvod se dokončí. Takže pouhým použitím malého napětí k napájení cívky můžeme skutečně dokončit obvod pro cestování vysokého napětí. Jelikož statický uzel není fyzicky připojen k cívce, je velmi malá pravděpodobnost, že se mikrokontrolér napájející cívku poškodí, pokud se něco pokazí.

Krok 4: Připojte relé k držáku žárovky napájenému z hlavního elektrického zdroje

Připojte relé k držáku žárovky napájenému z hlavního elektrického zdroje
Připojte relé k držáku žárovky napájenému z hlavního elektrického zdroje
Připojte relé k držáku žárovky napájenému z hlavního elektrického zdroje
Připojte relé k držáku žárovky napájenému z hlavního elektrického zdroje

Nyní k choulostivé části připojíme relé k držáku žárovky napájenému z hlavního elektrického napájení. Nejprve vám však chci poskytnout krátkou představu o tom, jak se světla zapínají a vypínají pomocí přímého napájení.

Nyní, když je žárovka připojena k hlavnímu zdroji, to obvykle děláme připojením dvou vodičů k žárovce. jeden z vodičů je „neutrální“vodič a druhý je „negativní“vodič, který ve skutečnosti nese proud, a také je do celého obvodu přidán spínač pro ovládání mechanismu ZAPNOUT a VYPNOUT. Takže když je swith připojen (nebo zapnut), proud protéká žárovkou a neutrálním vodičem, čímž je obvod dokončen. To zapne žárovku. Když je vypínač vypnutý, přeruší obvod a žárovka zhasne. Zde je malé schéma zapojení, které to vysvětluje:

Nyní pro náš experiment budeme muset nechat „negativní vodič“projít naším relé, aby se přerušil obvod a řídil tok energie pomocí přepínání relé. Když se relé zapne, mělo by to dokončit obvod a žárovka by se měla rozsvítit a naopak. Úplný obvod viz níže uvedený diagram.

Krok 5: Konfigurace I2C (Raspberry Pi)

Konfigurace I2C (Raspberry Pi)
Konfigurace I2C (Raspberry Pi)
Konfigurace I2C (Raspberry Pi)
Konfigurace I2C (Raspberry Pi)
Konfigurace I2C (Raspberry Pi)
Konfigurace I2C (Raspberry Pi)
Konfigurace I2C (Raspberry Pi)
Konfigurace I2C (Raspberry Pi)

Spusťte sudo raspi-config a podle pokynů nainstalujte podporu i2c pro jádro ARM a linuxové jádro

Přejděte na Možnosti rozhraní

Krok 6: Přímé ovládání bez programování (Raspberry Pi)

Zapněte relé kanálu č. 1

i2cset -y 1 0x10 0x01 0xFF

Vypněte relé kanálu č. 1

i2cset -y 1 0x10 0x01 0x00

Zapněte relé kanálu č. 2

i2cset -y 1 0x10 0x02 0xFF

Vypněte relé kanálu č. 2

i2cset -y 1 0x10 0x02 0x00

Zapněte relé kanálu č. 3

i2cset -y 1 0x10 0x03 0xFF

Vypněte relé kanálu č. 3

i2cset -y 1 0x10 0x03 0x00

Zapněte relé kanálu č. 4

i2cset -y 1 0x10 0x04 0xFF

Vypněte relé kanálu č. 4

i2cset -y 1 0x10 0x04 0x00

Krok 7: Program v jazyce C (Raspberry Pi)

Vytvořte zdrojový kód a pojmenujte jej „relay.c“

#zahrnout

#zahrnout

#zahrnout

#define DEVCIE_ADDR 0x10

#define RELAY1 0x01

#define RELAY2 0x02

#define RELAY3 0x03

#define RELAY4 0x04

#define ON 0xFF

#definovat VYPNUTO 0x00

int main (neplatné)

{

printf ("Zapnout relé v C / n");

int fd;

int i = 0;

fd = wiringPiI2CSetup (DEVICE_ADDR);

pro(;;){

pro (i = 1; i <= 4; i ++)

{

printf ("zapnout relé č. $ d", i);

wiringPiI2CWriteReg8 (fd, i, ON);

spánek (200);

printf ("vypnout relé č. $ d", i);

wiringPiI2CWriteReg8 (fd, i, OFF);

spánek (200);

}

}

návrat 0;

}

Zkompilovat to

relé gcc.c -lwiringPi -o relé

Exec It

./relé

Krok 8: Program v Pythonu (Raspberry Pi)

Následující kód se doporučuje provést pomocí Pythonu 3 a nainstalovat knihovnu smbus:

Vytvořte soubor s názvem: "relay.py" a vložte následující kód:

čas importu jako t

importovat smbus

importovat sys

DEVICE_BUS = 1

DEVICE_ADDR = 0x10

bus = smbus. SMBus (DEVICE_BUS)

zatímco pravda:

Snaž se:

pro i v rozsahu (1, 5):

bus.write_byte_data (DEVICE_ADDR, i, 0xFF)

t. spánek (1)

bus.write_byte_data (DEVICE_ADDR, i, 0x00)

t. spánek (1)

kromě KeyboardInterrupt jako e:

tisk („Ukončit smyčku“)

sys.exit ()

* Uložte jej a poté spusťte jako python3:

python3 relay.py

Krok 9: Programujte v Javě (Raspberry Pi)

Vytvořte nový soubor s názvem: I2CRelay.java a vložte následující kód:

import java.io. IOException;

import java.util. Arrays;

importovat com.pi4j.io.i2c. I2CBus;

importovat com.pi4j.io.i2c. I2CDevice;

importovat com.pi4j.io.i2c. I2CFactory;

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

importovat com.pi4j.platform. PlatformAlreadyAssignedException;

importovat com.pi4j.util. Console;

veřejná třída I2CRelay {

// adresa registru relé.

public static final int DOCKER_PI_RELAY_ADDR = 0x10;

// kanál relé.

public static final byte DOCKER_PI_RELAY_1 = (byte) 0x01;

public static final byte DOCKER_PI_RELAY_2 = (byte) 0x02;

public static final byte DOCKER_PI_RELAY_3 = (byte) 0x03;

public static final byte DOCKER_PI_RELAY_4 = (byte) 0x04;

// Stav relé

public static final byte DOCKER_PI_RELAY_ON = (byte) 0xFF;

public static final byte DOCKER_PI_RELAY_OFF = (byte) 0x00;

public static void main (String args) hodí InterruptedException, PlatformAlreadyAssignedException, IOException, UnsupportedBusNumberException {

final Console console = new Console ();

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

Zařízení I2CDevice = i2c.getDevice (DOCKER_PI_RELAY_ADDR);

console.println („Zapnout relé!“);

device.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_ON);

Thread.sleep (500);

console.println („Vypnout relé!“);

device.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_OFF);

}

}

Doporučuje: