Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Wiedza o 4-kanałowej płytce przekaźnikowej serii DockerPi
- Krok 2: Funkcje
- Krok 3: Mapa adresów urządzeń
- Krok 4: Podłącz przekaźnik do uchwytu żarówki zasilanego z głównego źródła elektrycznego
- Krok 5: Konfiguracja I2C (Raspberry Pi)
- Krok 6: Bezpośrednie sterowanie bez programowania (Raspberry Pi)
- Krok 7: Program w języku C (Raspberry Pi)
- Krok 8: Programowanie w Pythonie (Raspberry Pi)
- Krok 9: Program w Javie (Raspberry Pi)
Wideo: System sterowania światłami: 9 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
Ostatnio pracowałem nad zrozumieniem mikrokontrolerów i urządzeń opartych na IOT dla celów badań bezpieczeństwa. Pomyślałem więc o zbudowaniu małego systemu automatyki domowej do ćwiczeń. Jeszcze tego nie ukończyłem, ale na początek podzielę się tym, jak używałem Raspberry Pi 2 i kilku innych komponentów elektrycznych do sterowania oświetleniem mojego pokoju w tym poście. Ponadto nie będę tutaj mówił o wstępnej konfiguracji dla Raspberry, możesz znaleźć różne samouczki na ten temat.
Ale w tym projekcie przedstawię Ci ten produkt z serii docker pi.
Kieszonkowe dzieci
Lista komponentów:
- 1 x Raspberry Pi 3B+/3B/Zero/Zero W/4B/
- 1x16 GB karta TF klasy 10
- 1 x 4-kanałowa płyta przekaźnikowa serii DockerPi (HAT)
- Zasilacz 1x5 [email protected], który pochodzi z 52Pi
- 4 x pasek świetlny
- 1 x złącze DC
- Zasilanie 1 x 12V do listew świetlnych.
- kilka przewodów.
Krok 1: Wiedza o 4-kanałowej płytce przekaźnikowej serii DockerPi
DockerPi 4 Channel Relay jest członkiem serii DockerPi, częściej używanej w aplikacjach IOT.
Przekaźnik 4-kanałowy DockerPi może przekazywać AC/DC zamiast tradycyjnych przełączników, aby osiągnąć więcej pomysłów. Przekaźnik 4-kanałowy DockerPi może układać w stosy do 4 i można go układać w stos z inną płytą rozszerzeń DockerPi. Jeśli potrzebujesz działać przez długi czas, zalecamy również użycie naszej karty rozszerzeń DockerPi Power, aby zapewnić większą moc.
UWAGA PRZESTROGA Zanim przejdziemy dalej, chciałbym OSTRZEŻENIE przed NIEBEZPIECZEŃSTWEM eksperymentowania z „Elektrycznością Sieciową”. Jeśli coś pójdzie nie tak, najgorszą konsekwencją może być śmierć lub przynajmniej spalenie własnego domu. Więc proszę NIE PRÓBUJ robić niczego wymienionego w tym artykule, jeśli nie rozumiesz, co robisz, lub lepiej skorzystaj z pomocy doświadczonego elektryka. Zacznijmy.
Krok 2: Funkcje
- Seria DockerPi
- Programowalny
- Sterowanie bezpośrednio (bez programowania)
- Rozszerz piny GPIO
- 4-kanałowy przekaźnik
- Obsługa 4 Alt I2C Addr
- Obsługa diod LED stanu przekaźnika
- Obsługa 3A 250 V AC
- 3A 30V DC
- Można łączyć w stos z inną płytą stosu Niezależne od sprzętu płyty głównej (wymaga obsługi I2C)
Krok 3: Mapa adresów urządzeń
Ta płytka ma oddzielny adres rejestru i możesz sterować każdym przekaźnikiem za pomocą jednego polecenia.
Inne wymagania:
Podstawowe zrozumienie Pythona, C, powłoki, Javy lub dowolnego innego języka (będę używał C, python, powłoki i javy)
- Podstawowe zrozumienie systemów Linux
- Obecność umysłu
Teraz, zanim przejdziesz dalej, musisz zrozumieć komponenty elektryczne, których będziemy używać:
1. Przekaźnik:
Przekaźnik jest urządzeniem elektrycznym, które jest zwykle używane do sterowania wysokimi napięciami przy użyciu bardzo niskiego napięcia jako wejścia. Składa się z cewki owiniętej wokół bieguna i dwóch małych metalowych klapek (węzłów), które służą do zamykania obwodu. Jeden z węzłów jest nieruchomy, a drugi ruchomy. Za każdym razem, gdy przez cewkę przechodzi prąd elektryczny, wytwarza pole magnetyczne i przyciąga ruchomy węzeł w kierunku węzła statycznego, a obwód zostaje ukończony. Tak więc, po prostu przykładając małe napięcie do zasilania cewki, możemy faktycznie zakończyć obwód, aby przemieściło się wysokie napięcie. Ponadto, ponieważ węzeł statyczny nie jest fizycznie połączony z cewką, jest bardzo mniejsze prawdopodobieństwo, że mikrokontroler zasilający cewkę ulegnie uszkodzeniu, jeśli coś pójdzie nie tak.
Krok 4: Podłącz przekaźnik do uchwytu żarówki zasilanego z głównego źródła elektrycznego
Teraz do trudnej części, podłączymy przekaźnik do oprawki żarówki zasilanej przez główne zasilanie elektryczne. Ale najpierw chcę przedstawić krótkie pojęcie o tym, jak światła są włączane i wyłączane za pomocą bezpośredniego zasilania.
Teraz, gdy żarówka jest podłączona do głównego zasilania, zwykle robimy to, podłączając do żarówki dwa przewody. jeden z przewodów to przewód „neutralny”, a drugi to przewód „ujemny”, który faktycznie przewodzi prąd, a do całego obwodu dodany jest przełącznik do sterowania mechanizmem włączania i wyłączania. Tak więc, gdy przełącznik jest podłączony (lub WŁĄCZONY), prąd przepływa przez żarówkę i przewód neutralny, uzupełniając obwód. To włącza żarówkę. Po wyłączeniu przełącznika przerywa obwód i żarówka gaśnie. Oto mały schemat obwodu, który to wyjaśni:
Teraz, w naszym eksperymencie, musimy sprawić, by „przewód ujemny” przeszedł przez nasz przekaźnik, aby przerwać obwód i kontrolować przepływ mocy za pomocą przełączania przekaźnika. Tak więc, gdy przekaźnik się włączy, powinien zakończyć obwód, a żarówka powinna się włączyć i na odwrót. Zapoznaj się z poniższym schematem dla pełnego obwodu.
Krok 5: Konfiguracja I2C (Raspberry Pi)
Uruchom sudo raspi-config i postępuj zgodnie z instrukcjami, aby zainstalować obsługę i2c dla jądra ARM i jądra linux
Przejdź do opcji interfejsu
Krok 6: Bezpośrednie sterowanie bez programowania (Raspberry Pi)
Włącz przekaźnik kanału nr 1
i2cset -y 1 0x10 0x01 0xFF
Wyłącz przekaźnik kanału nr 1
i2cset -y 1 0x10 0x01 0x00
Włącz przekaźnik kanału nr 2
i2cset -y 1 0x10 0x02 0xFF
Wyłącz przekaźnik kanału nr 2
i2cset -y 1 0x10 0x02 0x00
Włącz przekaźnik kanału nr 3
i2cset -y 1 0x10 0x03 0xFF
Wyłącz przekaźnik kanału nr 3
i2cset -y 1 0x10 0x03 0x00
Włącz przekaźnik kanału nr 4
i2cset -y 1 0x10 0x04 0xFF
Wyłącz przekaźnik kanału nr 4
i2cset -y 1 0x10 0x04 0x00
Krok 7: Program w języku C (Raspberry Pi)
Utwórz kod źródłowy i nazwij go „relay.c”
#włączać
#włączać
#włączać
#define DEVCIE_ADDR 0x10
#define PRZEKAŹNIK1 0x01
#define PRZEKAŹNIK2 0x02
#define PRZEKAŹNIK3 0x03
#define PRZEKAŹNIK4 0x04
#define ON 0xFF
#definiuj WYŁ. 0x00
int główny (unieważniony)
{
printf("Włącz przekaźniki w C\n");
int fd;
int i = 0;
fd = okablowaniePiI2CSetup(ADDR_URZĄDZENIA);
dla(;;){
dla (i=1; i<=4; i++)
{
printf("włącz przekaźnik nr $d", i);
okablowaniePiI2CWriteReg8(fd, i, ON);
sen (200);
printf("wyłącz przekaźnik nr $d", i);
okablowaniePiI2CWriteReg8(fd, i, OFF);
sen (200);
}
}
zwróć 0;
}
Skompiluj to
gcc relay.c -lwiringPi -o relay
Wykonaj to
./przekaźnik
Krok 8: Programowanie w Pythonie (Raspberry Pi)
Poniższy kod zaleca się wykonać przy użyciu Pythona 3 i zainstalować bibliotekę smbus:
Utwórz plik o nazwie „relay.py” i wklej następujący kod:
czas importu jako t
importuj smbus
system importu
URZĄDZENIE_BUS = 1
ADRES_URZĄDZENIA = 0x10
autobus = smbus. SMBus(DEVICE_BUS)
podczas gdy prawda:
próbować:
dla i w zakresie (1, 5):
bus.write_byte_data(DEVICE_ADDR, i, 0xFF)
t.sen(1)
bus.write_byte_data(DEVICE_ADDR, ja, 0x00)
t.sen(1)
z wyjątkiem KeyboardInterrupt jako e:
print("Zamknij pętlę")
sys.exit()
* Zapisz go, a następnie uruchom jako python3:
python3 przekaźnik.py
Krok 9: Program w Javie (Raspberry Pi)
Utwórz nowy plik o nazwie: I2CRelay.java i wklej następujący kod:
import java.io. IOException;
import java.util. Arrays;
importuj com.pi4j.io.i2c. I2CBus;
importuj com.pi4j.io.i2c. I2CDurządzenie;
importuj com.pi4j.io.i2c. I2CFabryka;
importuj com.pi4j.io.i2c. I2CFactory. UnsupportedBusNumberException;
importuj com.pi4j.platform. PlatformAlreadyAssignedException;
importuj com.pi4j.util. Console;
klasa publiczna I2CRlay {
// adres rejestru przekaźnika.
publiczny statyczny końcowy int DOCKER_PI_RELAY_ADDR = 0x10;
// kanał przekaźnika.
publiczny statyczny bajt końcowy DOCKER_PI_RELAY_1 = (bajt)0x01;
publiczny statyczny bajt końcowy DOCKER_PI_RELAY_2 = (bajt)0x02;
publiczny statyczny bajt końcowy DOCKER_PI_RELAY_3 = (bajt)0x03;
publiczny statyczny bajt końcowy DOCKER_PI_RELAY_4 = (bajt)0x04;
// Stan przekaźnika
publiczny statyczny bajt końcowy DOCKER_PI_RELAY_ON = (bajt)0xFF;
publiczny statyczny bajt końcowy DOCKER_PI_RELAY_OFF = (bajt)0x00;
public static void main(String args) rzuca InterruptedException, PlatformAlreadyAssignedException, IOException, UnsupportedBusNumberException {
ostateczna konsola konsoli = nowa konsola();
I2CBus i2c = I2CFactory.getInstance(I2CBus. BUS_1);
Urządzenie I2CDevice = i2c.getDevice(DOCKER_PI_RELAY_ADDR);
console.println("Włącz przekaźnik!");
urządzenie.write(DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_ON);
Wątek.sen(500);
console.println("Wyłącz przekaźnik!");
urządzenie.write(DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_OFF);
}
}
Zalecana:
Zasilany bateryjnie inteligentny przycisk Wi-Fi do sterowania światłami HUE: 5 kroków (ze zdjęciami)
Zasilany bateryjnie inteligentny przycisk Wi-Fi do sterowania światłami HUE: Ten projekt pokazuje, jak zbudować zasilany bateryjnie przycisk Wi-Fi IoT w mniej niż 10 minut. Przycisk kontroluje światła HUE nad IFTTT.Dzisiaj możesz budować urządzenia elektroniczne i łączyć je z innymi urządzeniami inteligentnego domu dosłownie w kilka minut. Co to jest
UŻYJ STONE HMI Stwórz system sterowania domem: 9 kroków
UŻYJ STONE HMI Stwórz system sterowania domem: Wprowadzenie do projektu Poniższy samouczek pokazuje, jak wykorzystać moduł wyświetlacza dotykowego STONE STVC050WT-01 do stworzenia prostego systemu sterowania urządzeniem gospodarstwa domowego. STONE STVC050WT - 01 moduł wyświetlacza dotykowego wsparcia ma 5 cali, rozdzielczość 480 * 272 na
Arduino - System sterowania ogrzewaniem: 7 kroków
Arduino - system sterowania ogrzewaniem: kontroluj temperaturę za pomocą elementu grzejnego, Arduino Pro Mini będzie sterował grzałką, aby osiągnąć ustawioną temperaturę, pokazuje również wykres temperatury za pomocą komputera (za pomocą Visual Studio) Ten projekt można nazwać kontrolerem temperatury
Internetowy system IOT do sterowania teleskopem: 10 kroków
Internetowy system IOT do sterowania teleskopem: zaprojektowaliśmy i stworzyliśmy internetowy system IOT do sterowania dowolnym rodzajem teleskopu przez Internet i uzyskania widoku z teleskopu przy minimalnych kosztach Naszą motywacją do realizacji tego projektu było to, że mieliśmy w naszym uczelnia inżynierska as
Zwykły zestaw zdalnego sterowania przekształcony w czterokanałowy pilot zdalnego sterowania RC: 4 kroki
Zwykły zestaw zdalnego sterowania przekształcony w czterokanałowy pilot zdalnego sterowania RC: 如何将通用遥控器套件转换为玩具模型中使用的四通道遥控器。遥控器套件非常便宜。它采用2262和2272芯片和433个模块构建。 ja