Kazalo:

Upravljajte fluorescenčne sijalke z laserskim kazalcem in Arduinom: 4 koraki
Upravljajte fluorescenčne sijalke z laserskim kazalcem in Arduinom: 4 koraki

Video: Upravljajte fluorescenčne sijalke z laserskim kazalcem in Arduinom: 4 koraki

Video: Upravljajte fluorescenčne sijalke z laserskim kazalcem in Arduinom: 4 koraki
Video: Что делать, если флуоресцентные лампы мерцают? Если да, замените балласт! 2024, November
Anonim
Upravljajte fluorescenčne sijalke z laserskim kazalcem in Arduinom
Upravljajte fluorescenčne sijalke z laserskim kazalcem in Arduinom
Upravljajte fluorescenčne sijalke z laserskim kazalcem in Arduinom
Upravljajte fluorescenčne sijalke z laserskim kazalcem in Arduinom

Nekaj članov Hackerspacea Alpha One Labs ne mara ostre svetlobe, ki jo oddajajo fluorescenčne napeljave. Želeli so način, kako bi lahko enostavno upravljali posamezne napeljave, morda z laserskim kazalcem? Izkopal sem kup polprevodniških relejev in jih prinesel v laboratorij. Kupil sem Arduino Duemilenovo in dokazal uporabo vzorčne skice LED Blink za dejansko utripanje halogenske žarnice. Našel sem nekaj informacij o uporabi LED kot svetlobnih senzorjev [1] in skici Arduina, ki prikazuje tehniko [2]. Ugotovil sem, da LED diode niso bile dovolj občutljive - laser je moral usmeriti naravnost v del, ki oddaja svetlobo, ali LED se ne bi registriral. Zato sem prešel na fototranzistorje. So veliko bolj občutljivi in v širšem razponu frekvenc. Z ustreznim filtrom nad tranzistorjem bi ga lahko naredil bolj občutljivega na rdečo svetlobo in iz precej širšega kota na senzor. Uporabite zdrav razum, če gradite to vezje - če dvomite o nečem, vprašajte nekoga, ki ve. Odgovorni ste za svojo (in varnost drugih) ter skladnost z lokalnimi električnimi kodeksi.

1. korak: Skica in nekaj teorije

Predvidevam, da veste, kako napajati svoj Arduino, in zbrati in naložiti skico. Za vsako svetilko uporabljam telefonski kabel, ker je poceni, ima štiri vodnike, pa sem vseeno imel na kupu. Uporabil sem rdečo za običajno +, črno za tla, zeleno za zbiralnik fototranzistorjev in rumeno za krmiljenje releja +. Fototranzistor prenaša količino toka, ki se spreminja glede na količino svetlobe, ki pada nanj. Analogno -digitalni pretvornik (ADC) v arduinu meri napetost na zatiču glede na ozemljitev. Pogledala sem podatkovni list fototranzistorja in z multimetrom preverila, da tranzistorji prehajajo 10 mA pri polni svetlobi. Z Ohmovim zakonom je to približno 500 ohmov pri 5V. Za nadzor svetilk sem uporabil polprevodniški relejni modul. Te so glede na trenutno oceno, ki smo jo potrebovali, relativno poceni, približno 4 USD za do 4A. Ne pozabite kupiti relejnih modulov z detektorjem ničelnega prehoda, še posebej, če nadzorujete karkoli induktivnega, na primer fluorescenčno svetlobo, motor ali transformator za stenske bradavice. Če jih vklopite ali izklopite kjer koli, razen na ničelni točki, lahko pride do napetosti, ki bodo v najboljšem primeru skrajšale življenjsko dobo vaše naprave, v najslabšem primeru pa sprožile požar.

Korak: Ožičenje luči

Ožičenje luči
Ožičenje luči
Ožičenje luči
Ožičenje luči
Ožičenje luči
Ožičenje luči

Poglejte v strop in se odločite, kje boste namestili krmilnik Arduino. Ne pozabite, da bo potreboval napajanje 7-12V. Prerežite dolžine telefonske žice (ali cat5 ali karkoli) približno dva metra daljše od razdalje od Arduina do vsake luči, ki jo želite nadzirati. Oglejte si povezavo od daljnovodov od stikala do balasta. Morda boste lahko naročili priključke (Newark Electronics prodaja serijo Wago 930, kar smo imeli). Potem vam ne bo treba prerezati obstoječih žic in lahko odstranite sistem, če gre kaj narobe. Spajajte ozemljitev (črno) na relejni vhod -in krmiljenje (rumeno) na relejni vhod + (barvna koda na sliki je drugačno od tistega, kar sem dal na prvo stran, saj sem si premislil, kaj bi bilo smiselno). Spajajte ali privijte (odvisno od vašega releja) črno (vročo) žico skozi rele. Uporabljajte toplotno skrčljiv in električni trak! Črne žice potisnite v svoje konektorje, bela (nevtralna) in ozemljitvena (zelena) pa sta naravnost od priključka do priključka. Drugi konec žic gre na Arduino na naslednji način: Vse rdeče žice (skupna katoda ali zbiralnik) pojdite na Analog 0 (vrata C0) in črno na tla. Vsaka zelena (anoda ali oddajnik) gre na nožice 8-13 (vrata B 0-5), rumene žice pa na nožice 2-7 (vrata D 2-7). Prepričajte se, da se zelena in rumena žica ujemata, saj mora senzor nadzirati ustrezen rele! Če rumeno vstavite v pin 2, bo zelena iz iste napeljave prešla v pin 8.

3. korak: Preizkusite skice in opombe o načrtovanju

V tem koraku bom govoril o nekaterih preizkušnjah in stiskah, s katerimi sem se srečal na poti, in o tem, kako sem jih premagal, v upanju, da bodo koristne. Če znanstvena vsebina ni vaša stvar, lahko preskočite na naslednji korak:-) Prvi korak je bila odločitev, ali uporabiti kapacitivno zaznavanje ali uporovno zaznavanje. Uporno zaznavanje povezuje senzor preko upora na enega od analognih zatičev in izvaja analogno branje ter primerjavo s pragom. To je najpreprostejša izvedba, vendar zahteva veliko kalibracije. Teorija kapacitivnega zaznavanja je, da LED pri povratni pristranskosti (- na vodilo + in obratno) ne bo dovolila pretoka toka, vendar se bodo elektroni zbrali na eni strani in zapustite drugo stran in učinkovito napolnite kondenzator. Svetloba, ki pada na LED pri frekvenci, ki jo običajno oddaja, bo dejansko povzročila majhen tok, ki izprazni ta kondenzator. Če torej napolnimo 'kondenzator' LED in štejemo, koliko časa traja, da se izprazni skozi upor, dobimo grobo predstavo o tem, koliko svetlobe pade na LED. To se je dejansko izkazalo za bolj zanesljivo pri različnih napravah in celo deluje za fototranzistorje! Ker ne izvajamo natančne meritve lumena in bi moral biti laserski kazalec precej svetlejši od zunanjega, iščemo le prag pražnjenja. Drugi pomemben del te pustolovščine je odpravljanje napak. Za tiste, ki poznate programiranje ne-vgrajenih sistemov, je priljubljena metoda dodajanje izpisov na kritičnih točkah kode. To velja tudi za vgrajene sisteme, vendar ko šteje vsaka mikrosekunda, traja čas do Serial.write ("x je"); Serial.writeln (x); je pravzaprav precej pomemben in v tem procesu lahko zamudite veliko dogodkov. Zato ne pozabite, da svoje izjave o tiskanju vedno postavite zunaj kritičnih zank ali kadar koli pričakujete dogodek. Včasih utripajoča LED -dioda zadostuje, če želite vedeti, da ste prišli do določene točke kode.

4. korak: Dodajanje spletnega nadzora

Dodajanje spletnega nadzora
Dodajanje spletnega nadzora

Če ste pogledali skico, ste opazili, da sem prebral tudi serijska vrata in deloval na nekaj ukazov z enim znakom. Znak 'n' prižge vse luči, 'f' pa jih ugasne. Številke '0'-'5' preklopijo stanje svetlobe, povezane z digitalnim izhodom. Tako lahko preprosto sestavite skript CGI (ali servlet ali katero koli drugo spletno tehnologijo, ki pluje na vašem čolnu) za daljinsko upravljanje luči. Serial.writes oddaja tudi vsakič, ko se svetloba spremeni z uporabniškega vnosa, zato lahko stran vsebuje posodobitve Ajaxa za prikaz trenutnega stanja. Druga stvar, s katero bom eksperimentiral, je zaznavanje gibanja v sobi. Ljudje odsevajo svetlobo in ko se premikajo, se bo svetloba spreminjala. To je "delta" del pisnih izjav, ki jih imam.

Priporočena: