Talaan ng mga Nilalaman:

Kontrolin ang Mga Fluorescent Light na May Laser Pointer at isang Arduino: 4 na Hakbang
Kontrolin ang Mga Fluorescent Light na May Laser Pointer at isang Arduino: 4 na Hakbang

Video: Kontrolin ang Mga Fluorescent Light na May Laser Pointer at isang Arduino: 4 na Hakbang

Video: Kontrolin ang Mga Fluorescent Light na May Laser Pointer at isang Arduino: 4 na Hakbang
Video: grabe naman! ang laki ng ahas ๐Ÿคช๐Ÿ˜ฌ๐Ÿ˜ฌ๐Ÿ˜ฌ๐Ÿ˜ณ๐Ÿ˜ณ 2024, Nobyembre
Anonim
Kontrolin ang Mga Fluorescent Light na May Laser Pointer at isang Arduino
Kontrolin ang Mga Fluorescent Light na May Laser Pointer at isang Arduino
Kontrolin ang Mga Fluorescent Light na May Laser Pointer at isang Arduino
Kontrolin ang Mga Fluorescent Light na May Laser Pointer at isang Arduino

Ang ilang mga miyembro ng Alpha One Labs Hackerspace ay hindi gusto ang malupit na ilaw na ibinigay ng mga fluorescent fixture. Gusto nila ng isang paraan upang madaling makontrol ang mga indibidwal na fixture, marahil sa isang laser pointer? Nakuha ko mismo dito. Naghukay ako ng isang tumpok na solidong relay ng estado at dinala sila sa Lab. Bumili ako ng isang Arduino Duemilenova at ipinakita ang paggamit ng LED Blink halimbawa ng sketch upang aktwal na kumurap ng isang halogen lamp. Natagpuan ko ang ilang impormasyon sa paggamit ng LEDs bilang light sensors [1] at isang Arduino sketch na nagpapakita ng diskarteng [2]. Natagpuan ko na ang mga LED ay hindi gaanong sensitibo - ang laser ay kailangang ituro diretso sa ilaw na naglalabas na bahagi, o ang LED hindi magparehistro. Kaya lumipat ako sa mga phototransistor. Mas sensitibo ang mga ito, at higit sa isang malawak na hanay ng mga frequency. Gamit ang tamang filter sa transistor maaari ko itong gawing mas sensitibo sa pulang ilaw, at mula sa isang mas malawak na hanay ng mga anggulo sa sensor. DISCLAIMER AND WARNING: Ang itinuturo na ito ay nakikipag-usap sa boltahe ng linya (mains) sa 120 o 240 volts. Gumamit ng sentido komun kung binubuo mo ang circuit na ito - kung mayroon kang pagdududa tungkol sa isang bagay, tanungin ang isang tao na may alam. Responsable ka para sa iyong kaligtasan (at sa iba pa), at pagsunod sa mga lokal na code ng elektrikal.

Hakbang 1: Ang Sketch at Ilang Teorya

Ipagpalagay ko na alam mo kung paano i-power ang iyong Arduino, at kumuha ng isang sketch na naipon at na-load. Para sa bawat lampara gumagamit ako ng cable sa telepono, dahil mura ito, mayroong apat na conductor, at mayroon pa rin akong bungkos na nakalatag. Gumamit ako ng pula para sa karaniwang +, itim para sa lupa, berde para sa kolektor ng phototransistor, at dilaw para sa relay control +. Ang isang phototransistor ay nagpapasa ng isang bilang ng kasalukuyang na nag-iiba sa dami ng ilaw na bumabagsak dito. Ang Analog to Digital Converter (ADC) sa arduino ay sumusukat sa boltahe sa pin na may kaugnayan sa lupa. Tiningnan ko ang sheet ng data ng phototransistor at na-verify sa isang multimeter na ang mga transistors ay pumasa sa 10mA sa buong ilaw. Gamit ang batas ng Ohm, iyon ang tungkol sa 500 ohm sa 5V, Upang makontrol ang mga ilawan ginamit ko ang isang solidong module ng relay ng estado. Ito ay medyo mura sa kasalukuyang rating na kailangan namin, halos $ 4 hanggang sa 4A. Siguraduhing bumili ng mga module ng relay na may isang zero-crossing detector, lalo na kung kontrolado ang anumang inductive, tulad ng isang fluorescent light, motor, o wall-wart transformer. Ang pag-on o pag-off ng mga ito saanman ngunit ang zero point ay maaaring maging sanhi ng mga spike ng boltahe na pinakamahusay na makakabawas sa buhay ng iyong appliance, at sa pinakamasamang pagsisimula ng sunog.

Hakbang 2: Mga kable ng mga ilaw

Kable ng mga Ilaw
Kable ng mga Ilaw
Kable ng mga Ilaw
Kable ng mga Ilaw
Kable ng mga Ilaw
Kable ng mga Ilaw

Tumingin sa kisame at magpasya kung saan mo mai-mount ang Arduino controller. Tandaan na kakailanganin nito ang isang 7-12v supply ng poweer. Gupitin ang haba ng wire ng telepono (o cat5 o anupaman) na halos dalawang talampakan ang haba kaysa sa distansya mula sa Arduino sa bawat ilaw na nais mong kontrolin. Tingnan ang koneksyon mula sa mga linya ng kuryente mula sa switch papunta sa ballast. Maaari kang mag-order ng mga konektor (Ibinebenta ng Newark Electronics ang serye ng Wago 930, na mayroon kami). Pagkatapos ay hindi mo kakailanganing i-cut ang mga umiiral na mga wire at maaaring alisin ang system kung may mali. Isalin ang lupa (itim) sa relay input -, at ang kontrol (dilaw) upang i-relay ang input + (ang color code sa larawan ay naiiba sa inilagay ko sa harap na pahina, dahil binago ko ang aking isip tungkol sa kung ano ang magiging katuturan). Mag-block o i-tornilyo (depende sa iyong relay) ang itim (mainit) na kawad sa pamamagitan ng relay. Tiyaking gumamit ng heat shrink at electrical tape! Itulak ang mga itim na wires sa iyong mga konektor at ang puti (walang kinikilingan) at lupa (berde) ay tuwid lamang mula sa konektor hanggang sa konektor. Ang kabilang dulo ng mga wire ay pupunta sa Arduino tulad ng sumusunod: Ang lahat ng mga pulang wires (karaniwang cathode o kolektor) pumunta sa Analog 0 (port C0), at lahat ng itim sa lupa. Ang bawat berde (anode o emitter) ay pupunta sa mga pin na 8-13 (port B 0-5) at ang mga dilaw na wire ay pupunta sa mga pin 2-7 (port D 2-7). Tiyaking tumutugma ang berde at dilaw na mga wire, dahil kailangang kontrolin ng sensor ang tamang relay! Kung inilalagay mo ang dilaw sa pin 2, ang berde mula sa parehong kabit ay napunta sa pin 8.

Hakbang 3: Pagsubok sa Sketch at Mga Tala ng Disenyo

Sa hakbang na ito ay pag-uusapan ko ang ilan sa mga pagsubok at pagdurusa na nakasalamuha ko sa daan, at kung paano ko ito ginawan, sa pag-asang magiging kapaki-pakinabang ito. Malaya na lumaktaw sa susunod na hakbang kung ang Nilalaman ng Agham ay hindi bagay sa iyo:-) Ang unang hakbang ay pagpapasya kung gagamit ng capacitive sensing o resistive sensing. Ang resistive sensing ay kumokonekta sa sensor sa pamamagitan ng isang risistor sa isa sa mga analog na pin at gumagawa ng analogRead at paghahambing laban sa isang threshold. Ito ay pinakasimpleng ipatupad, ngunit tumatagal ng maraming pagkakalibrate. Ang teorya ng capacitive sensing ay na kapag reverse bias (- sa + lead at vice versa), hindi papayagan ng isang LED ang kasalukuyang daloy, ngunit ang mga electron ay kokolektahin sa isang panig at iwanan ang kabilang panig, mabisang singilin ang isang kapasitor. Ang ilaw na bumabagsak sa LED sa dalas na karaniwang inilalabas nito ay talagang magiging sanhi ng pagdaloy ng isang kasalukuyang smal, na nagpapalabas ng kapasitor na ito. Kaya't kung sisingilin natin ang LED 'capacitor' at bilangin kung gaano katagal aalisin sa pamamagitan ng isang risistor, nakakakuha kami ng isang magaspang na ideya kung magkano ang ilaw na bumabagsak sa LED. Ito ay talagang nagtrabaho upang maging mas maaasahan sa iba't ibang mga aparato, at kahit na gumagana para sa mga phototransistor! Dahil hindi kami gumagawa ng isang tumpak na pagsukat ng lumen, at ang laser pointer ay dapat na lumitaw nang mas maliwanag kaysa sa paligid, hanapin lamang namin ang isang thresholded na oras ng paglabas. Ang iba pang mahalagang bahagi ng pakikipagsapalaran na ito ay ang pag-debug. Para sa mga pamilyar sa mga sistemang hindi naka-embed na programa, isang tanyag na pamamaraan ang magdagdag ng mga pahayag sa pag-print sa mga kritikal na puntos sa code. Nalalapat din ito sa mga naka-embed na system, ngunit kapag binibilang ang bawat microsecond, ang dami ng oras sa Serial.write ("x is"); Serial.writeln (x); ay talagang makabuluhan, at maaaring makaligtaan ka ng maraming mga kaganapan sa proseso. Kaya tandaan na palaging ilagay ang iyong mga pahayag sa pag-print sa labas ng mga kritikal na mga loop, o anumang oras na inaasahan mong isang kaganapan. Minsan ang pagpikit ng isang LED ay sapat upang ipaalam sa iyo na nakarating ka sa isang tiyak na punto sa code.

Hakbang 4: Pagdaragdag ng Kontrol sa Web

Pagdaragdag ng Kontrol sa Web
Pagdaragdag ng Kontrol sa Web

Kung tiningnan mo ang sketch, napansin mo na binasa ko rin ang serial port, at kumilos sa ilang mga solong utos ng character. Ang character na 'n' ay nakabukas ang lahat ng mga ilaw, at 'f' pinapatay ang mga ito. Ang mga numerong '0' - '5' ay nagpapalipat-lipat sa estado ng ilaw na konektado sa digital output. Kaya't madali mong makakasama ang isang script ng CGI (o servlet, o anumang teknolohiyang web na lumutang ang iyong bangka) upang makontrol ang iyong mga ilaw mula sa malayo. Ang Serial.writes ay naglalabas din tuwing ang isang ilaw ay binago mula sa pag-input ng gumagamit, kaya ang pahina ay maaaring magkaroon ng mga pag-update ng Ajax upang maipakita ang kasalukuyang estado. Ang isa pang bagay na susubukan ko ay ang pagtuklas ng paggalaw sa isang silid. Ang mga tao ay sumasalamin ng ilaw, at sa kanilang paglipat ng ilaw na iyon ay magbabago. Iyon ang 'delta' na bahagi ng mga isulat na pahayag na mayroon ako.

Inirerekumendang: