Talaan ng mga Nilalaman:

Neopixel Night Light: 14 Hakbang (na may Mga Larawan)
Neopixel Night Light: 14 Hakbang (na may Mga Larawan)

Video: Neopixel Night Light: 14 Hakbang (na may Mga Larawan)

Video: Neopixel Night Light: 14 Hakbang (na may Mga Larawan)
Video: 3-часовой марафон паранормальных и необъяснимых историй 2024, Nobyembre
Anonim
Neopixel Night Light
Neopixel Night Light

Sa pamamagitan ng joshua.brooksFollow Higit pa ng may-akda:

Konektor ng programang pin ng Pogo
Konektor ng programang pin ng Pogo
Konektor ng programang pin ng Pogo
Konektor ng programang pin ng Pogo
Hand-holding Zoetrope Sculpture
Hand-holding Zoetrope Sculpture
Hand-holding Zoetrope Sculpture
Hand-holding Zoetrope Sculpture
Orasan ng NeoPixel ng Desktop
Orasan ng NeoPixel ng Desktop
Orasan ng NeoPixel ng Desktop
Orasan ng NeoPixel ng Desktop

Nagbibigay ako ng ilang mga workshop sa electronics sa loob ng ilang linggo, na nakasentro sa isang mura, ngunit kapaki-pakinabang na proyekto sa totoong mundo. Kapag sinusubukan na makabuo ng isang bagay na gagawin, nais kong isama dito ang isang microcontroller, NeoPixel LEDs (dahil, ang galing nila), malayo makontrol, at payagan ang iba't ibang mga pagpipilian sa pagbuo. Kailangan din nitong maging ganap na magkatulad sa Tinkercad. Ito ang proyekto na umunlad.

Nag-iimpake ito ng ilang mga talagang cool na tampok sa isang maliit na aparato, napapasadyang, at medyo simpleng buuin.

Listahan ng mga bahagi:

  • Naka-print na circuit board (OSHPARK)
  • NeoPixel ring 12 (Adafruit)
  • ATtiny85 microcontroller (DigiKey)
  • 22 gauge solid-core wire (DigiKey, Amazon, Radio Shack, atbp.)
  • (opsyonal) Infrared receiver (DigiKey)
  • (opsyonal, ngunit lubos na inirerekomenda) 1μF electrolytic capacitor (DigiKey)
  • (opsyonal) Pushbutton (Jameco)
  • (opsyonal) 2 x Lalaki 3-pin header (DigiKey)
  • (opsyonal) 2 x Shunt jumper (DigiKey)
  • (opsyonal) 8-pin DIP socket (DigiKey)
  • (opsyonal) 4-pin na kanang sulok ng header (DigiKey)
  • (opsyonal) IR remote control (Amazon)
  • Gorilla Tape (Amazon)
  • USB wall power supply (Amazon)

Listahan ng mga tool:

  • Panghinang at panghinang
  • Pamutol ng wire
  • Wire stripper
  • Mga Plier
  • Gunting

Hakbang 1: Disenyo at Simula

Tulad ng nabanggit ko kanina, nais kong gamitin ang libreng Tinkercad para sa proyektong ito. Nagpasiya akong ganap na mag-disenyo, at subukan ito doon bago pa man hawakan ang anumang totoong electronics. Pinapayagan akong tiyakin na ang lahat (kasama ang ATtiny85 firmware) ay gagana. Narito ang virtual circuit. Maaari mong pindutin ang "Start Simulation" sa ibaba upang subukan ito.

Hakbang 2: Ang Mga Kinakailangan na Bahagi

Ang Mga Kinakailangan na Bahagi
Ang Mga Kinakailangan na Bahagi

Ang proyektong ito ay dinisenyo upang payagan ang kakayahang umangkop sa kung paano ito binuo. Kaya, depende sa kung ano ang nais mong gawin dito, maaaring hindi mo kailangan ng lahat ng mga bahagi. Mayroong tatlong mga bahagi (at kawad) na ganap na kinakailangan. Posibleng bumuo ng isang bagay na gumagana lamang sa mga ito.

Neopixel Ring 12 - ang singsing ay mayroong labindalawang NeoPixels na maaaring kontrolin nang isa-isa upang maging halos anumang kulay.

ATtiny85 - ito ang microcontroller (maliit na computer) na ginagawang sumayaw ang NeoPixels, at mga interface sa maraming opsyonal na bahagi (infrared receiver, pushbutton, atbp.).

