Spisu treści:

Budowa urządzeń domowych dla IoT lub automatyki domowej: 7 kroków (ze zdjęciami)
Budowa urządzeń domowych dla IoT lub automatyki domowej: 7 kroków (ze zdjęciami)

Wideo: Budowa urządzeń domowych dla IoT lub automatyki domowej: 7 kroków (ze zdjęciami)

Wideo: Budowa urządzeń domowych dla IoT lub automatyki domowej: 7 kroków (ze zdjęciami)
Wideo: OD CZEGO ZACZĄĆ | Inteligentny Dom DIY #1 2024, Listopad
Anonim
Budowanie domowych urządzeń do IoT lub automatyki domowej
Budowanie domowych urządzeń do IoT lub automatyki domowej

Ta instrukcja jest częścią mojej serii DIY Home Automation, sprawdź główny artykuł "Planowanie DIY Home Automation System". Jeśli jeszcze nie wiesz, czym jest Homie, zajrzyj na homie-esp8266 + homie od Marvina Rogera.

Czujników jest wiele. Omawiam te bardzo podstawowe, aby dać czytelnikowi wymagania do rozpoczęcia budowania "czegoś". To może nie być nauka o rakietach, ale to powinno działać.

Jeśli nie masz części, uważaj na moje nadchodzące instrukcje „Sourcing Electronic Parts From Asia”.

Dodam jeszcze kilka buzzów: IoT, ESP8266, Homie, DHT22, DS18B20, automatyka domowa.

Temat powinien być teraz całkiem jasny:-)

Ponadto ta instrukcja jest teraz również dostępna na mojej osobistej stronie:

Krok 1: Pierwsze kroki

Pierwsze kroki
Pierwsze kroki
Pierwsze kroki
Pierwsze kroki

Konwencje

Ta instrukcja wykorzystuje klony D1 Mini. Są to kontrolery kompatybilne z Arduino z WiFi, wykorzystujące układ ESP8266. Są dostarczane w bardzo małych rozmiarach (~34*25mm) i są tanie (~3-4$ za klony).

Zilustruję każdą kompilację za pomocą D1 Mini, płytki stykowej i niektórych czujników. Dołączam zestawienie materiałów (BOM) dla każdego, ale pominę oczywiste rzeczy, takie jak przewody połączeniowe i płytka stykowa (mini lub pełna). Skupię się na „częściach aktywnych”.

Do przewodów/kabli w schematach (biblioteka Fritzing + AdaFruitFritzing) użyłem:

  • Czerwony/pomarańczowy dla zasilania, zwykle 3,3V. Czasami będzie to 5V, bądź ostrożny.
  • Czarny jak na ziemię.
  • Żółty dla cyfrowych sygnałów danych: Bity podróżują i mogą być odczytane bez zmian za pomocą chipów.
  • Niebieski/fioletowy dla analogowych sygnałów danych: Brak bitów, tylko zwykłe napięcie, które należy zmierzyć i obliczyć, aby zrozumieć, co się dzieje.

Homie dla ESP8266 dostarcza tuzin przykładów, tam zacząłem budować ten instruktażowy.

Deska do krojenia chleba

D1 jest dość przyjazny dla płytki prototypowej, ale oszczędza tylko jeden rząd pinów w górę iw dół. Każdy przykład będzie miał D1 po prawej stronie i komponenty po lewej stronie. Górna i dolna szyna zasilająca będą używane do przenoszenia napięcia 3,3 V lub 5 V.

Notatka

Przykłady ziomków są budowane jako szkice ".ino" dla Arduino IDE. Mój własny kod jest jednak zbudowany jako ".ccp" dla PlatformIO.

Nie będzie to miało większego znaczenia, ponieważ szkice są na tyle proste, że można je skopiować/wkleić niezależnie od wybranego narzędzia.

Krok 2: Temperatura i wilgotność: DHT22 / DHT11

Temperatura i wilgotność: DHT22/DHT11
Temperatura i wilgotność: DHT22/DHT11
Temperatura i wilgotność: DHT22/DHT11
Temperatura i wilgotność: DHT22/DHT11
Temperatura i wilgotność: DHT22/DHT11
Temperatura i wilgotność: DHT22/DHT11

Budowanie urządzenia

DHT22 wykorzystuje:

  • Jeden cyfrowy pin do komunikacji ze sterownikiem, podłącz go do D3
  • Dwa przewody do zasilania (3,3V lub 5V + GND)
  • Pin cyfrowy musi być utrzymywany na wysokim poziomie (podłączony do zasilania), w tym celu używamy rezystora między szyną zasilającą a pinem danych

Kod

Projekt PlatformIO można pobrać z:

Oryginalny przykład Homie jest tutaj (ale nie używa czujnika):

Dla DHT22 użyj biblioteki czujników DHT (ID=19)

BOM

  • Kontroler: Wemos D1 Mini
  • Rezystor: 10KΩ
  • Czujnik: (jeden z nich)

    • DHT22: Użyłem 4 pinów, które wymagają dodatkowego rezystora. Dostępne są 3-pinowe moduły dostarczane jako SMD, które zawierają rezystor.
    • DHT11: Jest to tańsze, ale mniej dokładne, sprawdź swoje wymagania

Krok 3: wodoodporna temperatura: DS18B20

Temperatura wodoodporności: DS18B20
Temperatura wodoodporności: DS18B20
Temperatura wodoodporności: DS18B20
Temperatura wodoodporności: DS18B20
Temperatura wodoodporności: DS18B20
Temperatura wodoodporności: DS18B20

Budowa urządzenia DS18B20 wykorzystuje:

  • Jeden cyfrowy pin do komunikacji ze sterownikiem, podłącz go do D3
  • Dwa przewody do zasilania (3,3V lub 5V + GND)
  • Pin cyfrowy musi być utrzymywany na wysokim poziomie (podłączony do zasilania), w tym celu używamy rezystora między szyną zasilającą a pinem danych

DS18B20 to czujnik 1-przewodowy. Wykorzystuje magistralę i dlatego wiele czujników może korzystać z jednego pinu danych.

Możliwe jest również NIE używanie 3,3 V/5 V do zasilania czujnika, co nazywa się trybem zasilania pasożytniczego. Zobacz arkusz danych, aby uzyskać szczegółowe informacje.

Kod

Projekt PlatformIO można pobrać z:

Podobnie jak w przypadku DHT22, oryginalny przykład Homie jest tutaj (ale nie używa czujnika):

Dla magistrali 1-Wire użyj pakietu OneWire (ID=1)

Dla DS18B20 użyj DallasTemperature (ID=54)

BOM

  • Kontroler: Wemos D1 Mini
  • Rezystor: 4,7 kΩ
  • Czujnik: DS18B20, na zdjęciu jest wodoodporny;
  • 3-pinowy zacisk śrubowy ułatwiający podłączenie kabla do płytki stykowej

Krok 4: Światło: fotorezystor / fotokomórka (cyfrowo: wł./wył.)

Światło: fotorezystor / fotokomórka (cyfrowo: wł./wył.)
Światło: fotorezystor / fotokomórka (cyfrowo: wł./wył.)
Światło: fotorezystor / fotokomórka (cyfrowo: wł./wył.)
Światło: fotorezystor / fotokomórka (cyfrowo: wł./wył.)
Światło: fotorezystor / fotokomórka (cyfrowo: wł./wył.)
Światło: fotorezystor / fotokomórka (cyfrowo: wł./wył.)

Budowa urządzenia

(Przepraszam, nie mam elementu Fritzing do fotokomórki cyfrowej)

Moduł cyfrowy fotokomórki wykorzystuje:

  • Jeden cyfrowy pin do komunikacji ze sterownikiem, podłącz go do D3
  • Dwa przewody do zasilania (3,3V + GND)

Możliwe jest użycie fotokomórki analogowej, ale nie jest to tutaj udokumentowane, zobacz doskonały artykuł Adafruit "Używanie fotokomórki".

Uwaga: W tym przykładzie na płytce czujnika znajduje się potencjometr. Służy do ustawiania granicy między „jasnym” a „ciemnym” światłem otoczenia. Gdy wskaźnik odczytu 1 jest wyłączony, dlatego odczyt 0 oznacza, że światło jest włączone.

Kod

Projekt PlatformIO można pobrać ze strony:

BOM

Kontroler: Wemos D1 Mini

Czujnik: światłoczuły/moduł wykrywania światła

Krok 5: Światło: Fotorezystor / Fotokomórka (analogowa)

Światło: fotorezystor / fotokomórka (analogowa)
Światło: fotorezystor / fotokomórka (analogowa)
Światło: fotorezystor / fotokomórka (analogowa)
Światło: fotorezystor / fotokomórka (analogowa)
Światło: fotorezystor / fotokomórka (analogowa)
Światło: fotorezystor / fotokomórka (analogowa)

Budowanie urządzenia

Analogowy czujnik fotokomórki działa jako rezystor. Łączy się między wejściem analogowym a 3,3V.

Rezystor jest umieszczany między GND a pinem danych, aby utworzyć dzielnik napięcia. Celem jest stworzenie znanego zakresu wartości:

  • Jeśli nie ma światła, fotokomórka w zasadzie zablokuje VCC, tym samym łącząc GND z pinem danych: Pin odczyta prawie 0.
  • Jeśli jest dużo jasnego światła, fotokomórka pozwoli na przepływ VCC do pinu danych: Pin odczyta prawie pełne napięcie i jako takie bliskie maksimum (1023).

Uwaga: Wartości pinów analogowych są odczytywane w zakresie 0-1023 za pomocą analogRead. Nie jest to praktyczne w przypadku wartości 1 bajtowych, w tym celu funkcja mapy Arduino pomoże zredukować z 0-1023 do (na przykład) 0-255.

Do kalibracji wartości min/max dla czujnika użyj szkicu takiego jak ten z Arduino.

Kod

Projekt PlatformIO można pobrać z:

BOM

  • Kontroler: Wemos D1 Mini
  • Czujnik: Rezystor światłoczuły (LDR) / fotorezystor
  • Rezystor: 1 K lub 10 K, należy skalibrować w oparciu o komórkę

Bibliografia

  • Kod źródłowy serwera PiDome dla warunków oświetlenia lokalizacji
  • Adafruit „Korzystanie z fotokomórki”
  • „Fotorezystory” tutaj w instrukcjach
  • Jakiś cholernie szalony „Samouczek fotokomórki”, jeśli chcesz trochę matematyki i wykresów

Krok 6: Detektor optyczny: QRD1114

Budowanie urządzenia

Kod

BOM

Bibliografia

  • Obliczenia fizyczne: QRD1114 zawiera przykładowy kod do odczytu czujnika i użycia przerwania dla enkodera obrotowego + precyzyjny projekt PCB
  • QRD1114 Przewodnik podłączania detektora optycznego w Sparkfun

Krok 7: Ostatnie słowa

Ostatnie słowa
Ostatnie słowa

Ta instrukcja jest bardzo krótka, aby wyjaśnić podstawowe monitorowanie.

Aby przejść dalej, będziemy musieli podłączyć przekaźniki, emiter IR… Mam nadzieję, że zostanie to omówione później, jak pozwoli mi na to wolny czas. Główna różnica polega na tym, że nie tylko „czytamy” (czy jest światło?), ale także „piszemy” (włącz światło!).

Zalecana: