Turinys:
- 1 žingsnis: įranga, kurios mums reikia
- 2 žingsnis: aparatinės įrangos jungtys
- 3 žingsnis: „Adafruit Huzzah ESP8266 Arduino“kodas
- VISKĄ VALDYTI
- H3LIS331DL jutiklio I2C mini modulis
- 4 žingsnis: Kodekso praktiškumas
- 5 žingsnis: programos ir naujovinimas
- 6 veiksmas: ištekliai einant toliau
Video: Drabužių skalbimo/džiovinimo stebėjimas naudojant ESP8266 ir pagreičio jutiklis: 6 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
Drabužių skalbimo mašina/džiovyklė yra rūsyje, ir jūs, kaip taisyklė, įdedate į ją krūvą drabužių, o po to jūs užsiimate kitu namų darbu. Jūs nepastebite drabužių, kurie jūsų mašinos rūsyje buvo sudrėkinti ir sugeriantys. Na ir vėl, kartkartėmis tiesiog nusileidi žemyn, tikėdamasi, kad mašina baigs darbą, o vėliau pamatai, kad mašina vis dar veikia. Žinau, tai erzina.
Įsivaizduokite scenarijų, kuriame galite stebėti drabužių skalbimo/džiovinimo būseną savo mobiliajame telefone ar planšetiniame kompiuteryje. Panašiai, kur savo telefone galite gauti pranešimą, kuriame nurodoma, kad aparatas baigė užduotį. Skamba nepaprastai patraukliai ir jaukiai, tiesa!
Iš tiesų, padedant ESP8266 ir akselerometro jutikliui, galite stebėti drabužių skalbimo/džiovinimo būseną. Jūs galite tai padaryti savo namuose paprastu būdu, jei tik vykdysite instrukcijas ir nukopijuosite kodą.
1 žingsnis: įranga, kurios mums reikia
1. Adafruit Huzzah ESP8266
Pirmasis žingsnis buvo gauti „Adafruit Huzzah ESP8266“plokštę. „Adafruit Huzzah ESP8266“yra nebrangus „Wi-Fi“lustas, turintis pilną TCP/IP kaminą ir mikrovaldiklio galimybes. ESP8266 suteikia subrendusią platformą programoms stebėti ir valdyti naudojant „Arduino Wire Language“ir „Arduino IDE“. ESP8266 modulis yra labai ekonomiška plokštė, turinti didžiulę ir nuolat augančią bendruomenę.
2. „Adafruit Huzzah ESP8266“pagrindinio kompiuterio adapteris (USB programuotojas)
Šis ESP8266 pagrindinio kompiuterio adapteris buvo sukurtas specialiai ESP8266 „Adafruit Huzzah“versijai, užtikrinančiai I²C sąsają. Integruotas USB prievadas maitina ir programuoja ESP8266.
3. H3LIS331DL pagreičio jutiklis
H3LIS331DL yra mažos galios didelio našumo 3 ašių linijinis akselerometras su skaitmenine I²C nuoseklia sąsaja. Jis skirtas pagreičiams matuoti, kai išvesties duomenų dažnis yra nuo 0,5 Hz iki 1 kHz. Visa tai daro šį jutiklį idealiu pasirinkimu šiam projektui.
4. Prijungimo kabelis
Aš naudoju I²C jungiamąjį kabelį, kurį galima rasti aukščiau esančioje nuorodoje.
5. Mini USB kabelis
Mini USB kabelis Maitinimo šaltinis yra idealus pasirinkimas maitinant „Adafruit Huzzah ESP8266“.
2 žingsnis: aparatinės įrangos jungtys
Apskritai jungtys yra labai paprastos. Vykdykite toliau pateiktas instrukcijas ir paveikslėlius, ir jums neturėtų kilti sunkumų.
„Adafruit Huzzah ESP8266“ir USB programuotojo prijungimas
Pirmiausia paimkite „Adafruit Huzzah ESP8266“ir įdėkite USB programuotoją (su į vidų nukreiptu I²C prievadu). Švelniai paspauskite USB programuotoją į vietą ir baigsime šį veiksmą. Lengva kaip pyragas (žr. 1 pav.).
Jutiklio ir „Adafruit Huzzah ESP8266“prijungimas
Paimkite jutiklį ir prijunkite prie jo I²C kabelį. Kad šis kabelis veiktų tinkamai, atminkite, kad I²C išėjimas VISADA jungiasi prie I²C įvesties. Tas pats turėtų būti daroma ir su „Adafruit Huzzah ESP8266“su USB programuotoju (žr. 2 pav.).
Naudojant ESP8266 USB programuotoją, labai lengva programuoti ESP8266. Viskas, ką jums reikia padaryti, tai prijungti jutiklį prie USB programuotojo ir viskas gerai. Aš norėčiau naudoti šį adapterį, nes tai labai palengvina aparatūros prijungimą. Be šio „plug and play“USB programuotojo yra didelė rizika užmegzti neteisingą ryšį. Vienas neteisingas laidas gali užmušti jūsų „Wi -Fi“ir jutiklį.
Pastaba: ruda viela visada turi sekti įžeminimo (GND) jungtį tarp vieno įrenginio išvesties ir kito įrenginio įvesties
Grandinės maitinimas
Prijunkite mini USB kabelį prie „Adafruit Huzzah ESP8266“maitinimo lizdo. Užsidega ir voila, mums gera eiti!
Galutinis surinkimas atrodys kaip 3 paveikslėlyje.
Įdėkite jutiklį į audinių skalbyklę/džiovyklę
Prieš tai darydami įsitikinkite, kad visiškai uždengėte jutiklį plastiku, kad jis išliktų kontakte su vandeniu. Dabar įdėkite jutiklį ir įklijuokite jį ant drabužių skalbyklės/džiovyklės būgno. Darykite tai sąmoningai, nepažeisdami skalbyklės/džiovyklės laidų ir nesusižalodami.
Taip mes baigsime visus aparatūros darbus.
3 žingsnis: „Adafruit Huzzah ESP8266 Arduino“kodas
„Adafruit Huzzah ESP8266“ir „H3LIS331DL“jutiklių ESP kodą rasite mūsų „Github“saugykloje.
Prieš pereidami prie kodo, būtinai perskaitykite „Readme“faile pateiktas instrukcijas ir pagal tai nustatykite „Adafruit Huzzah ESP8266“. Tai užtruks tik akimirką.
Pastaba: prieš įkeldami į kodą būtinai įveskite SSID tinklą ir slaptažodį
Taip pat galite nukopijuoti šio jutiklio ESP kodą:
// Platinama su laisvos valios licencija. // Audinių skalbimo/džiovinimo stebėjimas naudojant ESP8266 // Šis kodas skirtas dirbti su „H3LIS331DL_I2CS I2C Mini“moduliu, kurį galima įsigyti iš „Dcubestore.com“. //
#įtraukti
#įtraukti #įtraukti #įtraukti
// H3LIS331DL I2C adresas yra 0x18 (24)
#define Addr 0x18
const char* ssid = "tavo ssid tinklas";
const char* password = "tavo slaptažodis";
ESP8266WebServer serveris (80);
tuščia rankena ()
{unsigned int data [6];
for (int i = 0; i <6; i ++) {// Pradėti I2C perdavimo laidą.beginTransmission (Addr); // Pasirinkite duomenų registrą Wire.write ((40 + i)); // Stop I2C Transmission Wire.endTransmission ();
// Prašyti 1 baito duomenų
Wire.requestFrom (Addr, 1); // Skaityti 6 baitus duomenų // xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb if (Wire.available () == 1) {data = Wire.read (); }} uždelsimas (300);
// Konvertuoti duomenis
int xAccl = ((duomenys [1] * 256) + duomenys [0]); if (xAccl> 32767) {xAccl -= 65536; } int xAcc = ((100 * 9,8) / 32768) * xAccl;
int yAccl = ((duomenys [3] * 256) + duomenys [2]);
if (yAccl> 32767) {yAccl -= 65536; } int yAcc = ((100 * 9,8) / 32768) * yAccl;
int zAccl = ((duomenys [5] * 256) + duomenys [4]);
if (zAccl> 32767) {zAccl -= 65536; } int zAcc = ((100 * 9,8) / 32768) * zAccl;
// Duomenų išvedimas į serijinį monitorių
Serial.print ("pagreitis X ašyje:"); Serial.print (xAcc); Serial.println ("m/s"); Serial.print ("pagreitis Y ašyje:"); Serial.print (yAcc); Serial.println ("m/s"); Serial.print („Pagreitis Z ašyje:“); Serial.print (zAcc); Serial.println ("m/s"); vėlavimas (300);
// Išvesti duomenis į žiniatinklio serverį
server.sendContent ("<meta http-equiv = 'refresh' content = '10 '""
VISKĄ VALDYTI
www.controleverything.com
H3LIS331DL jutiklio I2C mini modulis
"); server.sendContent ("
Pagreitis X ašyje = " + eilutė (xAcc) +" m/s/s "); server.sendContent ("
Pagreitis Y ašyje = " + eilutė (yAcc) +" m/s/s "); server.sendContent ("
Pagreitis Z ašyje = " + eilutė (zAcc) +" m/s/s ");
jei (xAcc> 2)
{// Išvesties duomenys į serijinį monitorių Serial.println ("Audinių skalbimo mašina/džiovintuvas: veikia");
// Išvesti duomenis į žiniatinklio serverį
server.sendContent ("
Audinių skalbimo mašina/džiovintuvas: veikia ");} else {// Duomenų išvedimas į serijinį monitorių Serial.println (" Audinių skalbimo mašina/džiovyklė: baigta ");
// Išvesti duomenis į žiniatinklio serverį
server.sendContent ("
Audinių skalbimo/džiovinimo mašina: baigta ");}}
negaliojanti sąranka ()
{// Inicijuoti I2C ryšį kaip MASTER Wire.begin (2, 14); // Inicijuoti nuoseklųjį ryšį, nustatyti duomenų perdavimo spartą = 115200 Serial.begin (115200);
// Prisijunkite prie „WiFi“tinklo
WiFi.begin (ssid, slaptažodis);
// Palaukite ryšio
while (WiFi.status ()! = WL_CONNECTED) {delay (500); Serijinis atspaudas ("."); } Serial.println (""); Serial.print ("Prisijungta"); Serial.println (ssid);
// Gaukite ESP8266 IP adresą
Serial.print („IP adresas:“); Serial.println (WiFi.localIP ());
// Paleisti serverį
server.on ("/", rankena); server.begin (); Serial.println („HTTP serveris paleistas“);
// Pradėti I2C perdavimą
Wire.beginTransmission (Addr); // Pasirinkite valdymo registrą 1 Wire.write (0x20); // Įgalinti X, Y, Z ašis, įjungimo režimą, duomenų išvesties spartą 50Hz Wire.write (0x27); // Stop I2C Transmission Wire.endTransmission ();
// Pradėti I2C perdavimą
Wire.beginTransmission (Addr); // Pasirinkite valdymo registrą 4 Wire.write (0x23); // Nustatyti visą skalę, +/- 100g, nuolat atnaujinti Wire.write (0x00); // Stop I2C Transmission Wire.endTransmission (); vėlavimas (300); }
tuštumos kilpa ()
{server.handleClient (); }
4 žingsnis: Kodekso praktiškumas
Dabar atsisiųskite (git pull) arba nukopijuokite kodą ir atidarykite jį „Arduino IDE“.
Surinkite ir įkelkite kodą ir pamatykite savo serijinio monitoriaus išvestį. Po kelių sekundžių jis parodys visus parametrus.
Nukopijuokite ESP8266 IP adresą iš serijinio monitoriaus ir įklijuokite jį į savo interneto naršyklę. Pamatysite tinklalapį su pagreičio skaitymu 3 ašimis ir audinio skalbimo/džiovinimo būsena. Prieš pereidami prie paskutinio bandymo, turite pakeisti pagreičio vertę, atsižvelgdami į skalbyklės būgno padėtį ir jutiklio vietą, jei kode yra „jei kitaip“.
Serijinio monitoriaus ir žiniatinklio serverio jutiklio išvestis parodyta aukščiau esančiame paveikslėlyje.
5 žingsnis: programos ir naujovinimas
Naudodamiesi šiuo projektu, galite stebėti savo drabužių skalbimo/džiovinimo būseną savo telefonuose ir nešiojamuosiuose kompiuteriuose. Nereikia kartoti ir klausytis, kad atliktumėte užduotį.
Taip pat galite gauti pranešimą į savo telefoną, kuriame nurodoma, kad aparatas atliko užduotį. Taip visada prisiminsite skalbimo mašinoje esančius drabužius. Norėdami tai padaryti, galite tiesiog atnaujinti šį projektą, pridėdami tam tikrą dalį aukščiau pateikto kodo.
Tikiuosi, kad jums patinka šis projektas ir jis įkvepia tolesniems eksperimentams. „Adafruit Huzzah ESP8266“lenta yra neįtikėtinai universali, pigi ir prieinama visiems mėgėjams. Tai tik vienas iš daugelio paprastų projektų, kuriuos galima sukurti naudojant ESP8266.
6 veiksmas: ištekliai einant toliau
Norėdami gauti daugiau informacijos apie H3LIS331DL ir ESP8266, patikrinkite toliau pateiktas nuorodas:
- H3LIS331DL jutiklio duomenų lapas
- ESP8266 duomenų lapas
Taip pat galite peržiūrėti mūsų papildomus straipsnius apie namų automatikos ir ESP8266 projektus:
- Namų automatizavimas su ESP8266 ir relės valdikliu
- Kontroliniai žibintai su ESP8266 ir slėgio jutikliu
Rekomenduojamas:
Akmens LCD + pagreičio giroskopo jutiklis: 5 žingsniai
Akmens LCD +pagreičio giroskopo jutiklis: Šis dokumentas išmokys jus naudoti STM32 MCU +MPU6050 pagreičio matuoklio giroskopo jutiklį +STONE STVC070WT nuoseklaus prievado ekraną DEMO. STVC070WT yra mūsų įmonės nuoseklusis ekranas, jo kūrimas yra paprastas, paprastas naudoti , galite eiti pas mus
Sąsajos jutiklis, SPS-30, kietųjų dalelių jutiklis su „Arduino Duemilanove“naudojant I2C režimą: 5 žingsniai
Sąsajos „Sensirion“, SPS-30, kietųjų dalelių jutiklis su „Arduino Duemilanove“naudojant I2C režimą: Kai nagrinėjau SPS30 jutiklių sąsajas, supratau, kad dauguma šaltinių yra skirti „Raspberry Pi“, bet ne tiek daug „Arduino“. Aš skiriu šiek tiek laiko, kad jutiklis veiktų su „Arduino“, ir nusprendžiau čia paskelbti savo patirtį, kad ji galėtų
Pagreitėjimo stebėjimas naudojant „Raspberry Pi“ir AIS328DQTR naudojant „Python“: 6 žingsniai
Pagreitėjimo stebėjimas naudojant „Raspberry Pi“ir „AIS328DQTR“naudojant „Python“: pagreitis yra baigtinis, manau, pagal kai kuriuos fizikos įstatymus.- Terry Riley A gepardas naudoja nuostabų pagreitį ir greitus greičio pokyčius. Greičiausias padaras į krantą kartkartėmis naudoja didžiausią tempą grobiui sugauti
Skalbimo mašinos pranešimo jutiklis: 6 žingsniai (su nuotraukomis)
Pranešimo apie skalbimo mašiną jutiklis: Šis skalbimo mašinos jutiklis yra ant mano skalbimo mašinos ir naudoja akselerometrą, kad aptiktų mašinos vibraciją. Pajutęs, kad skalbimo ciklas baigtas, jis siunčia man pranešimą į mano telefoną. Aš tai sukūriau, nes pati mašina
„Arduino Nano“ir „Visuino“: pagreičio konvertavimas į kampą iš akselerometro ir giroskopo MPU6050 I2C jutiklis: 8 žingsniai (su nuotraukomis)
„Arduino Nano“ir „Visuino“: pagreičio konvertavimas į kampą iš akcelerometro ir giroskopo MPU6050 I2C jutiklis: prieš kurį laiką paskelbiau pamoką, kaip prijungti MPU9250 pagreičio matuoklį, giroskopą ir kompaso jutiklį prie „Arduino Nano“ir užprogramuoti jį su „Visuino“, kad būtų siunčiami paketiniai duomenys ir ekranas tai apimtis ir vizualiniai instrumentai. Akselerometras siunčia X, Y