Naka-print na circuit board - ang naka-print na circuit board (PCB) ay nagbibigay ng lahat ng mga koneksyon sa kuryente sa pagitan ng mga bahagi na ginamit, at ang matibay na gulugod ng aparato. Ang file na naka-zip na gerber na ipinadala sa isang tagagawa ng PCB ay nasa pahinang ito. Mayroong maraming mga tagagawa ng board doon. Narito ang link upang mag-order ng board mula sa OSHPARK.

22 gauge solid-core wire - ang wire ay ginagamit upang ikonekta ang NeoPixel ring sa PCB.

Hakbang 3: Ang Opsyonal na Mga Bahagi

Ang Opsyonal na Mga Bahagi
Ang Opsyonal na Mga Bahagi

Mayroong isang bilang ng mga opsyonal na bahagi na maaaring gusto mong isaalang-alang na isama. Narito kung bakit maaaring gusto mo ang mga ito.

Infrared receiver - ang infrared receiver ay isang solong sangkap na magpapahintulot sa aparato na kontrolin ng isang karaniwang handheld IR remote control (isipin ang remote ng TV). Ang mga remote control mula sa iba't ibang mga paninda ay naglalabas ng iba't ibang mga signal, kaya maaaring kailanganing mabago ang firmware upang makilala ang iyong remote, kung hindi ito isa sa mga ginamit ko.

1μF electrolytic capacitor - ang capacitor ay kumikilos bilang isang uri ng pansamantalang baterya na maaaring magbigay ng karagdagang lakas kapag ang kinakailangang kasalukuyang kuryente sa aparato ay biglang nagbabago (ang NeoPixels ay naging ganap, halimbawa). Maaari rin nitong mapalabas ang boltahe sa aparato kapag gumagamit ng isang murang USB power supply. Kung gumagamit ka ng disenteng mapagkukunan ng USB power, maaari itong iwanang.

Pushbutton - pinapayagan ka ng pushbutton na kontrolin ang aparato sa pamamagitan ng (hulaan kung ano?) Itulak ang pindutan.

Lalaking 3-pin na (mga) header at shunt jumper (mga) ito ay maaaring ilagay sa lugar sa halip na ang pushbutton upang payagan ang aparato na mai-configure, batay sa kung paano nakaposisyon ang shunt jumpers. Ang male 3-pin header ay permanenteng nakakakonekta (soldered) sa board, at ang shunt jumper ay press-fit sa header at madaling matanggal at maiposisyon. Kung ginamit ang isang header, maaaring pumili ang jumper sa pagitan ng dalawang magkakaibang mga mode. Kung ginagamit ang parehong mga header, posible ang apat na mode.

8-pin DIP socket - pinapayagan ng socket na alisin at mapalitan ang microcontroller (ATtiny85) upang maaari itong muling ma-program muli kung nais mong baguhin kung paano gumagana ang aparato. Kung alam mo na hindi mo na kakailanganin na muling magprogram ng microcontroller, kung gayon hindi ito kinakailangan.

4-pin na kanang-anggulo na header - ginagamit ang header ng tamang anggulo kung nais mo ang konektor ng USB na dumikit nang diretso sa likod ng aparato, sa halip na mula sa gilid.

Hakbang 4: I-program ang Microcontroller

Hindi ako magtutuon ng labis na detalye tungkol sa pagprograma ng microcontroller, dahil ang mga tagubilin ay madaling matagpuan sa ibang lugar (nagsasama ako ng isang link sa ibaba). Gumamit ako ng isang Arduino UNO board upang kumilos bilang isang aparato ng pagprograma para sa taga-kontrol gamit ang pamamaraang inilarawan sa Instructable na ito. Sa loob nito, ipinapakita ang sumusunod na pagmamapa mula sa mga pin ng Arduino hanggang sa mga ATtiny na pin para sa programa:

  • Arduino + 5V → ATtiny Pin 8
  • Arduino Ground → ATtiny Pin 4
  • Arduino Pin 10 → ATtiny Pin 1
  • Arduino Pin 11 → ATtiny Pin 5
  • Arduino Pin 12 → ATtiny Pin 6
  • Arduino Pin 13 → ATtiny Pin 7

Ang source code para sa light night ay matatagpuan dito (https://github.com/cacklestein/led-night-light).

Hakbang 5: Ipunin ang Lupon (opsyonal na Paunang Hakbang)

Ipunin ang Lupon (opsyonal na Paunang Hakbang)
Ipunin ang Lupon (opsyonal na Paunang Hakbang)
Ipunin ang Lupon (opsyonal na Paunang Hakbang)
Ipunin ang Lupon (opsyonal na Paunang Hakbang)
Ipunin ang Lupon (opsyonal na Paunang Hakbang)
Ipunin ang Lupon (opsyonal na Paunang Hakbang)

Ang mga bahagi ay dapat idagdag sa pisara sa isang partikular na pagkakasunud-sunod upang gawing madali ang mga bagay. Kung maayos ka sa posisyon ng konektor ng USB sa board, maaari mong laktawan ang natitirang hakbang na ito at magpatuloy sa susunod na bahagi ng pagpupulong. Gayunpaman, kung nais mo ang konektor na dumikit ang likod ng board, ngayon na ang oras upang idagdag ang header ng tamang anggulo.

Magsimula sa pamamagitan ng maingat na pag-snap-off ang konektor ng USB mula sa natitirang naka-print na circuit board. Hawakan ang mas malaking bahagi ng pisara gamit ang isang kamay at gamitin ang mga pliers na may isang gilid na direkta sa tabi ng linya ng butas ng mga maliliit na butas upang maingat na alisin ang tab. Itabi ang tab. kakailanganin mo ito sa susunod na hakbang.

Iposisyon ang kanang -ulo na header sa likod na bahagi ng pisara tulad ng ipinakita sa larawan. Ang likuran ng board ay ang gilid na may "123D CIRCUITS" na silkscreened (o marahil ay dapat kong sabihin na "123D CIRC", dahil sinira mo lang ang "UITS").

Paghinang ang header sa lugar, paglalagay ng solder sa tuktok na bahagi ng board.

Gamit ang mahusay na mga pamutol ng wire, snip ang mga lead ng header na nakausli mula sa tuktok na bahagi ng board nang malapit sa board hangga't maaari. Ito ay mahalaga dahil ang mga lead na iyon ay nagkakasakit sa kung saan sa gitna ng kung saan pupunta ang ATtiny85 sa kalaunan.

Hakbang 6: Idagdag ang Microcontroller Socket

Idagdag ang Socket ng Microcontroller
Idagdag ang Socket ng Microcontroller
Idagdag ang Socket ng Microcontroller
Idagdag ang Socket ng Microcontroller
Idagdag ang Socket ng Microcontroller
Idagdag ang Socket ng Microcontroller

Ngayon na ang oras upang maghinang alinman sa 8-pin DIP socket -OR- ang ATtiny85 sa lugar. Masidhing inirerekumenda ko ang paggamit ng socket, sapagkat pinapayagan nito ang ATtiny85 na madaling maalis at muling magkabit kung nais mong gumawa ng mga pagbabago sa programa sa paglaon. Iakma ang socket (o ang ATtiny85 na may pin 1 na pinakamalapit sa gilid ng board) sa pamamagitan ng pagtutugma ng 8 butas sa tuktok na bahagi ng pisara. Ang tuktok na bahagi ay ang walang naka-print na "123D Circuits". I-flip ang board at ilagay ito sa mesa o iba pang workspace upang i-hold ang socket sa lugar. Ihihinang ang mga pin sa pisara. Kung naidagdag mo ang 4-pin na tamang-anggulo na header sa nakaraang hakbang, kung gayon ang mga pin na iyon ay medyo nasa daan. Angle ang bakal upang maghinang sa ilalim ng mga ito.

Hakbang 7: Magdagdag ng Maraming Bagay

Magdagdag ng Higit Pa Bagay-bagay!
Magdagdag ng Higit Pa Bagay-bagay!
Magdagdag ng Higit Pa Bagay-bagay!
Magdagdag ng Higit Pa Bagay-bagay!
Magdagdag ng Higit Pa Bagay-bagay!
Magdagdag ng Higit Pa Bagay-bagay!

Ngayon na ang oras upang idagdag ang (mga) header ng jumper, ang IR receiver, at ang capacitor.

Kung nais mong magkaroon ng pushbutton, magkasya ang 4 na mga pin sa pamamagitan ng mga butas sa ibaba ng socket ng microcontroller sa tuktok na bahagi ng board. Mapapansin mo na mayroong 6 na butas. Huwag magalala tungkol dito. Ang dalawang butas sa gitna ay hindi gagamitin. I-flip ang board at solder ang pushbutton sa lugar.

Kung nais mong gamitin ang mga shunt jumper sa halip, ipasok ang dalawang mga 3-pin na header (mas maikliang bahagi ng mga pin pababa) sa mga butas na ito sa tuktok na bahagi. Muli, i-flip ang board, at solder ang mga pin sa lugar.

Susunod, magkasya ang infrared receiver sa pamamagitan ng 3 butas sa tuktok na bahagi ng board. Itugma ang oryentasyon nito sa balangkas sa silkscreen. ipasok ito hanggang saan ito pupunta, at ibaluktot ito pabalik upang ang maliit na bahagi ng bubble ay nakaharap sa pisara. I-flip ang board at solder ito sa lugar. Gumamit ng mga wire cutter upang alisin ang labis na haba ng mga pin mula sa ilalim na bahagi pagkatapos ng paghihinang.

Panghuli, idagdag ang kapasitor. Ang mga pin nito ay umaangkop sa natitirang dalawang butas sa itaas ng infrared receiver. Ang puting guhit sa gilid ng capacitor ('-' negatibong bahagi) ay nakaharap sa malayo mula sa ATtiny85 socket. Muli, i-flip ang board, solder ang mga lead sa lugar, at i-clip ang labis sa mga wire cutter.

Hakbang 8: Idagdag ang NeoPixel Ring

Idagdag ang NeoPixel Ring
Idagdag ang NeoPixel Ring
Idagdag ang NeoPixel Ring
Idagdag ang NeoPixel Ring
Idagdag ang NeoPixel Ring
Idagdag ang NeoPixel Ring

Ang NeoPixel ring ay nakakabit gamit ang 4 na piraso ng 22 gauge solid-core wire, na inalis ang pagkakabukod. Magsimula sa pamamagitan ng paggupit ng isang seksyon ng kawad na hindi bababa sa 4 na pulgada ang haba. Gumamit ng mga wire striper upang alisin ang LAHAT ng pagkakabukod.

Gupitin ang kawad na ito sa 4 pantay na haba. Bend ang bawat kawad sa isang "L" na hugis tungkol sa 1/4 pulgada mula sa isang dulo.

Sa ilalim na bahagi ng board na nakaharap sa itaas, ipasok ang mga wire na ito sa mga butas sa 4 na sulok ng board. Ang baluktot na seksyon ay pipigilan ang mga ito mula sa pagdulas ng lahat ng mga paraan sa pamamagitan ng. Ihihinang ang mga ito sa lugar, at i-clip ang baluktot na labis mula sa ibabang bahagi gamit ang mga wire cutter.

I-flip ang board, at maingat na pakainin ang mga wire sa pamamagitan ng 4 na butas ng singsing na NeoPixel na nakaharap ang NeoPixels mula sa circuit board. Mag-ingat na itugma ang mga butas ng singsing na NeoPixel sa mga nasa circuit board. Ang mga pangalan ng mga butas ay naka-print sa bawat isa. Itugma ang PWR, GND, IN at OUT.

Itulak ang singsing pababa ng malapit sa circuit board hangga't maaari. Ang mga bagay ay maaaring maging isang maliit na masikip, lalo na sa paligid ng capacitor at IR sensor. Kung ang ring ay hindi mawawala, huwag pawisan ito.

Hawak ang singsing na malapit na sa pagpunta sa circuit board, ibaluktot ang mga wire upang mapigilan ang mga bagay.

Paghinang ang singsing sa mga wire at i-clip ang labis na kawad na may mga wire cutter.

Hakbang 9: Idagdag ang USB Connector Tab (opsyonal na Hakbang)

Idagdag ang USB Connector Tab (opsyonal na Hakbang)
Idagdag ang USB Connector Tab (opsyonal na Hakbang)
Idagdag ang USB Connector Tab (opsyonal na Hakbang)
Idagdag ang USB Connector Tab (opsyonal na Hakbang)

Kung pinili mo na ang USB konektor ay dumidikit diretso sa likuran, ngayon na ang oras upang ilakip ito sa 4-pin na kanang -ulo na header na naidagdag mo kanina.

Pagkasyahin ang mga butas ng tab na tinanggal mo nang mas maaga sa header ng kanang anggulo upang ang 4 na mga contact ng USB na tanso ay nakaharap sa "CIRC" na bahagi ng board, at ang gilid ng "UITS" ng tab ay nakaharap sa gilid na "123D".

Maghinang ito sa lugar.

Hakbang 10: Idagdag ang ATtiny85

Idagdag ang ATtiny85
Idagdag ang ATtiny85

Kung na-solder mo ang 8-pin DIP socket sa lugar, ngayon na ang oras upang ilagay dito ang ATtiny85.

Pantayin ang ATtiny85 tulad na ang sulok na may tuldok ay pinakamalapit sa puting tuldok sa circuit board. Maingat na pindutin ang ATtiny85 sa lugar, tiyakin na ang lahat ng mga pin ay pupunta kung saan dapat.

Hakbang 11: Napalaki ang Konektor ng USB

Napalaki ang Konektor ng USB
Napalaki ang Konektor ng USB

Kadalasan, ang mga naka-print na circuit board na nakukuha mo ay magiging mas payat kaysa sa inaasahan ng isang konektor ng USB. Ang isang simpleng solusyon dito ay upang gupitin ang isang maliit na parisukat ng Gorilla Tape at idagdag ito sa likod ng konektor ng USB (ang gilid nang walang mga contact na USB tanso!). Ang Gorilla Tape ay halos dalawang beses na makapal kaysa sa normal na duct tape, at perpektong nagtrabaho para sa akin.

Hakbang 12: Subukan Ito

Subukan
Subukan
Subukan
Subukan
Subukan
Subukan
Subukan
Subukan

I-plug ang iyong bagong ilaw sa gabi sa isang pinapatakbo na USB wall adapter, o iba pang magagamit na USB outlet (sa iyong computer, atbp.). Kung naging maayos ang lahat, dapat itong ilaw! Kung idinagdag mo ang opsyonal na IR receiver, at mayroong isang remote control na gumagana sa firmware (tulad ng Apple TV remote sa mga larawan), maaari mong baguhin ang display mode.

Bilang kahalili, kung na-install mo ang pindutan, maaari mo itong pindutin upang baguhin ang mga mode.

Kung sa halip, na-install mo ang mga header ng shunt jumper, pagkatapos ay ang mga shunt jumper ay maaaring nakaposisyon upang baguhin ang startup display mode.

Hakbang 13: Mga Setting ng Shunt Jumper

Mga Setting ng Shunt Jumper
Mga Setting ng Shunt Jumper

Kung pinili mong i-install ang mga header ng shunt jumper, pagkatapos ay maaari mong itakda ang startup mode, batay sa kung saan nakaposisyon ang mga shunt jumper:

Kaliwang posisyon A + Tamang posisyon A: Umiikot na mode ng bahaghari

Kaliwang posisyon B + Tamang posisyon A: Mode ng pagbabago ng kulay

Kaliwang posisyon A + Tamang posisyon B: Random na mode ng sparkley

Kaliwang posisyon B + Tamang posisyon B Hindi nagbabago ang solidong mode ng kulay

Hakbang 14: Paggamit ng isang Remote Control

Paggamit ng isang Remote Control
Paggamit ng isang Remote Control
Paggamit ng isang Remote Control
Paggamit ng isang Remote Control

Natagpuan ko ang isang murang remote control sa EBay na idinisenyo upang gumana sa pag-iilaw ng kulay ng LED. Tila isang natual fit. Naitala ko ang mga code na nabuo ng bawat pindutan at itinakda ang firmware upang kumilos nang naaayon. Ipinapahiwatig ng larawan sa itaas kung ano ang ginagawa ng iba't ibang mga pindutan.

Kung wala kang remote na ito, mahahanap mo ang mga code na nauugnay sa karamihan sa iba pang mga remote sa pamamagitan ng paggamit ng eksaktong parehong Arduino source code, ngunit sa isang aktwal na Arduino, sa halip na ATtiny85. Ang programa ay naglalabas ng isang code na nauugnay sa anumang pindutan ng pindutan ng karamihan sa mga remote sa serial console. Upang magawa ito, ikonekta ang module ng IR receiver sa digital pin header slot 2, 3, & 4, na may lens na nakaharap sa natitirang board.

Sa larawan sa itaas, ang code na 0xFD00FF ay tumutugma sa pindutan ng remote power na DFRobot IR. Narito ang code na tumatakbo sa Tinkercad. Upang subukan ito, i-click ang "Code", na sinusundan ng "Serial Monitor", na sinusundan ng "Start Simulation". Sa puntong iyon, maaari mong simulan ang pagpindot sa mga pindutan sa virtual na remote upang makita ang output ng teksto ng serial console:

Itala ang mga ito para sa bawat pindutan ng iyong remote. Maaari mo ring baguhin ang source code upang idagdag ang mga code ng pindutan para sa iyong remote.

Inirerekumendang: