Spisu treści:

Monitorowanie pralki/suszarki do ubrań za pomocą ESP8266 i czujnika przyspieszenia: 6 kroków
Monitorowanie pralki/suszarki do ubrań za pomocą ESP8266 i czujnika przyspieszenia: 6 kroków

Wideo: Monitorowanie pralki/suszarki do ubrań za pomocą ESP8266 i czujnika przyspieszenia: 6 kroków

Wideo: Monitorowanie pralki/suszarki do ubrań za pomocą ESP8266 i czujnika przyspieszenia: 6 kroków
Wideo: Jak sprawdzić zużycie energii w domu - gniazdko smart home Tuya 2024, Lipiec
Anonim
Monitorowanie pralki/suszarki do ubrań za pomocą ESP8266 i czujnika przyspieszenia
Monitorowanie pralki/suszarki do ubrań za pomocą ESP8266 i czujnika przyspieszenia

Pralka/suszarka do ubrań jest w piwnicy, a ty z reguły wkładasz do niej stos ubrań, a potem zajmujesz się kolejną pracą domową. Pomijasz ubrania, które zostały przemoczone i chłonące w piwnicy na Twojej maszynie. No cóż, raz na jakiś czas po prostu zbiegasz na dół, oczekując, że maszyna zakończyła pracę, a potem widzisz, że maszyna nadal działa. Wiem, to irytujące.

Wyobraź sobie scenariusz, w którym możesz obserwować stan pralki/suszarki na swoim telefonie komórkowym lub tablecie. Podobnie, gdzie możesz otrzymać wiadomość na telefon z informacją, że maszyna zakończyła swoje zadanie. Brzmi wyjątkowo fascynująco i przychylnie, prawda!

Rzeczywiście, za pomocą ESP8266 i czujnika przyspieszenia możesz monitorować stan swojej pralki/suszarki. Możesz zrobić to przedsięwzięcie we własnym domu w prosty sposób, po prostu postępuj zgodnie z instrukcjami i skopiuj kod.

Krok 1: Sprzęt, którego potrzebujemy

Sprzęt, którego potrzebujemy
Sprzęt, którego potrzebujemy
Sprzęt, którego potrzebujemy
Sprzęt, którego potrzebujemy
Sprzęt, którego potrzebujemy
Sprzęt, którego potrzebujemy
Sprzęt, którego potrzebujemy
Sprzęt, którego potrzebujemy

1. Adafruit Huzzah ESP8266

Pierwszym krokiem było zdobycie płyty Adafruit Huzzah ESP8266. Adafruit Huzzah ESP8266 to tani układ Wi-Fi z pełną obsługą stosu TCP/IP i mikrokontrolerem. ESP8266 zapewnia dojrzałą platformę do monitorowania i sterowania aplikacjami przy użyciu języka Arduino Wire Language i Arduino IDE. Moduł ESP8266 to niezwykle opłacalna płyta z ogromną i stale rosnącą społecznością.

2. Adafruit Huzzah Adapter hosta ESP8266 (programator USB)

Ten adapter hosta ESP8266 został zaprojektowany specjalnie dla wersji Adafruit Huzzah ESP8266, zapewniając interfejs I²C. Zintegrowany port USB zapewnia zasilanie i programowanie ESP8266.

3. Czujnik przyspieszenia H3LIS331DL

H3LIS331DL to 3-osiowy akcelerometr liniowy o małej mocy i wysokiej wydajności z cyfrowym interfejsem szeregowym I²C. Jest przystosowany do pomiaru przyspieszeń z wyjściowymi szybkościami danych od 0,5 Hz do 1 kHz. Wszystkie te rzeczy sprawiają, że ten czujnik jest idealnym wyborem do tego projektu.

4. Kabel połączeniowy

Użyłem kabla połączeniowego I²C dostępnego pod powyższym linkiem.

5. Kabel mini USB

Zasilacz mini USB to idealny wybór do zasilania Adafruit Huzzah ESP8266.

Krok 2: Połączenia sprzętowe

Połączenia sprzętowe
Połączenia sprzętowe
Połączenia sprzętowe
Połączenia sprzętowe
Połączenia sprzętowe
Połączenia sprzętowe

Ogólnie połączenia są bardzo proste. Postępuj zgodnie z instrukcjami i obrazami poniżej, a nie powinieneś mieć żadnych trudności.

Połączenie Adafruit Huzzah ESP8266 i programatora USB

Najpierw weź Adafruit Huzzah ESP8266 i umieść na nim programator USB (z portem Inward Facing I²C). Delikatnie wciśnij programator USB na miejsce i gotowe. Proste jak bułka z masłem (patrz zdjęcie nr 1).

Połączenie czujnika i Adafruit Huzzah ESP8266

Weź czujnik i podłącz do niego kabel I²C. Dla prawidłowego działania tego kabla należy pamiętać, że wyjście I²C ZAWSZE łączy się z wejściem I²C. To samo należy zrobić dla Adafruit Huzzah ESP8266 z zamontowanym nad nim programatorem USB (patrz zdjęcie #2).

Za pomocą programatora USB ESP8266 bardzo łatwo jest zaprogramować ESP8266. Wszystko, co musisz zrobić, to podłączyć czujnik do programatora USB i gotowe. Wolę używać tego adaptera, ponieważ znacznie ułatwia to podłączenie sprzętu. Bez tego programatora USB typu plug and play istnieje duże ryzyko nieprawidłowego połączenia. Jeden zły przewód może zabić Wi-Fi, a także czujnik.

Uwaga: Brązowy przewód powinien zawsze podążać za połączeniem uziemienia (GND) między wyjściem jednego urządzenia a wejściem innego urządzenia

Zasilanie obwodu

Podłącz kabel Mini USB do gniazda zasilania Adafruit Huzzah ESP8266. Zapal to i voila, dobrze jest iść!

Ostateczny montaż będzie wyglądał jak na rys. #3.

Umieść czujnik w pralce/suszarce do ściereczek

Zanim to zrobisz, upewnij się, że całkowicie pokryłeś czujnik plastikiem, aby przetrwał kontakt z wodą. Teraz umieść czujnik i wklej go na bębnie pralki/suszarki. Zrób to celowo, nie uszkadzając przewodów pralki/suszarki i nie czyniąc sobie krzywdy.

Dzięki temu kończymy całą pracę sprzętową.

Krok 3: Adafruit Huzzah ESP8266 Kod Arduino

Kod ESP dla czujnika Adafruit Huzzah ESP8266 i H3LIS331DL jest dostępny w naszym repozytorium Github.

Zanim przejdziesz do kodu, upewnij się, że przeczytałeś instrukcje podane w pliku Readme i skonfiguruj zgodnie z nimi swój Adafruit Huzzah ESP8266. To zajmie tylko chwilę.

Uwaga: przed przesłaniem upewnij się, że w kodzie wpisałeś swoją sieć SSID i hasło

Możesz skopiować działający kod ESP dla tego czujnika również stąd:

// Rozprowadzany z wolną licencją.// Używaj go w dowolny sposób, z zyskiem lub za darmo, pod warunkiem, że pasuje do licencji powiązanych z nim dzieł. // Monitorowanie pralki/suszarki za pomocą ESP8266 // Ten kod jest przeznaczony do współpracy z modułem H3LIS331DL_I2CS I2C Mini dostępnym na stronie Dcubestore.com. //

#włączać

#include #include #include

// H3LIS331DL I2C adres to 0x18(24)

#define Addr 0x18

const char* ssid = "Twoja sieć ssid";

const char* password = "twoje hasło";

ESP8266serwer WebServer(80);

void handleroot()

{ unsigned int data[6];

for (int i = 0; i < 6; i++) { // Rozpocznij transmisję I2C Wire.beginTransmission(Addr); // Wybierz rejestr danych Wire.write((40 + i)); // Zatrzymaj transmisję I2C Wire.endTransmission();

// Poproś o 1 bajt danych

Wire.requestFrom(Addr, 1); // Odczyt 6 bajtów danych // xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb if (Wire.available() == 1) { data = Wire.read(); } } opóźnienie(300);

// Konwertuj dane

int xAccl = ((dane[1] * 256) + dane[0]); jeśli (xAccl > 32767) { xAccl -= 65536; } int xAcc = ((100 * 9,8) / 32768) * xAcc;

int yAccl = ((dane[3] * 256) + dane[2]);

jeśli (yAccl > 32767) {yAccl -= 65536; } int yAcc = ((100 * 9,8) / 32768) * yAccl;

int zAccl = ((dane[5] * 256) + dane[4]);

jeśli (zAccl > 32767) { zAccl -= 65536; } int zAcc = ((100 * 9,8) / 32768) * zAcc;

// Dane wyjściowe do monitora szeregowego

Serial.print("Przyspieszenie w osi X: "); Serial.print(xAcc); Serial.println("m/s"); Serial.print("Przyspieszenie w osi Y: "); Serial.print(yAcc); Serial.println("m/s"); Serial.print("Przyspieszenie w osi Z: "); Serial.print(zAcc); Serial.println("m/s"); opóźnienie(300);

// Dane wyjściowe do serwera WWW

server.sendContent ("<meta http-equiv='odśwież' content='10'""

KONTROLUJ WSZYSTKO

www.controleverything.com

H3LIS331DL Mini moduł czujnika I2C

"); serwer.sendContent ("

Przyspieszenie w osi X = " + String(xAcc) + " m/s/s"); server.sendContent ("

Przyspieszenie w osi Y = " + String(yAcc) + "m/s/s"); server.sendContent ("

Przyspieszenie w osi Z = " + String(zAcc) + "m/s/s");

jeśli (xAcc > 2)

{ // Wyprowadzanie danych do monitora szeregowego Serial.println("Pralka/Suszarka do tkanin: Działa");

// Dane wyjściowe do serwera WWW

server.sendContent ("

Pralka/suszarka do tkanin: Działa"); } else { // Dane wyjściowe do monitora szeregowego Serial.println("Pralka/suszarka do tkanin: zakończona");

// Dane wyjściowe do serwera WWW

server.sendContent ("

Pralka/suszarka do tkanin: Ukończono"); } }

pusta konfiguracja()

{ // Zainicjuj komunikację I2C jako MASTER Wire.begin(2, 14); // Zainicjuj komunikację szeregową, ustaw szybkość transmisji = 115200 Serial.begin(115200);

// Połącz z siecią Wi-Fi

WiFi.begin(SSid, hasło);

// Czekaj na połączenie

while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.print("Połączony z"); Serial.println(ssid);

// Uzyskaj adres IP ESP8266

Serial.print("adres IP: "); Serial.println(WiFi.localIP());

// Uruchom serwer

server.on("/", handleroot); serwer.początek(); Serial.println("Serwer HTTP uruchomiony");

// Rozpocznij transmisję I2C

Wire.beginTransmisja(Addr); // Wybierz rejestr kontrolny 1 Wire.write(0x20); // Włącz oś X, Y, Z, tryb włączania, częstotliwość wyprowadzania danych 50Hz Wire.write(0x27); // Zatrzymaj transmisję I2C Wire.endTransmission();

// Rozpocznij transmisję I2C

Wire.beginTransmisja(Addr); // Wybierz rejestr kontrolny 4 Wire.write(0x23); // Ustaw pełną skalę, +/- 100g, ciągła aktualizacja Wire.write(0x00); // Zatrzymaj transmisję I2C Wire.endTransmission(); opóźnienie(300); }

pusta pętla()

{ serwer.obsługaKlient(); }

Krok 4: Praktyczność Kodeksu

Praktyczność Kodeksu
Praktyczność Kodeksu

Teraz pobierz (git pull) lub skopiuj kod i otwórz go w Arduino IDE.

Skompiluj i prześlij kod i zobacz dane wyjściowe na monitorze szeregowym. Po kilku sekundach wyświetli wszystkie parametry.

Skopiuj adres IP ESP8266 z monitora szeregowego i wklej go w przeglądarce internetowej. Zobaczysz stronę internetową z odczytem przyspieszenia w 3 osiach i stanem pralki/suszarki Cloth. Przed przejściem do końcowego testu należy zmodyfikować wartość przyspieszenia zgodnie z położeniem bębna pralki i rozmieszczeniem czujnika w warunkach if-else w kodzie.

Wyjście czujnika na monitorze szeregowym i serwerze sieciowym pokazano na powyższym obrazku.

Krok 5: Aplikacje i aktualizacja

Z pomocą tego projektu możesz monitorować stan swojej pralki/suszarki na swoich telefonach i laptopach. Nie ma potrzeby chodzenia w kółko i przytrzymywania/słuchania, aby zakończyć zadanie.

Możesz również otrzymać wiadomość na telefon, że maszyna zakończyła swoje zadanie. Dzięki temu zawsze zapamiętasz ubrania w pralce. W tym celu możesz po prostu uaktualnić ten projekt, dodając część w powyższym kodzie.

Mam nadzieję, że podoba Ci się ten projekt i inspiruje do dalszych eksperymentów. Płyta Adafruit Huzzah ESP8266 jest niesamowicie wszechstronna, tania i dostępna dla wszystkich hobbystów. To tylko jeden z wielu prostych projektów, które można wykonać za pomocą ESP8266.

Krok 6: Zasoby na temat dalszego rozwoju

Aby uzyskać więcej informacji na temat H3LIS331DL i ESP8266, sprawdź poniższe łącza:

  • Karta katalogowa czujnika H3LIS331DL
  • Arkusz danych ESP8266

Możesz również zapoznać się z naszymi dodatkowymi artykułami na temat projektów automatyki domowej i ESP8266:

  • Automatyka domowa z ESP8266 i kontrolerem przekaźników
  • Lampki kontrolne z ESP8266 i czujnikiem ciśnienia

Zalecana: