Sadržaj:
- Korak 1: Potrebna nam je oprema
- Korak 2: Hardverske veze
- Korak 3: Adafruit Huzzah ESP8266 Arduino kôd
- KONTROLIRAJTE SVE
- H3LIS331DL Senzorski I2C mini modul
- Korak 4: Praktičnost Kodeksa
- Korak 5: Aplikacije i nadogradnja
- Korak 6: Resursi za napredak
Video: Praćenje perilice/sušilice rublja sa ESP8266 i senzorom ubrzanja: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
Perilica/sušilica rublja nalazi se u podrumu, a vi u pravilu stavljate hrpu odjeće u nju i nakon toga postajete zaposleni u svom drugom kućnom poslu. Previđate odjeću koja je ostala vlažna i upijajuća u podrumu vaše mašine. Pa opet, s vremena na vrijeme jednostavno trčite dolje očekujući da je mašina završila posao, a nakon toga vidite da mašina još radi. Znam, iritira.
Zamislite scenarij u kojem možete gledati stanje perilice/sušilice rublja na svom mobilnom telefonu ili tabletu. Slično, gdje na svoj telefon možete dobiti poruku u kojoj se navodi da je mašina završila svoj zadatak. Zvuči izuzetno fascinantno i susretljivo, zar ne!
Zaista, uz pomoć ESP8266 i senzora akcelerometra možete pratiti status vaše perilice/sušilice rublja. Ovaj pothvat možete napraviti kod svoje kuće na jednostavan način ako samo slijedite upute i kopirate kôd.
Korak 1: Potrebna nam je oprema
1. Adafruit Huzzah ESP8266
Prvi korak je bio dobivanje ploče Adafruit Huzzah ESP8266. Adafruit Huzzah ESP8266 je jeftin Wi-Fi čip sa punim TCP/IP stekom i mogućnostima mikrokontrolera. ESP8266 pruža zrelu platformu za praćenje i upravljanje aplikacijama koristeći Arduino Wire Language i Arduino IDE. Modul ESP8266 je izuzetno isplativa ploča sa velikom i sve većom zajednicom.
2. Adapter Host Adapter Huzzah ESP8266 (USB programator)
Ovaj adapter za host ESP8266 dizajniran je posebno za Adafruit Huzzah verziju ESP8266, pružajući I²C sučelje. Integrirani USB priključak napaja i programira ESP8266.
3. Senzor ubrzanja H3LIS331DL
H3LIS331DL je troosni linearni akcelerometar male snage visokih performansi male snage sa digitalnim I²C serijskim interfejsom. Opremljen je za mjerenje ubrzanja sa izlaznim brzinama prijenosa podataka od 0,5 Hz do 1 kHz. Sve ove stvari čine ovaj senzor idealnim izborom za ovaj projekt.
4. Priključni kabel
Koristio sam priključni kabel I²C dostupan na gornjoj poveznici.
5. Mini USB kabel
Napajanje mini USB kabelom idealan je izbor za napajanje Adafruit Huzzah ESP8266.
Korak 2: Hardverske veze
Općenito, veze su vrlo jednostavne. Slijedite upute i slike u nastavku i nećete imati poteškoća.
Povezivanje Adafruit Huzzah ESP8266 i USB programatora
Prije svega uzmite Adafruit Huzzah ESP8266 i na njega postavite USB programator (sa ulazom prema I²C portu). Lagano pritisnite USB programator na mjesto i završili smo s ovim korakom. Lako kao pita (vidi sliku #1).
Povezivanje senzora i Adafruit Huzzah ESP8266
Uzmite senzor i spojite I²C kabel na njega. Za pravilan rad ovog kabela, imajte na umu da se I²C izlaz UVIJEK povezuje s I²C ulazom. Isto bi trebalo učiniti i za Adafruit Huzzah ESP8266 sa USB programatorom postavljenim preko njega (vidi sliku #2).
Uz pomoć ESP8266 USB programatora, vrlo je jednostavno programirati ESP8266. Sve što trebate učiniti je spojiti senzor u USB programator i spremni ste. Radije koristim ovaj adapter jer uvelike olakšava povezivanje hardvera. Bez ovog USB programatora plug and play postoji veliki rizik od pogrešne veze. Jedna pogrešna žica može ubiti vaš WiFi kao i vaš senzor.
Napomena: Smeđa žica uvijek treba slijediti vezu uzemljenja (GND) između izlaza jednog uređaja i ulaza drugog uređaja
Napajanje strujnog kola
Uključite Mini USB kabel u utičnicu za napajanje Adafruit Huzzah ESP8266. Zapali i voila, spremni smo!
Konačna montaža će izgledati kao na slici #3.
Postavite senzor unutar mašine za pranje/sušenje veša
Prije nego što to učinite, pobrinite se da senzor potpuno pokrijete plastikom kako bi preživio kontakt s vodom. Sada postavite senzor i zalijepite ga na bubanj mašine za pranje/sušenje veša. Učinite to namjerno, a da pritom ne oštetite žicu perilice/sušilice i ne ozlijedite se.
Ovime smo završili sa svim hardverskim poslovima.
Korak 3: Adafruit Huzzah ESP8266 Arduino kôd
ESP kod za senzor Adafruit Huzzah ESP8266 i H3LIS331DL dostupan je na našem Github spremištu.
Prije nego prijeđete na kôd, svakako pročitajte upute date u datoteci Readme i podesite svoj Adafruit Huzzah ESP8266 prema njemu. Trebat će samo trenutak da to učinite.
Napomena: Prije učitavanja, obavezno unesite svoju SSID mrežu i lozinku u kôd
Ovdje možete kopirati radni ESP kod za ovaj senzor:
// Distribuirano s licencom za slobodnu volju.// Koristite ga kako god želite, profitno ili besplatno, pod uvjetom da se uklapa u licence povezanih djela. // Nadziranje pranja i sušenja rublja sa ESP8266 // Ovaj kod je dizajniran za rad s H3LIS331DL_I2CS I2C mini modulom dostupnim na Dcubestore.com. //
#include
#include #include #include
// H3LIS331DL I2C adresa je 0x18 (24)
#define Addr 0x18
const char* ssid = "vaša ssid mreža";
const char* password = "vaša lozinka";
ESP8266WebServer server (80);
void handleroot ()
{nepotpisani int podaci [6];
for (int i = 0; i <6; i ++) {// Pokretanje I2C prijenosa Wire.beginTransmission (Addr); // Odabir registra podataka Wire.write ((40 + i)); // Zaustavljanje I2C prijenosa Wire.endTransmission ();
// Zatražite 1 bajt podataka
Wire.requestFrom (Addr, 1); // Očitavanje 6 bajtova podataka // xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb if (Wire.available () == 1) {data = Wire.read (); }} kašnjenje (300);
// Pretvorimo podatke
int xAccl = ((podaci [1] * 256) + podaci [0]); if (xAccl> 32767) {xAccl -= 65536; } int xAcc = ((100 * 9.8) / 32768) * xAccl;
int yAccl = ((podaci [3] * 256) + podaci [2]);
if (yAccl> 32767) {yAccl -= 65536; } int yAcc = ((100 * 9.8) / 32768) * yAccl;
int zAccl = ((podaci [5] * 256) + podaci [4]);
if (zAccl> 32767) {zAccl -= 65536; } int zAcc = ((100 * 9.8) / 32768) * zAccl;
// Izlaz podataka na serijski monitor
Serial.print ("Ubrzanje u osi X:"); Serial.print (xAcc); Serial.println ("m/s"); Serial.print ("Ubrzanje u osi Y:"); Serial.print (yAcc); Serial.println ("m/s"); Serial.print ("Ubrzanje u osi Z:"); Serial.print (zAcc); Serial.println ("m/s"); kašnjenje (300);
// Izlaženje podataka na web poslužitelj
server.sendContent ("<meta http-equiv = 'refresh' content = '10 '""
KONTROLIRAJTE SVE
www.controleverything.com
H3LIS331DL Senzorski I2C mini modul
"); server.sendContent ("
Ubrzanje u osi X = " + String (xAcc) +" m/s/s "); server.sendContent ("
Ubrzanje u Y-osi = " + String (yAcc) +" m/s/s "); server.sendContent ("
Ubrzanje u Z-osi = " + niz (zAcc) +" m/s/s ");
ako (xAcc> 2)
{// Izlazni podaci na serijski monitor Serial.println ("Perilica/sušilica rublja: Radi");
// Izlaženje podataka na web poslužitelj
server.sendContent ("
Perilica/sušilica rublja: Rad ");} else {// Izlazni podaci na serijski monitor Serial.println (" Perilica/sušilica rublja: Završeno ");
// Izlaženje podataka na web poslužitelj
server.sendContent ("
Perilica/sušilica rublja: Dovršeno ");}}
void setup ()
{// Inicializirajte I2C komunikaciju kao MASTER Wire.begin (2, 14); // Pokreće serijsku komunikaciju, postavlja brzinu prijenosa = 115200 Serial.begin (115200);
// Povezivanje na WiFi mrežu
WiFi.begin (ssid, lozinka);
// Pričekajte vezu
while (WiFi.status ()! = WL_CONNECTED) {kašnjenje (500); Serial.print ("."); } Serial.println (""); Serial.print ("Povezano sa"); Serial.println (ssid);
// Dobijte IP adresu ESP8266
Serial.print ("IP adresa:"); Serial.println (WiFi.localIP ());
// Pokretanje poslužitelja
server.on ("/", handleroot); server.begin (); Serial.println ("HTTP poslužitelj pokrenut");
// Pokretanje I2C prijenosa
Wire.beginTransmission (Addr); // Odabir upravljačkog registra 1 Wire.write (0x20); // Omogući X, Y, Z os, način uključivanja, izlazna brzina podataka 50Hz Wire.write (0x27); // Zaustavljanje I2C prijenosa Wire.endTransmission ();
// Pokretanje I2C prijenosa
Wire.beginTransmission (Addr); // Odabir upravljačkog registra 4 Wire.write (0x23); // Postavljanje pune skale, +/- 100g, kontinuirano ažuriranje Wire.write (0x00); // Zaustavljanje I2C prijenosa Wire.endTransmission (); kašnjenje (300); }
void loop ()
{server.handleClient (); }
Korak 4: Praktičnost Kodeksa
Sada preuzmite (git pull) ili kopirajte kôd i otvorite ga u Arduino IDE -u.
Sastavite i otpremite kôd i pogledajte izlaz na svom serijskom monitoru. Nakon nekoliko sekundi prikazat će se svi parametri.
Kopirajte IP adresu ESP8266 sa serijskog monitora i zalijepite je u svoj web preglednik. Vidjet ćete web stranicu s očitanjem ubrzanja u 3 osi i statusom mašine za pranje/sušenje rublja. Prije nego prijeđete na završno testiranje, morate izmijeniti vrijednost ubrzanja prema položaju bubnja perilice i položaju senzora u if-else stanju u kodu.
Izlaz senzora na serijskom monitoru i web serveru prikazan je na gornjoj slici.
Korak 5: Aplikacije i nadogradnja
Uz pomoć ovog projekta možete pratiti stanje svoje mašine za pranje/sušenje veša na vašim telefonima i laptop računarima. Nema potrebe da stalno ponavljate i držite/slušate kako biste dovršili zadatak.
Na vaš telefon možete dobiti i poruku u kojoj se navodi da je mašina završila svoj zadatak. Ovim ćete se uvijek sjećati odjeće u perilici. U tu svrhu možete jednostavno nadograditi ovaj projekt dodavanjem dijela u gore navedeni kod.
Nadam se da vam se sviđa ovaj projekt i da će vas inspirirati na daljnje eksperimentiranje. Ploča Adafruit Huzzah ESP8266 nevjerojatno je svestrana, jeftina i dostupna svim hobistima. Ovo je samo jedan od mnogih jednostavnih projekata koji se mogu konstruirati pomoću ESP8266.
Korak 6: Resursi za napredak
Za više informacija o H3LIS331DL i ESP8266, pogledajte donje veze:
- Tehnički list senzora H3LIS331DL
- ESP8266 Tehnički list
Također možete pogledati naše dodatne članke o projektima kućne automatizacije i ESP8266:
- Kućna automatizacija sa ESP8266 i relejnim kontrolerom
- Kontrolna svjetla sa ESP8266 i senzorom pritiska
Preporučuje se:
Kako pronaći igle motora perilice rublja: 6 koraka
Kako pronaći igle motora perilice rublja: Pronalaženje iglica motora perilice rublja uz pomoć digitalnog multimetra. Potreban nam je multimetar u načinu rada za ispitivanje kontinuiteta i sličan univerzalni motor za pranje rublja poput onog na gornjoj slici. Mi ćemo počnite prvo vizualnim pregledom t
Praćenje varijacija ubrzanja s Raspberry Pi i MMA7455 pomoću Pythona: 6 koraka
Praćenje varijacija ubrzanja s Raspberry Pi i MMA7455 pomoću Pythona: Nisam se spotaknuo, testirao sam gravitaciju. Još uvijek radi … Prikaz ubrzavajućeg svemirskog šatla pojasnio je da bi sat na najvišoj točki shuttlea odabrao brže od onog u bazi zbog širenja gravitacijskog vremena. Neki
Shema ožičenja motora perilice rublja: 6 koraka
Dijagram ožičenja motora perilice rublja: Da bismo mogli spojiti motor mašine za pranje rublja ili univerzalni motor, trebat će nam dijagram koji se naziva dijagram ožičenja motora mašine za pranje rublja, ovaj se može koristiti za povezivanje ovog univerzalnog motora na 220v ac ili dc samo slijedite isti dijagram
Kako je bilo lako popraviti elektroniku moje perilice rublja: 5 koraka (sa slikama)
Kako je bilo lako popraviti elektroniku moje mašine za pranje rublja: Zašto? Pošto sam proizvođač, volim da popravljam svoje stvari, što je ponekad problem jer one ostaju neaktivne dok ja nađem neko vrijeme da smislim strategiju nečistoće problem. Popravljanje nečega obično je jednostavno i zabavno, ali pronalaženje ca
Upozorenje Arduino perilice -sušilice rublja - Push obavijest na telefon sa Blynkom: 5 koraka (sa slikama)
Upozorenje Arduino perilice -sušilice rublja - Obavijestite telefon putem Blynka: Naša mašina za pranje rublja je u garaži i ne možemo čuti zvučne signale koji ukazuju na to da je pranje završeno. Htio sam pronaći način da dobijem obavijest, gdje god se nalazili u kući, kada se ciklus završi. Petljao sam s Arduinom, ESP8266 WiFi