Sadržaj:

Upravljajte fluorescentnim svjetlima laserskim pokazivačem i Arduinom: 4 koraka
Upravljajte fluorescentnim svjetlima laserskim pokazivačem i Arduinom: 4 koraka

Video: Upravljajte fluorescentnim svjetlima laserskim pokazivačem i Arduinom: 4 koraka

Video: Upravljajte fluorescentnim svjetlima laserskim pokazivačem i Arduinom: 4 koraka
Video: kako prebaciti fluo svjetiljku 618 na led 2024, Novembar
Anonim
Upravljajte fluorescentnim svjetlima laserskim pokazivačem i Arduinom
Upravljajte fluorescentnim svjetlima laserskim pokazivačem i Arduinom
Upravljajte fluorescentnim svjetlima laserskim pokazivačem i Arduinom
Upravljajte fluorescentnim svjetlima laserskim pokazivačem i Arduinom

Nekoliko članova Alpha One Labs Hackerspacea ne voli oštro svjetlo koje ispuštaju fluorescentna svjetla. Htjeli su način da lako upravljaju pojedinačnim uređajima, možda laserskim pokazivačem? Uspio sam. Iskopao sam hrpu poluprovodničkih releja i odnio ih u laboratorij. Kupio sam Arduino Duemilenovu i demonstrirao upotrebu primjera skice LED Blink za stvarno treptanje halogene lampe. Pronašao sam neke informacije o korištenju LED -a kao svjetlosnih senzora [1] i Arduino skici koja demonstrira tehniku [2]. Otkrio sam da LED diode nisu dovoljno osjetljive - laser je morao usmjeriti ravno u dio koji emitira svjetlost, ili LED ne bi se registrovao. Pa sam prešao na fototranzistore. Oni su mnogo osjetljiviji i na širem rasponu frekvencija. S odgovarajućim filterom preko tranzistora mogao bih ga učiniti osjetljivijim na crveno svjetlo, te iz mnogo šireg raspona kutova prema senzoru. ODRICANJE OD PORUKE I UPOZORENJE: Ovo uputstvo se bavi mrežnim (mrežnim) naponom na 120 ili 240 volti. Koristite zdrav razum ako gradite ovo kolo - ako sumnjate u nešto, pitajte nekoga ko zna. Vi ste odgovorni za svoju (i tuđu) sigurnost i poštivanje lokalnih električnih kodeksa.

Korak 1: Skica i neka teorija

Pretpostavit ću da znate kako napajati svoj Arduino, i sastaviti i učitati skicu. Za svaku lampu koristim telefonski kabel, jer je jeftin, ima četiri vodiča, a ja sam ionako imao hrpu. Koristio sam crvenu za uobičajeni +, crnu za uzemljenje, zelenu za kolektor fototranzistora i žutu za kontrolu releja +. Fototranzistor propušta količinu struje koja varira ovisno o količini svjetlosti koja pada na njega. Analogno -digitalni pretvarač (ADC) u arduinu mjeri napon na pinu u odnosu na masu. Pogledao sam list sa fototranzistorima i multimetrom provjerio da tranzistori prolaze 10mA pri punom svjetlu. Koristeći Ohmov zakon, to je oko 500 ohma na 5V. Za kontrolu svjetiljki koristio sam poluprovodnički relejni modul. Oni su relativno jeftini po trenutnoj ocjeni koja nam je trebala, oko 4 USD za do 4A. Obavezno kupite relejne module s detektorom prelaska nule, posebno ako kontrolirate bilo što induktivno, poput fluorescentnog svjetla, motora ili transformatora sa zidnim bradavicama. Uključivanje ili isključivanje bilo gdje osim nulte točke može uzrokovati skokove napona koji će u najboljem slučaju skratiti vijek trajanja vašeg uređaja, a u najgorem slučaju izazvati požar.

Korak 2: Ožičenje svjetla

Ožičenje svjetla
Ožičenje svjetla
Ožičenje svjetla
Ožičenje svjetla
Ožičenje svjetla
Ožičenje svjetla

Zavirite u strop i odlučite gdje ćete montirati Arduino kontroler. Zapamtite da će mu trebati napajanje snage 7-12v. Prerežite dužine telefonske žice (ili cat5 ili bilo što drugo) otprilike dvije stope duže od udaljenosti od Arduina do svakog svjetla koje želite kontrolirati. Pogledajte vezu sa dalekovoda od prekidača do balasta. Možda ćete moći naručiti konektore (Newark Electronics prodaje Wago 930 seriju, što smo i imali). Tada nećete morati presjeći postojeće žice i možete ukloniti sistem ako nešto krene naopako. Lemite uzemljenje (crno) na relejni ulaz -, a kontrolu (žuto) na relejni ulaz + (kôd boje na slici je razlikuje se od onoga što sam stavio na naslovnu stranicu, budući da sam se predomislio o tome šta bi imalo smisla). Spajati ili pričvrstiti (ovisno o vašem releju) crnu (vruću) žicu kroz relej. Upotrijebite termoskupljajuću i električnu traku! Gurnite crne žice u svoje konektore, a bijela (neutralna) i masa (zelena) upravo prolaze od konektora do konektora. Drugi kraj žica ide do Arduina na sljedeći način: Sve crvene žice (zajednička katoda ili kolektor) idite na Analog 0 (port C0) i sve crno na masu. Svaka zelena (anoda ili odašiljač) ide na pinove 8-13 (port B 0-5), a žute žice idu na pinove 2-7 (port D 2-7). Uvjerite se da se zelena i žuta žica podudaraju, jer senzor mora kontrolirati odgovarajući relej! Ako stavite žutu boju u iglu 2, zelena iz iste svjetiljke prelazi u pin 8.

Korak 3: Testiranje skica i napomena o dizajnu

U ovom koraku ću govoriti o nekim iskušenjima i nedaćama na koje sam naišao na putu, te o tome kako sam ih prošao, u nadi da će to biti korisno. Slobodno preskočite na sljedeći korak ako vam znanstveni sadržaj nije najvažniji:-) Prvi korak je bio odlučivanje hoćete li koristiti kapacitivno ili rezistivno osjetljivo otkrivanje. Otporno otkrivanje povezuje senzor preko otpornika na jedan od analognih pinova i vrši analogno čitanje i usporedbu s pragom. Ovo je najjednostavnije za implementaciju, ali zahtijeva mnogo kalibracije. Teorija kapacitivnog sensinga je ta da kada je obrnuto pristrasno (- na + vod i obrnuto), LED neće dopustiti protok struje, ali će se elektroni skupljati s jedne strane i ostavite drugu stranu, efikasno puneći kondenzator. Svjetlost koja pada na LED na frekvenciji koju normalno emitira zapravo će uzrokovati protok male struje, koja prazni ovaj kondenzator. Dakle, ako napunimo LED "kondenzator" i brojimo koliko je vremena potrebno za pražnjenje kroz otpornik, dobivamo grubu predodžbu o tome koliko svjetlosti pada na LED. Ovo je zapravo postalo pouzdanije na različitim uređajima, pa čak radi i za fototranzistere! Budući da ne radimo precizno mjerenje lumena, a laserski pokazivač trebao bi izgledati puno svjetliji od ambijenta, samo tražimo prag pražnjenja. Drugi važan dio ove avanture je otklanjanje pogrešaka. Za one koji poznaju programiranje neugrađenih sistema, popularan način je dodavanje ispisa ispisa na kritičnim mjestima koda. Ovo se odnosi i na ugrađene sisteme, ali kada se svaka mikrosekunda računa, količina vremena za Serial.write ("x je"); Serial.writeln (x); je zapravo prilično značajan i možda ćete propustiti mnogo događaja u tom procesu. Zato zapamtite da svoje ispise uvijek stavljate izvan kritičnih petlji ili kad god očekujete događaj. Ponekad je treptanje LED -a dovoljno da vas obavijesti da ste došli do određene tačke koda.

Korak 4: Dodavanje web kontrole

Dodavanje web kontrole
Dodavanje web kontrole

Ako ste pregledali skicu, primijetili ste da sam pročitao i serijski port i djelovao na nekoliko jednoznačnih naredbi. Znak 'n' uključuje sva svjetla, a 'f' ih isključuje. Brojevi '0'-'5' mijenjaju stanje svjetla povezanog na taj digitalni izlaz. Dakle, možete jednostavno sastaviti CGI skriptu (ili servlet ili bilo koju web tehnologiju koja pluta vašim brodom) za daljinsko upravljanje svjetlima. Serial.writes također emitira svaki put kada se svjetlo promijeni iz korisničkog unosa, tako da stranica može imati Ajax ažuriranja za prikaz trenutnog stanja. Još jedna stvar s kojom ću eksperimentirati je otkrivanje kretanja u prostoriji. Ljudi reflektiraju svjetlost, a kako se kreću, svjetlo će se mijenjati. To je 'delta' dio izjava o pisanju koje imam.

Preporučuje se: