Spisu treści:
- Krok 1: Sprzęt, którego potrzebujemy
- Krok 2: Połączenia sprzętowe
- Krok 3: Adafruit Huzzah ESP8266 Kod Arduino
- KONTROLUJ WSZYSTKO
- H3LIS331DL Mini moduł czujnika I2C
- Krok 4: Praktyczność Kodeksu
- Krok 5: Aplikacje i aktualizacja
- Krok 6: Zasoby na temat dalszego rozwoju
Wideo: Monitorowanie pralki/suszarki do ubrań za pomocą ESP8266 i czujnika przyspieszenia: 6 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
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
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
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
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:
Monitorowanie akceleracji za pomocą Raspberry Pi i AIS328DQTR za pomocą Pythona: 6 kroków
Monitorowanie przyspieszenia za pomocą Raspberry Pi i AIS328DQTR Za pomocą Pythona: Przyspieszenie jest skończone, myślę, że zgodnie z niektórymi prawami fizyki.- Terry Riley Gepard wykorzystuje niesamowite przyspieszenie i szybkie zmiany prędkości podczas pościgu. Najszybsze stworzenie na lądzie od czasu do czasu wykorzystuje swoje najwyższe tempo do łapania zdobyczy. Ten
Śledzenie zmian przyspieszenia za pomocą Raspberry Pi i MMA7455 za pomocą Pythona: 6 kroków
Śledzenie zmian akceleracji za pomocą Raspberry Pi i MMA7455 przy użyciu Pythona: nie potknąłem się, testowałem grawitację. Nadal działa… Reprezentacja przyspieszającego wahadłowca kosmicznego wyjaśniała, że zegar w najwyższym punkcie wahadłowca wybierałby szybszy niż zegar u podstawy z powodu grawitacyjnego rozszerzania się czasu. Trochę
Odkurzacz z suszarki do włosów: 7 kroków (ze zdjęciami)
Odkurzacz z suszarki do włosów: W ostatnich dniach zacząłem szukać odkurzacza do utrzymania mojego biurka w czystości. I znalazłem trochę śmieci w moim schowku, zróbmy odkurzacz
Metody wykrywania poziomu wody Arduino za pomocą czujnika ultradźwiękowego i czujnika wody Funduino: 4 kroki
Metody wykrywania poziomu wody Arduino za pomocą czujnika ultradźwiękowego i czujnika wody Funduino: W tym projekcie pokażę, jak stworzyć niedrogi wykrywacz wody za pomocą dwóch metod:1. Czujnik ultradźwiękowy (HC-SR04).2. Czujnik wody Funduino
Śledzenie ubrań Raspberry Pi NFC: 5 kroków (ze zdjęciami)
Śledzenie ubrań Raspberry Pi NFC: Jeśli jesteś podobny do mnie, masz mały stos ubrań na podłodze, które mogą być brudne lub nie. Może to obejmować dżinsy, koszule i ledwo noszone szorty. Jak więc rozpoznać, które ubrania są czyste lub brudne? Wymyśliłem sposób na śledzenie