Indholdsfortegnelse:

Styr fluorescerende lys med en laserpointer og en Arduino: 4 trin
Styr fluorescerende lys med en laserpointer og en Arduino: 4 trin

Video: Styr fluorescerende lys med en laserpointer og en Arduino: 4 trin

Video: Styr fluorescerende lys med en laserpointer og en Arduino: 4 trin
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, November
Anonim
Styr fluorescerende lys med en laserpointer og en Arduino
Styr fluorescerende lys med en laserpointer og en Arduino
Styr fluorescerende lys med en laserpointer og en Arduino
Styr fluorescerende lys med en laserpointer og en Arduino

Et par medlemmer af Alpha One Labs Hackerspace kan ikke lide det hårde lys, der afgives af fluorescerende armaturer. De ville have en måde, hvorpå de let kunne styre de enkelte armaturer, måske med en laserpeger? Jeg kom lige på det. Jeg gravede en bunke solid state -relæer ud og bragte dem til laboratoriet. Jeg købte en Arduino Duemilenova og demonstrerede brugen af LED Blink eksempelskitsen til faktisk at blinke en halogenlampe. Jeg fandt nogle oplysninger om brug af lysdioder som lyssensorer [1] og en Arduino -skitse, der demonstrerede teknikken [2]. Jeg fandt ud af, at lysdioderne ikke var nær følsomme nok - laseren skulle pege direkte ind i den lysemitterende del eller LED'en ville ikke registrere. Så jeg skiftede til fototransistorer. De er meget mere følsomme og over et bredere frekvensområde. Med det korrekte filter over transistoren kunne jeg gøre det mere følsomt over for rødt lys, og fra en meget bredere vinkel til sensoren. AFSKRIVELSE OG ADVARSEL: Denne instruktør omhandler ledningsspænding ved 120 eller 240 volt. Brug sund fornuft, hvis du bygger dette kredsløb - hvis du er i tvivl om noget, så spørg en, der ved det. Du er ansvarlig for din (og andres) sikkerhed og overholdelse af lokale elektriske koder.

Trin 1: Skitsen og nogle teorier

Jeg går ud fra, at du ved, hvordan du driver din Arduino, og får en skitse samlet og indlæst. For hver lampe bruger jeg telefonkabel, da det er billigt, har fire ledere, og jeg havde alligevel en flok liggende. Jeg brugte rød til almindelig +, sort til jorden, grøn til fototransistorsamleren og gul til relæstyringen +. En fototransistor passerer en mængde strøm, der varierer med mængden af lys, der falder på den. Den analoge til digitale omformer (ADC) i arduinoen måler spændingen ved stiften i forhold til jorden. Jeg kiggede på fototransistordatabladet og verificerede med et multimeter, at transistorerne passerer 10mA ved fuldt lys. Ved hjælp af Ohms lov er det omkring 500 ohm ved 5V, Til styring af lamperne brugte jeg et solid state relæmodul. Disse er relativt billige ved den nuværende rating, vi havde brug for, omkring $ 4 for op til 4A. Sørg for at købe relæmoduler med en nulkrydsningsdetektor, især hvis du styrer noget induktivt, f.eks. Et fluorescerende lys, en motor eller en vorte-transformer. Slå dem til eller fra hvor som helst, men nulpunktet kan forårsage spændingsstigninger, der i bedste fald vil reducere dit apparats levetid og i værste fald starte en brand.

Trin 2: Tilslutning af lysene

Tilslutning af lysene
Tilslutning af lysene
Tilslutning af lysene
Tilslutning af lysene
Tilslutning af lysene
Tilslutning af lysene

Tag et kig i loftet, og beslut dig for, hvor du vil montere Arduino -controlleren. Husk, at den skal bruge en 7-12v strømforsyning. Skær telefontrådens længder (eller cat5 eller hvad som helst) cirka to fod længere end afstanden fra Arduino til hvert lys, du vil styre. Se på forbindelsen fra strømledningerne fra kontakten til ballasten. Du kan muligvis bestille stik (Newark Electronics sælger Wago 930 -serien, hvilket vi havde). Så behøver du ikke at skære eksisterende ledninger og kan fjerne systemet, hvis noget går galt. Lod jorden (sort) til relæindgangen -, og kontrollen (gul) til relæindgang + (farvekoden på billedet er adskiller sig fra det, jeg lagde på forsiden, da jeg ændrede mening om, hvad der ville give mening). Lod eller skru på (afhængigt af dit relæ) den sorte (varme) ledning gennem relæet. Sørg for at bruge varmekrympning og elektrisk tape! Skub de sorte ledninger ind i dine stik, og de hvide (neutrale) og jord (grøn) er lige lige fra stik til stik. Den anden ende af ledningerne går til Arduino som følger: Alle de røde ledninger (almindelig katode eller samler) gå til Analog 0 (port C0), og alt det sorte til jorden. Hver green (anode eller emitter) går til ben 8-13 (port B 0-5), og de gule ledninger går til stifterne 2-7 (port D 2-7). Sørg for, at de grønne og gule ledninger matcher hinanden, da sensoren skal styre det korrekte relæ! Hvis du sætter den gule i pin 2, går greenen fra den samme armatur til pin 8.

Trin 3: Test af skitsen og designnotaterne

I dette trin vil jeg tale om nogle af de prøvelser og trængsler, jeg stødte på undervejs, og hvordan jeg arbejdede igennem dem, i håb om at det ville være nyttigt. Gå fri til at springe til det næste trin, hvis videnskabsindhold ikke er din ting:-) Det første trin var at beslutte, om du vil bruge kapacitiv sansning eller resistiv sansning. Resistive sensing er at forbinde sensoren gennem en modstand til en af de analoge ben og lave analogRead og sammenligne med en tærskel. Dette er enklest at implementere, men kræver masser af kalibrering. Teorien om kapacitiv sansning er, at når den er omvendt forudindtaget (- til + ledningen og omvendt), vil en LED ikke tillade strøm at strømme, men elektroner vil samle sig på den ene side og forlade den anden side og oplader effektivt en kondensator. Lys, der falder på LED'en med den frekvens, den normalt udsender, vil faktisk få en lille strøm til at strømme, hvilket aflader denne kondensator. Så hvis vi oplader LED'en 'kondensator' og tæller, hvor lang tid det tager at aflade gennem en modstand, får vi en grov ide om, hvor meget lys der falder på LED'en. Dette virkede faktisk til at være mere pålideligt på tværs af forskellige enheder og fungerer endda for fototransistorer! Da vi ikke laver en præcis lumenmåling, og laserpegeren skulle virke meget lysere end omgivende, leder vi bare efter en tærsklet udladningstid. Den anden vigtige del af dette eventyr er fejlsøgning. For dem, der kender programmering af ikke-integrerede systemer, er en populær metode at tilføje udskriftssætninger på kritiske punkter i koden. Dette gælder også for integrerede systemer, men når hvert mikrosekund tæller, vil tiden til Serial.write ("x er"); Serial.writeln (x); er faktisk ganske betydningsfuld, og du kan gå glip af mange begivenheder i processen. Så husk altid at lægge dine printudtalelser uden for kritiske sløjfer, eller når som helst du forventer en begivenhed. Nogle gange er det nok at blinke med en LED for at fortælle dig, at du er kommet til et bestemt punkt i koden.

Trin 4: Tilføjelse af webkontrol

Tilføjelse af webkontrol
Tilføjelse af webkontrol

Hvis du kiggede gennem skitsen, bemærkede du, at jeg også læste den serielle port og handlede efter et par kommandoer med enkelt tegn. 'N' -tegnet tænder alle lysene, og' f 'slukker dem. Tallene '0'-'5' skifter tilstanden for lyset, der er forbundet til den digitale udgang. Så du kan nemt smide et CGI-script (eller servlet, eller hvilken webteknologi, der flyder din båd) til at styre dine lys eksternt. Serial.writes udsender også, når et lys ændres fra brugerens input, så siden kan have Ajax -opdateringer for at vise den aktuelle tilstand. En anden ting, jeg vil eksperimentere med, er at registrere bevægelse i et rum. Folk reflekterer lys, og når de bevæger sig, ændres det lys. Det er 'delta' -delen af de skriveudsagn, jeg har.

Anbefalede: