Talaan ng mga Nilalaman:

Interactive, Open Source Mood Light: 9 Hakbang (na may Mga Larawan)
Interactive, Open Source Mood Light: 9 Hakbang (na may Mga Larawan)

Video: Interactive, Open Source Mood Light: 9 Hakbang (na may Mga Larawan)

Video: Interactive, Open Source Mood Light: 9 Hakbang (na may Mga Larawan)
Video: Russian Encounters with UFOs and Aliens 2024, Hulyo
Anonim
Interactive, Open Source Mood Light
Interactive, Open Source Mood Light

Ang itinuturo na ito ay dadaan sa kung paano gumawa ng isang interactive, multi-function na ilaw ng mood. Ang core ng proyektong ito ay ang BlinkM I2C RGB LED. Habang nagba-browse ako sa web isang araw, nakuha ng BlinkM ang aking atensyon, at naisip ko na masyadong cool na upang makapasa. Kaya, pagkalipas ng ilang buwan, napagpasyahan kong gumawa ako ng isang uri ng light light gamit ito. At narito na!

Hakbang 1: Ano ang Kakailanganin Mo

Ang proyektong ito ay maaaring maging mura kung gagamitin mo ang tamang bagay. Mapapansin ko ang mga kahaliling bahagi na maaaring magamit upang gawin itong mas mura upang gawin. Gumamit lang ako ng ilang mga sangkap na medyo mas mahal, dahil sa mukha na ginagawang mas madali ang proseso ng konstruksyon.

Ang ilaw pinagmulan:

BlinkM RGB I2C-Kinokontrol na LED

Ang tagakontrol:

Arduino microcontroller - Gumamit ako ng isang 'Arduino Nano' dahil kailangan ko ng isang bagay na talagang maliit, dahil sa dami ng puwang na magagamit sa loob ng 'touch light' na ginamit upang ilagay ang lahat

Pabahay:

Isinasaalang-alang ko ang maraming iba't ibang mga enclosure para sa ilaw ng kundisyon na ito, at sa wakas ay naayos ko ang isang bagay na pamilyar tayong lahat: ang mga murang-o, puti, 'hawakan ang mga ilaw ng simboryo'. Natagpuan ko ang isang dalawang-pack sa home depot para lamang sa $ 4. Ang dami ng puwang sa mga ilaw na ito ay higit pa sa sapat upang magkasya ang lahat ng mga bahagi, kung gagawin mo ito ng tama.

Lakas / Konektor:

Sa simula, naisip kong magiging cool na patakbuhin ang lakas na ito ng baterya (dahil ang pabahay ay mayroon nang, madali, isang kompartimento ng baterya), ngunit hindi ito praktikal kung tatakbo mo ito ng mahabang panahon. Sa halip, gumamit ako ng 5.5mm DC power jack mula sa radioshack na may 12V 150Ma transpormer na nakahiga ako. Ang regulator na nakasakay sa arduino ay nagdadala ng 12 volts, at 150Ma ay maraming kasalukuyang upang mapagana ang lahat. Para sa kawad, ginamit ko lang kung ano ang mayroon ako sa paligid. Siguraduhing gumamit ng solidong core wire, bagaman.

Mga Bahagi:

Ginagamit ang mga bahagi upang gawin ang tatlong mga sensor para sa light light: ang sensor ng tunog, sensor na 'tap', at light sensor. Para sa sound sensor, kakailanganin mo: - LM741 Op-Amp- Electret Microhone (3-lead) - 2.2k resistor- 100k resisor- 200k resistor- 0.47uf electrolytic capacitor- 0.047uf ceramic capacitor- 2x 10k resistors- DiodeFor the 'tap' sensor, kakailanganin mo lamang: - elemento ng Piezo (maaari mong i-salvage ito mula sa ilang mga elektronikong laruan, telepono, at maraming iba pang mga elektronikong aparato na beep, o makukuha mo ito mula sa mouser, radioshack, atbp.).- 1M resistor … At para sa light sensor kakailanganin mo: - CdS cell (LDR), mas mabuti ang isang napakalaking (higit pang resolusyon).- 10K resistor- 3-pin header & crimped konektor wires (opsyonal)

Iba pa

Gumamit ako ng isang breadboard dahil ayaw ko talagang maghinang. Gumamit din ako ng maraming crimped wires ng konektor upang gawing mas ligtas ang lahat ng mga koneksyon, ngunit opsyonal ang mga iyon. Bilang kahalili, maaari kang gumamit ng isang homebrew development board upang suportahan ang ATmega168 micro, at gumamit ng isang DIP-style ATmega168 (ang mahaba na may mas malaking lead). Hindi ako sigurado kung gaano kahusay ang magkakasya ngunit tiyak na sulit na subukang ito. Kung wala kang / may pera para sa isang breadboard, maaari kang maghinang ng isang regular na ATmega168 sa isang PCB at idagdag ang regulator, mga koneksyon sa programa, atbp.

Hakbang 2: Ihanda ang 'touch Light'

Ihanda ang 'touch Light'
Ihanda ang 'touch Light'
Ihanda ang 'touch Light'
Ihanda ang 'touch Light'
Ihanda ang 'touch Light'
Ihanda ang 'touch Light'
Ihanda ang 'touch Light'
Ihanda ang 'touch Light'

Una, kailangan naming gawin ang murang-o 'touch light' na nakuha namin sa home depot na mood-friendly. Una, i-flip ang ilaw at alisin ang takip ng baterya at mga tornilyo. Sa loob ng kompartimento ng baterya, makikita mo ang kabit na ilaw ng bombilya. Ilabas ito, at itapon ito at ang bombilya. Susunod, buksan ang pambalot. Ngayon kailangan nating harapin ang kapangyarihan. Alisin ang piraso ng metal sa gitna ng kompartimento ng baterya pati na rin ang kawad na kumokonekta nito sa isa sa mga contact ng baterya. Ang mga wire ng panghinang papunta sa mga contact sa baterya tulad ng ipinakita. Maaaring gusto mo ring lagyan ng label ang mga ito kung wala kang magkakaibang kulay na kawad. Gagawin din namin ang ilaw na ito sa ilaw sa pamamagitan ng isang transpormador ng outlet ng dingding. Mag-drill ng isang butas gamit ang isang drill bit tungkol sa parehong sukat ng diameter ng DC power jack. Pagkatapos ay i-tornilyo ito hanggang sa mapula ito sa pambalot. Ang huling pagbabago na kailangan naming gawin dito ay upang idagdag ang sensor ng piezo tap. Mahusay na i-mount ito sa plastic 'rim' para sa mas mahusay na pagiging sensitibo. Nailarawan ko ito sa paglaon sa itinuturo na ito na naka-mount sa ibang lugar, ngunit dahil lamang ito sa kailangan kong buksan at isara ang pambalot sa panahon ng pagsubok na labis na nagsimula nang masira ang mga wire. Mainit na pandikit lamang ito sa plastik, ngunit tiyaking hindi nito hadlangan ang paggalaw ng makina sa kots na Movabke! (ibig sabihin, huwag hayaan itong dumikit nang labis).

Hakbang 3: Magdagdag ng Proteksyon ng Power Circuit

Magdagdag ng Proteksyon ng Power Circuit
Magdagdag ng Proteksyon ng Power Circuit

Ang bahaging ito ay isang simpleng add-on na gumagamit ng mga diode upang maprotektahan ang wall transpormer / baterya mula sa pagprito kung mayroon kang mga baterya na naka-install sa parehong oras na ginagamit mo ang DC power jack. Maaari mong gamitin ang anumang mga diode ng pag-block hangga't ang maximum na rating ng boltahe para sa kanila ay mas mataas kaysa sa rating ng wall transformer. Ang bahaging may label na 'VIN' sa unregulated power strip sa breadboard (na pupunta sa VIN sa arduino). Ang bahaging may label na 'DCPower' ay ang DC power jack. Para sa ilang kadahilanan, ang program na ginamit ko upang gawin ang eskematiko na ito ay talagang maselan tungkol sa mga label, kaya't ito ang pinapayag sa akin na pangalanan ito. TANDAAN: Kung hindi ka makagawa ng circuit na ito, HINDI mo mapapanatili ang mga baterya sa kompartimento ng baterya sa parehong oras na naka-plug in mo ang light light sa transpormer ng pader, kung hindi man ay masisira ito.

Hakbang 4: Idagdag ang Breadboard, Arduino, at BlinkM

Idagdag ang Breadboard, Arduino, at BlinkM
Idagdag ang Breadboard, Arduino, at BlinkM

Bago namin idagdag ang breadboard, kailangan naming insulate ang mga contact ng baterya mula sa backing ng metal breadboard (iyon ay, kung mayroon kang metal plate na natigil sa iyo. Kung hindi, laktawan ang hakbang na ito). Maglagay ng scotch tape sa lahat ng mga contact sa metal upang matiyak na sila ay insulated. Hindi namin nais ang anumang nakalantad na kawad. Ngayon kola pababa (Gumamit ako ng mainit na pandikit) ang breadboard sa tuktok ng kompartimento ng baterya. Sa kabutihang-palad para sa amin, nangyayari na ganap na magkasya. Ngayon plug sa positibo (+) at negatibong (-) wires mula sa hakbang 2 sa isa sa mga positibo at negatibong power strip ng breadboard. Ngayon ay maaari naming maiugnay ang arduino at ang blinkm. Narito ang mga koneksyon sa pin:

  • A5 - Clock (may label na 'c' sa BlinkM)
  • A4 - Data (may label na 'd' sa BlinkM)

At isa na nagawa mo iyan, ikonekta ang UNREGULATED VCC (+) sa pin na 'VIN' sa arduino, at ang REGULATED VCC sa (+) pin sa BlinkM. Pagkatapos ay ikonekta ang GND sa arduino at BlinkM sa GND sa strip ng kuryente, at tulay ang parehong mga piraso ng kuryente ng GND. MAG-INGAL na hindi ihalo ang mga koneksyon na ito, o maaari mong iprito ang BlinkM.

Hakbang 5: Ang Mga Sensor - Tunog, Tapikin, at Magaang

Ang Mga Sensor - Tunog, Tapikin, at Magaang
Ang Mga Sensor - Tunog, Tapikin, at Magaang
Ang Mga Sensor - Tunog, Tapikin, at Magaang
Ang Mga Sensor - Tunog, Tapikin, at Magaang
Ang Mga Sensor - Tunog, Tapikin, at Magaang
Ang Mga Sensor - Tunog, Tapikin, at Magaang

Susunod na linya ay ang mga sensor. Ang light sensor ay ang pinakasimpleng buuin. Ang kawad na papunta sa kanan ay kumokonekta sa arduino. Ang karagdagang impormasyon tungkol sa kung aling mga pin ang konektado ng mga sensor ay nasa susunod na hakbang. Ang sensor ng tunog ay medyo mahirap, ngunit hindi nakakatawa kumplikado. PAKITANDAAN: Hindi ako nagpakita ng isang boltahe divider circuit dito. Ang 2.5V sa eskematiko ay dapat ibigay sa pamamagitan ng isang bagay na tinatawag na 'voltage divider'. Ito ay isang napaka, napaka-simpleng circuit na binubuo ng maraming mga nakapirming resistors, o isang palayok (potentiometer). Gumamit ng 50K palayok para sa circuit na ito. Google 'voltage divider' at tingnan ang entry sa wikipedia para sa tulong sa pagbuo ng isa. EDIT 9/27/08: Na-ditched ko ang sound circuit na ito at sa halip ay gumamit ng isa na na-salvage mula sa isang naka-aktibo na pendant na light-up na tunog. Ang circuit dito ay hindi gumagana nang maayos; Hindi ako sigurado kung bakit, ngunit ang disenyo ay may kamalian; ang isang bagay ay hindi masyadong tama. Napansin ko ang circuit mula sa pendant ay gumagamit ng isang SMD LM386 op-amp. Naghinang lang ako bago ang mga resistors na pumunta sa LEDs, VCC, at GND. Pagkatapos ang kailangan ko lang gawin ay manipulahin ang mga halaga sa software nang kaunti, at presto! mas mahusay na gumaganang light-responsive na ilaw ng mood. Sa kasalukuyang oras, ang video ng light pulsating sa musika ay noong ginamit ang orihinal na circuit. Marahil ay mag-a-upload ako ng isa pa na nagpapakita ng pinabuting disenyo (mukhang mas tumutugon ito sa musika dahil sa bagong circuit). Hindi ako sigurado kung paano maghinang ang elemento ng piezo, kaya nahulaan ko at solder ito tulad ng ipinakita. Gumagana ito, bagaman. Hindi mahalaga ang polarity ng piezo. Ang risistor ay nasa breadboard (hindi ipinakita). Isa pang MAHALAGA NA TANDAAN: Ang mga halaga para sa mga circuit na ito ay magkakaiba sa iyo, kaya kakailanganin mong gumawa ng ilang pag-aayos sa code. Kung mayroon kang anumang mga katanungan sa mga halagang ito, huwag mag-atubiling ipaalam sa akin.

Hakbang 6: Maghanap ng Puwang para sa Mga Sensor, at Ikonekta Ito Lahat

Maghanap ng Puwang para sa Mga Sensor, at Ikonekta Ito Lahat
Maghanap ng Puwang para sa Mga Sensor, at Ikonekta Ito Lahat
Maghanap ng Puwang para sa Mga Sensor, at Ikonekta Ito Lahat
Maghanap ng Puwang para sa Mga Sensor, at Ikonekta Ito Lahat

Ang bahaging ito ay hindi dapat maging napakahirap. Ang casing na 'touch light' ay may sapat na puwang upang magkasya sa lahat ng kailangan nating magkasya. Inilagay ko ang mga sensor saanman sila magkasya. Ang lahat ng mga koneksyon ay:

  • Pin A6: Sound sensor - TANDAAN: para sa mga hindi gumagamit ng arduino nano, ang iba pang mga arduino ay walang isang ika-7 na analog pin. Kailangan mong baguhin ito sa code.
  • Pin A3: Piezo sensor (tap sensor)
  • Pin A0: Light sensor

Siguraduhin na hindi mo sinasadya na ikonekta ang (+) mga lead ng mga sensor sa hindi pinagsama-samang strip ng kuryente, o iprito mo sila.

Hakbang 7: Subukan Ito

Subukan Mo Ito
Subukan Mo Ito
Subukan Mo Ito
Subukan Mo Ito

Tiyaking ang mga koneksyon ng kuryente ay mabuti; plug ito sa paggamit ng power adapter, at subukan ito gamit ang mga baterya. Ang isang karaniwang problema ay hindi magandang koneksyon sa positibo at ground. TANDAAN: Alam ko na ang larawan ay hindi ipinapakita ang light sensor; Kinuha ko lang ito bago ko idagdag ang bahaging iyon.

Hakbang 8: I-program Ito, Isara Ito, at Gamitin Ito

I-program Ito, Isara Ito, at Gamitin Ito
I-program Ito, Isara Ito, at Gamitin Ito
I-program Ito, Isara Ito, at Gamitin Ito
I-program Ito, Isara Ito, at Gamitin Ito
I-program Ito, Isara Ito, at Gamitin Ito
I-program Ito, Isara Ito, at Gamitin Ito

Ang ginamit kong code ay gumagamit ng isang library na nilikha ni Tod E. Kurt (www.todbot.com/blog) at mga gumagawa ng BlinkM (ThingM). Susubukan kong magdagdag ng mga tala sa code kapag nagagawa ko upang mas maintindihan ito; Medyo abala ako sa kasalukuyang oras. Dapat ay mayroon kang code library (ang file na may label na "BlinkM_funcs.h") ay binuksan sa arduino software kapag ina-upload ang code o hindi ito gagana. Kung nais mong tingnan ang code ngunit wala ang arduino software, maaari mo itong buksan sa isang programa sa pagpoproseso ng salita (aka wordpad para sa mga gumagamit ng windows). Ang mga ideya para sa mga bagong pag-andar ay tinatanggap. Mangyaring huwag mag-atubiling i-post ang mga ito; Nais kong gawin itong open-source. Ang pakay ng paraan ng pagbuo ko ng code ay sa gayon ang mga bagong pag-andar ay maaaring maidagdag nang madali. Ang ilan sa mga pag-andar ay na-program sa BlinkM ng tagagawa (ThingM), ngunit dalawa sa mga ito ang ginawa ko; 'Sound Light' at 'Mimic Light'. Sa ngayon mayroon itong mga sumusunod:

  • Mood Light - Dahan-dahang kumupas sa mga random na kulay
  • Kandila - Mga flicker tulad ng isang kandila na may mga dalandan at dilaw
  • Mga Salamin sa Tubig - 'Shimmers' na may mga kulay blues, turquoise, at cyan
  • Mga Pana-panahong Kulay - Lumiliko ang mga pana-panahong kulay (sa palagay ko sila ay asul, berde, lila, at kahel)
  • Bagyong Bagyo - Nag-flash paminsan-minsan na naggaya ng kidlat
  • Stop Light - Lumiliko mula pula hanggang dilaw hanggang berde at bumalik muli
  • Mimic Light - Nagrekord ng isang pagkakasunud-sunod ng hanggang sa 50 on / off na cycle ng ilaw (maaari kang gumamit ng isang flashlight), 'kabisado' ang mga oras na on / off, at pagkatapos ay i-play ang mga ito pabalik sa isang walang katapusang loop.
  • Sound Light - Pulsates sa tunog ng musika

Gaanong mag-tap sa translucent dome upang baguhin ang mga pagpapaandar sa anumang oras. Mayroong isang pagbubukod sa panuntunang ito: kapag naabot mo ang pagpapaandar na 'gayahin ang ilaw', berde itong mag-flash. Kung tapikin mo ang simboryo habang ito ay kumikislap, pupunta ito sa huling pag-andar ('ilaw ng tunog'). Kung maghintay ka lang, pupunta ito sa pagpapaandar na 'mimic light'. Kapag nakarating ka sa pagpapaandar na 'light light', hindi mo mababago ang mga pagpapaandar at pumunta sa una, dahil sa paraan ng pagbasa nito ng sound sensor. Dumarating ang mahirap na bahagi. Upang maisara ang enclosure ng ilaw ng mood, kailangan mong gumawa ng ilang mga maingat na hakbang. Una, kailangan mong i-line up ang mga spring ng suporta na may maliit na mga tab sa plastic dome. Dahil ang DC power jack ay nasa gilid, at ang mga wire ay pupunta sa breadboard, kailangan mong idulas ang plastik na simboryo sa mga wire na iyon, pagkatapos ay ihanay ang mga haligi ng tornilyo sa labas ng rim na may mga indentasyon sa plastik na simboryo. Siguraduhin na ang lahat ng mga tab na linya kasama ang paglalagay ng mga spring ng suporta, na tumutugma din sa mga haligi ng tornilyo sa gilid, at ang mga butas ng srew sa base plate. Pagkatapos, kapag natitiyak mo na ang lahat ay nakahanay, i-snap ang panlabas na gilid sa base plate. Susunod, siguraduhing walang mga wire na natigil sa mga bukal, o nasa isang lugar kung saan maaaring sa hinaharap. Hadlangan nito ang paggalaw ng plastic dome. Panghuli, palitan ang mga turnilyo at mag-enjoy! Mga panghuling tala: MAHALAGA: HUWAG gumamit ng mga baterya at isaksak ang adapter sa dingding nang sabay. Hindi ako sigurado kung ano ang mangyayari ngunit sigurado akong sisirain nito ang lahat na konektado sa kapangyarihan !!

Hakbang 9: SOBRANG

Narito ang ilang mga video: Ito ay sa 6 na paunang naka-program na pag-andar na naka-built sa BlinkM: … Ang isang ito ay ang pasadyang code na tumutugon sa tunog / musika na idinagdag ko (mahulaan mo kung anong kanta ito … ?: … At sa wakas, ngunit tiyak na hindi hindi bababa sa, ay ang pinakaastig (sa palagay ko), at pinakamahirap na pag-andar na gawin sa kanilang lahat; ang function na 'gayahin ang ilaw':

Inirerekumendang: