Spisu treści:
- Krok 1: Wymagany sprzęt
- Krok 2: Podłączenie sprzętu
- Krok 3: Komunikacja za pomocą protokołu I2C
- Krok 4: Programowanie modułu
- Krok 5: Tworzenie pliku i uruchamianie kodu
- Krok 6: Aplikacje
- Krok 7: Zasoby
Wideo: Automatyka domowa z Raspberry Pi przy użyciu płytki przekaźnikowej: 7 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
Duża liczba osób chce wysokiego komfortu, ale w rozsądnych cenach. Czujemy się leniwi, aby oświetlać domy każdego wieczoru, kiedy zachodzi słońce i następnego ranka, ponownie wyłączając światła lub włączać/wyłączać klimatyzator/wentylator/grzałki, tak jak pogoda lub temperatura w pomieszczeniu.
Niedrogie rozwiązanie, aby uniknąć tej dodatkowej pracy polegającej na wyłączeniu urządzeń, gdy jest to wymagane, jest tutaj. Ma to na celu zautomatyzowanie domów przy stosunkowo bardzo niskich kosztach za pomocą prostych produktów typu plug and play. Działa tak, jak gdy temperatura rośnie lub spada, włącza odpowiednio klimatyzator lub grzałkę. Ponadto, w razie potrzeby, pomoże włączyć lub oświetlenie w domu bez ręcznego ich włączania. Można sterować wieloma innymi urządzeniami. Zautomatyzuj świat. Pozwól nam rozpocząć Twój dom.
Krok 1: Wymagany sprzęt
Będziemy używać:
Malina Pi
Raspberry Pi to samodzielny komputer PC oparty na systemie Linux. Ten mały komputer ma moc w rejestrowaniu mocy, używany jako element ćwiczeń z elektroniki oraz operacje na komputerze, takie jak arkusze kalkulacyjne, edytor tekstu, surfowanie po Internecie, poczta e-mail i gry
I2C Shield lub I2C Header
INPI2 (adapter I2C) zapewnia Raspberry Pi 2/3 port I²C do użytku z wieloma urządzeniami I2C
Sterownik przekaźnikowy I2C MCP23008
MCP23008 firmy Microchip to zintegrowany ekspander portów, który steruje ośmioma przekaźnikami poprzez magistralę I²C. Możesz dodać więcej przekaźników, cyfrowych wejść/wyjść, przetworników analogowo-cyfrowych, czujników i innych urządzeń za pomocą zintegrowanego portu rozszerzeń I²C
Czujnik temperatury MCP9808
MCP9808 to czujnik temperatury o wysokiej dokładności, który dostarcza skalibrowane, linearyzowane sygnały czujnika w formacie cyfrowym I²C
Czujnik luminancji TCS34903
TCS34903 to produkt z rodziny czujników koloru, który zapewnia wartość składowej RGB światła i koloru
Kabel połączeniowy I2C
Kabel połączeniowy I2C to kabel 4-żyłowy, który służy do komunikacji I2C pomiędzy dwoma podłączonymi przez niego urządzeniami I2C
Adapter micro USB
Do zasilania Raspberry Pi potrzebny jest kabel Micro USB
Zasilacz 12V do płytki przekaźnikowej
MCP23008 Sterownik przekaźnikowy działa na zewnętrznym zasilaniu 12V i może być zasilany za pomocą zasilacza 12V
Możesz kupić produkt klikając na nie. Więcej świetnych materiałów znajdziesz również w sklepie Dcube Store.
Krok 2: Podłączenie sprzętu
Wymagane połączenia (patrz zdjęcia) są następujące:
- To będzie działać na I2C. Weź nakładkę I2C dla Raspberry Pi i delikatnie podłącz ją do pinów GPIO Raspberry Pi.
- Podłącz jeden koniec kabla I2C do portu wejściowego TCS34903, a drugi koniec do ekranu I2C.
- Podłącz wejście czujnika MCP9808 do wyjścia TCS34903 za pomocą kabla I2C.
- Podłącz gniazdo wejściowe MCP23008 do wyjścia czujnika MCP9808 za pomocą kabla I2C.
- Podłącz również kabel Ethernet do Raspberry Pi. Router Wi-Fi może być również używany do tego samego.
- Następnie zasil Raspberry Pi za pomocą adaptera Micro USB i płytki przekaźnikowej MCP23008 za pomocą adaptera 12V.
- Na koniec podłącz światło z pierwszym przekaźnikiem i wentylator lub grzałkę z drugim przekaźnikiem. Moduł można rozbudować lub podłączyć więcej urządzeń z przekaźnikami.
Krok 3: Komunikacja za pomocą protokołu I2C
Aby włączyć Raspberry Pi I2C, wykonaj następujące czynności:
- W terminalu wpisz następujące polecenie, aby otworzyć ustawienia konfiguracji: sudo raspi-config
- Wybierz "Opcje zaawansowane" tutaj.
- Wybierz „I2C” i kliknij „Tak”.
- Uruchom ponownie system, aby skonfigurować go zgodnie ze zmianami wprowadzonymi za pomocą polecenia reboot.
Krok 4: Programowanie modułu
Nagrodą za korzystanie z Raspberry Pi jest to, że zapewnia elastyczność wyboru języka programowania, w którym chcesz zaprogramować interfejs urządzenia czujnikowego z Raspberry Pi. Wykorzystując tę zaletę Raspberry Pi, demonstrujemy tutaj jego programowanie w Javie.
Aby skonfigurować środowisko Java, zainstaluj „pi4j libraby” z https://pi4j.com/1.2/index.html Pi4j to biblioteka wejścia/wyjścia Java dla Raspberry Pi. Prosta i najbardziej preferowana metoda instalacji „pi4j biblioteka” jest wykonanie poniższego polecenia bezpośrednio w Twoim Raspberry Pi:
curl -s get.pi4j.com | sudo bash
LUB
curl -s get.pi4j.com
importuj com.pi4j.io.i2c. I2CBus; importuj com.pi4j.io.i2c. I2CDurządzenie; importuj com.pi4j.io.i2c. I2CFabryka; import java.io. IOException; class MCP23008 { public static void main(String args) wyrzuca wyjątek { int status, wartość, wartość1= 0x00; // Utwórz magistralę I2C Magistrala I2CBus = I2CFactory.getInstance(I2CBus. BUS_1); // Pobierz urządzenie I2C, MCP23008 Adres I2C to 0x20(32) Urządzenie I2CDevice = bus.getDevice(0x20); // Pobierz urządzenie I2C, MCP9808 Adres I2C to 0x18(24) I2CDevice MCP9808 = bus.getDevice(0x18); // Pobierz urządzenie I2C, TCS34903 Adres I2C to 0x39(55) I2CDevice TCS34903 = bus.getDevice(0x39); // Ustaw rejestr czasu oczekiwania = 0xff (255), czas oczekiwania = 2,78 ms TCS34903.write(0x83, (byte)0xFF); // Włącz dostęp do kanału IR TCS34903.write(0xC0, (byte)0x80); // Ustaw rejestr Atime na 0x00 (0), maksymalna liczba = 65535 TCS34903.write(0x81, (byte)0x00); // Zasilanie włączone, ADC włączone, Czekaj włączone TCS34903.write(0x80, (byte)0x0B); Wątek.uśpienie(250); // Odczytaj 8 bajtów danych za pomocą danych clear/ir LSB first byte data1 = new byte[8]; // Odczyt danych temperatury byte data = new byte[2]; status = urządzenie.odczyt(0x09); // Skonfigurowano wszystkie piny jako WYJŚCIE device.write(0x00, (byte)0x00); Wątek.sen(500); while(true){ MCP9808.read(0x05, dane, 0, 2); // Konwertuj dane int temp = ((data[0] & 0x1F) * 256 + (data[1] & 0xFF)); jeśli (temp > 4096) { temp -= 8192; } podwójne cTemp = temp * 0,0625; System.out.printf("Temperatura w stopniach Celsjusza to: %.2f C %n", cTemp); TCS34903.read(0x94, dane1, 0, 8); podwójny ir = ((dane1[1] i 0xFF) * 256) + (dane1[0] i 0xFF) * 1,00; podwójny czerwony = ((dane1[3] i 0xFF) * 256) + (dane1[2] i 0xFF) * 1,00; podwójny zielony = ((dane1[5] i 0xFF) * 256) + (dane1[4] i 0xFF) * 1,00; podwójny niebieski = ((dane1[7] i 0xFF) * 256) + (dane1[6] i 0xFF) * 1,00; // Oblicz podwójne natężenie oświetlenia = (-0,32466) * (czerwony) + (1,57837) * (zielony) + (-0,73191) * (niebieski); System.out.printf("Natężenie oświetlenia wynosi: %.2f lux%n", natężenie oświetlenia); if (natężenie oświetlenia 30) { wartość = wartość1 | (0x01); } else { wartość = wartość1 i (0x02); } urządzenie.write(0x09, (bajt)wartość); Wątek.uśpienie(300); } } }
Krok 5: Tworzenie pliku i uruchamianie kodu
- Aby utworzyć nowy plik, w którym można zapisać/skopiować kod, użyjemy następującego polecenia: sudo nano NAZWA_PLIKU.javaEg. sudo nano MCP23008.java
- Po utworzeniu pliku możemy tutaj wpisać kod.
- Skopiuj kod podany w poprzednim kroku i wklej go w oknie tutaj.
- Naciśnij Ctrl+X, a następnie „y”, aby wyjść.
- Następnie skompiluj kod za pomocą następującego polecenia: pi4j NAZWA_PLIKU.javaEg. pi4j MCP23008.java
- Jeśli nie ma błędów, uruchom program za pomocą poniższego polecenia: pi4j NAZWA_PLIKUEg. pi4j MCP23008.java
Krok 6: Aplikacje
System ten pozwala na sterowanie urządzeniami bez podchodzenia do włączników ściennych. Ma to szerokie możliwości, ponieważ czasy włączania i wyłączania urządzeń są automatycznie zaplanowane. Istnieje kilka zastosowań tego modułu, od domów po przemysł, szpitale, dworce kolejowe i wiele innych miejsc, które można zautomatyzować w przystępny i łatwy sposób dzięki jego komponentom typu plug-and-play.
Krok 7: Zasoby
Aby uzyskać więcej informacji na temat kontrolera przekaźników TSL34903, MCP9808 MCP23008, zapoznaj się z poniższymi linkami:
- Karta katalogowa TSL34903
- Arkusz danych MCP9808
- Arkusz danych MCP23008
Zalecana:
Automatyka domowa za pomocą głosu i wycinków Matrix Raspberry Pi (część 2): 8 kroków
Automatyka domowa przy użyciu głosu i wycinków Raspberry Pi Matrix (część 2): Aktualizacja automatyki domowej przy użyciu głosu i wycinków Raspberry Pi Matrix. W tym PWM służy do sterowania zewnętrznymi diodami LED i serwomotorem Wszystkie szczegóły podane w części 1 https://www.instructables.com/id/Controlling-Light
Neopixel Ws2812 Rainbow LED Glow z M5stick-C - Uruchamianie Rainbow na Neopixel Ws2812 przy użyciu M5stack M5stick C przy użyciu Arduino IDE: 5 kroków
Neopixel Ws2812 Rainbow LED Glow z M5stick-C | Uruchamianie Rainbow na Neopixel Ws2812 Używając M5stack M5stick C Używając Arduino IDE: Cześć chłopaki, w tej instrukcji dowiemy się, jak używać neopikselowych ws2812 LED lub taśmy LED lub matrycy LED lub pierścienia LED z płytką rozwojową m5stack m5stick-C z Arduino IDE i zrobimy wzór tęczy z nim
Automatyka domowa RaspberryPi przy użyciu OpenHAB: 9 kroków
Automatyka domowa RaspberryPi przy użyciu OpenHAB: Automatyka domowa przy użyciu Raspberry Pi 3B i OpenHAB. [Opcjonalnie] Będziemy używać Google Home (lub Asystenta Google), aby włączyć sterowanie głosowe
Automatyka domowa za pomocą Raspberry Pi 3 i Node-RED: 6 kroków
Automatyka domowa za pomocą Raspberry Pi 3 i Node-RED: Wymagane materiały:1.Raspberry Pi 32.Moduł przekaźnika3.Przewody połączenioweWięcej informacji:
DIY lutownica na gorące powietrze przy użyciu 12-18 woltów prądu stałego przy 2-3 amperach: 18 kroków (ze zdjęciami)
DIY lutownica na gorące powietrze przy użyciu 12-18 woltów prądu stałego przy 2-3 amperach: to moja pierwsza publikacja eva artykułu o majsterkowaniu w Internecie. Więc przepraszam za literówki, protokoły itp. Poniższe instrukcje pokazują, jak zrobić PRACOWĄ lutownicę na gorące powietrze odpowiednią do WSZYSTKICH zastosowań wymagających lutowania. To lutowanie gorącym powietrzem