Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Trebate znati jesu li garažna vrata otvorena? Trebate znati jeste li ušli dovoljno daleko da se vrata zatvore, a da niste udarili bicikl? Moram znati sve ovo s pristupom webu … Predstavljam garažni monitor 3000.
Kad automobil stigne na pravo mjesto, LED dioda svijetli zeleno u crveno. Ovo je rad u tijeku, ovo je samo verzija 1.0, mislim da će proći kroz nekoliko promjena kako bi bilo još bolje.
Korak 1: Dijelovi
Žica
1 Mercury switch 1 220 ohm Resistor 1 10k ohm otpornik 2 x 1k ohm otpornik 1 Red LED 1 Green LED 1 Parallax Internet Kit (PINK from parallax www.parallax.com) 1 BS2 Micro Controller (from parallax www.parallax.com) 1 PIR Detektor pokreta (sa parallax www.parallax.com) 1 temperaturni čip ds1620. 1 5v napajanje 1 kartonska poster cijev Nisam imao padova mreže u garaži, što sam očito morao popraviti, pa sam kupio linksys WET11 na ebayu za 20 USD.
Korak 2: Isključite kruh
Tako da očito moram i ja napraviti dijagram ožičenja … Ali ne možete pogriješiti ako slijedite primjere u PDF -ovima koji dolaze sa svim dijelovima paralakse. Ožičenje prekidača dolazi iz PDF -a Šta je mikro kontrolerOžičenje za PIR dolazi iz PIR dokumentacije PDFOžičenje za DS1620 dolazi iz PDF primijenjenih senzora. Ožičenje za PINK iz PINK PDF -a P0 - za pirP1 - Živin prekidačP5 - 1620P6 - 1620P7- 1620p12 - Za PINKP13 - Za PINKP14 - Zelena LED P15 - Crvena LED
Korak 3: Sada kada radi na vašoj matičnoj ploči …
Vjerovatno biste trebali programirati bs2, evo koda. Većina ovog koda blisko je zasnovana na primjerima u različitim PDF -ovima dostupnim na web mjestu paralakse. Plaćate više za BS2, ali dokumentacija je odlična. '{$ STAMP BS2}' {$ PBASIC 2.5} '' ----- (I/O definicije) ------------------------- ------------------------ PIR PIN 0 'I/O pin za PIR senzor LEDONE PIN 15' I/O pin za zeleni LEDLEDTWO PIN 14 'I/ O pin za crvenu LED diodu '----- (varijable) ------------------------------------ ------------------- brojač VAR bajt 'Trip Counterx VAR Word' definira varijable opće namjeneznaka VAR x. BIT15 'bitni znak xdegC VAR Word' definira varijablu za držanje stepeni CelzijusadegF VAR Riječ 'držati stupnjeve Fahrenheita' ----- (Inicijalizacija) -------------------------------- ------------------ DEBUG CLS 'Clear DEBUG ScreenSEROUT 12, 396, ("! NB0W07:", "Warming Up", CLS)' Recite PINK-u šta ima zaFOR counter = 10 TO 0 HIGH LEDONE 'Treperi LED diode LOW LEDTWO' Pričekajte 20 sekundi za PIR zagrijavanje DEBUG HOME, "Warming up:", DEC2 counter SEROUT 12, 396, ("! NB0W07: Warming up:", CLS) PAUSE 1000 LOW LEDONE HIGH LEDTWO PAUSE 1000 'Brojilo zaslona svake sekundeNEXTLOW LEDONELOW LEDTWOcounter = 0' Clear Counter VariableDEBUG HOME, "Čekanje "SEROUT 12, 396, ("! NB0W07: Čekanje … ", CLS) HIGH LEDTWOHIGH 5 'odaberite DS1620SHIFTOUT 7, 6, LSBFIRST, (238)'" start convertions "naredbaLOW 5 'izvršite naredbu' ----- (Programski kod) ---------------------------------------------- ------ Glavno: DA LI 'Detektor pokreta IF PIR = 1 ONDA' Otkriven pokret? counter = counter + 1 'Update Trip Counter HIGH LEDONE' LOW LEDTWO 'Light Red LED DEBUG HOME, "TRIPPED…", DEC3 counter SEROUT 12, 396, ("! NB0W07:", "Tripped …", CLS) DO: LOOP DO PIR = 0 'Sačekajte da PIR očisti DEBUG HOME, "CLEARED…", DEC3 counter SEROUT 12, 396, ("! NB0W07:", "Cleared …", CLS) LOW LEDONE HIGH LEDTWO' Isključite crvenu LED ENDIF ' Temperatura VISOKA 5 'odaberite DS1620 SHIFTOUT 7, 6, LSBFIRST, (170)' pošaljite naredbu "get data" SHIFTIN 7, 6, LSBPRE, (x / 9) 'preuzmite podatke, uključujući znak LOW 5' završite naredbu x. BYTE1 = -x. BIT8 'proširiti znak na 16 bita degC = x*5' pretvoriti u 'C*10 (rezolucija 0,5' C) degF = degC+2732*9/50-459 'pretvoriti u F DEBUG? degF, CR, CR 'Prikaži pri otklanjanju grešaka SEROUT 12, 396, ("! NB0W06:", DEC degF, CLS)' Detektor garažnih vrata. AKO IN1 = 0 ONDA SEROUT 12, 396, ("! NB0W08:", "Otvoreno", CLS) OSTALI SEROUT 12, 396, ("! NB0W08:", "Zatvoreno", CLS) ENDIF PAUZA 1000 LOOP
Korak 4: Prenesite datoteku na Pink
Koristio sam ovo za svoju web stranicu. Možete prenijeti na ružičastu putem FTP Garage Monitor 3000. onLoad = "if (self! = Top) top.location = self.location"> A: hover {text-decoration: underline; boja:#336633; }
Garage Monitor
Temperatura u garaži je: Mogućnost parkiranja automobila: Garažna vrata su: [https:// pink refresh]
Korak 5: Zatvorite vidno polje za PIR
Dakle, PIR ima ludo široko vidno polje, zatvorio sam to pomoću 5 -inčnog komada poster cijevi, ovu ideju sam dobio iz objave na forumima o paralaksi, koristili su širu cijev, ali i dalje je bilo zaista glatko Ideja.
PIR sam učvrstio na cijev tako što sam stavio rupu u čep cijevi i vruće je zalijepio. Spojio sam ovaj paket na matičnu ploču pomoću telefonskog kabela, imao sam ga na tone. Našao sam konektor sa 3 kraka na starom CPU ventilatoru koji sam koristio kao utikač za PIR.
Korak 6: Pričvrstite za zid
Učvrstio sam ovo na zidu tamo gdje mi auto mora stati da raščisti vrata. Koristio sam kravatu s patentnim zatvaračem i pištolj za spajanje.
Korak 7: Freddie Mercury
Priključio sam prekidač za živu na dno garažnih vrata, ponovo koristeći telefonski kabel jer sam ga imao toliko …
Korak 8: Sve spojite
Sve sam ovo pričvrstio na komad sintre samo da bi bilo čisto. Moram presjeći kraći Ethernet kabel, ali nemam krimper kod kuće.
Sljedeći koraci … Mora li to zaista biti stalno uključeno? Možda bih ga trebao uključiti kad se garažna vrata otvore i upali svjetlo. Na taj način bih mogao da ažuriram tabelu u bazi podataka sa poslednjim statusom? Pretpostavljam da je stalno raditi samo na neki način gubiti struju … Možda bih to trebao staviti u okvir projekta!