Talaan ng mga Nilalaman:

LEDura - Analog LED Clock: 12 Hakbang (na may Mga Larawan)
LEDura - Analog LED Clock: 12 Hakbang (na may Mga Larawan)

Video: LEDura - Analog LED Clock: 12 Hakbang (na may Mga Larawan)

Video: LEDura - Analog LED Clock: 12 Hakbang (na may Mga Larawan)
Video: Paano Mag Set Ng Digital watch? | Digital Relo Settings (Tagalog) 2024, Hulyo
Anonim
LEDura - Analog LED Clock
LEDura - Analog LED Clock
LEDura - Analog LED Clock
LEDura - Analog LED Clock
LEDura - Analog LED Clock
LEDura - Analog LED Clock

Mga Proyekto ng Tinkercad »

Matapos ang isang mahabang panahon ng paggawa lamang ng iba't ibang mga proyekto nagpasya akong gumawa ng isang itinuturo sa aking sarili. Para sa una, gagabayan ka namin sa pamamagitan ng proseso ng paggawa ng iyong sariling analog na orasan na ginawa gamit ang kahanga-hangang address ng LED ring. Ipinapakita ng panloob na singsing ang mga oras, ang panlabas na singsing ay nagpapakita ng minuto at segundo.

Bukod sa pagpapakita ng oras, ang orasan ay maaari ding ipakita ang temperatura ng kuwarto at maaari itong maging isang napakagandang palamuti sa silid. Tuwing 15 minuto, ang orasan ay gumagawa din ng ilang mga espesyal na epekto - ipinapakita sa kanilang lahat ang video, tiyaking suriin ito. Sa tulong ng 2 mga pindutan at potensyomiter, maaaring pumili ang gumagamit sa pagitan ng iba't ibang mga mode at modifie na kulay sa pamamagitan ng kanyang sariling pagnanasa. In-upgrade ko din ito upang awtomatikong malabo ang mga LED kung madilim ang silid, kaya't hindi maaabala ang gumagamit sa gabi.

Ang orasan ay maaaring mailagay sa desk, bed table o i-hang mula sa dingding.

Tandaan: Ang mga larawan ay hindi kasing ganda ng pagtingin sa katotohanan dahil sa mataas na ningning.

Hakbang 1: Paano Basahin Ito?

Paano Basahin Ito?
Paano Basahin Ito?

Ang orasan ay mayroong 2 singsing - mas maliit ang isa para sa pagpapakita ng mga oras at mas malaki ang isa para sa pagpapakita ng mga minuto at segundo. Ang ilang mga LED ay kumikinang sa lahat ng oras - isang tinatawag na compass na nagpapahiwatig ng mga pangunahing posisyon ng orasan. Sa oras na singsing ay kumakatawan ito sa 3, 6, 9 at 12'o na orasan, sa minutong singsing ito ay kumakatawan sa 15, 30, 45 at 0 minuto.

Hakbang 2: Ano ang Kakailanganin Mo

Ano ang Kakailanganin Mo
Ano ang Kakailanganin Mo

Mga Materyales:

  • 1x Arduino Nano (maaari mo ring gamitin ang anumang iba pang Arduino)
  • 1x module ng DS3231 RealTimeClock
  • 1x Addressable led ring - 60 LEDs
  • 1x Addressable led ring - 24 LEDs
  • 2x Buttons (NO - bukas na normal)
  • 1x 100kOhm potentiometter
  • 1x 5V power supply (may kakayahang maghatid ng 1 Amp)
  • 1x Konektor ng supply
  • Ang ilang mga wires
  • 1x 10kOhm risistor
  • 1x Photoresistor

  • Prefboard (opsyonal)
  • Mga konektor ng wire ng block ng terminal (opsyonal)
  • 25mm makapal na kahoy, sukat ng hindi bababa sa 22cmx22cm
  • 1mm manipis na banig ng plastic ng plastik na 20cmx20xm

Mga tool:

  • Pangunahing mga tool para sa pagbuo ng electronics (bakal na panghinang, pliers, distornilyador,…)
  • Drill machine
  • Mainit na glue GUN
  • Sand paper at ilang kahoy na barnisan
  • CNC machine (baka may kaibigan ito)

Hakbang 3: Mga Bahagi ng Elektronika - Background

Mga Elektroniko na Bahagi - Background
Mga Elektroniko na Bahagi - Background
Mga Elektroniko na Bahagi - Background
Mga Elektroniko na Bahagi - Background
Mga Elektroniko na Bahagi - Background
Mga Elektroniko na Bahagi - Background

DS3231

Maaari naming matukoy ang oras gamit ang Arduinos build sa oscillator at isang timer, ngunit nagpasya akong gumamit ng dedikadong module ng Real Time Clock (RTC), na maaaring subaybayan ang oras kahit na idiskonekta namin ang orasan mula sa pinagmulan ng kuryente nito. Ang DS3231 board ay may isang baterya, na nagbibigay ng lakas kapag ang module ay hindi konektado sa power supply. Mas tumpak din ito sa mas matagal na tagal ng oras kaysa sa mapagkukunan ng orasan ng Arduinos.

Gumagamit ang DS3231 RTC ng interface ng I2C upang makipag-usap sa micro-controller - napakasimpleng gamitin at kailangan lamang namin ng 2 wires upang makipag-usap dito. Nagbibigay din ang module ng temperatura sensor, na gagamitin sa proyektong ito.

Mahalaga: Kung nagpaplano kang gumamit ng hindi rechargeable na baterya para sa module ng RTC, dapat mong de-solder ang 200 ohm resistor o 1N4148 diode. Kung hindi man ay maaaring sumabog ang iyong baterya. Makakakita ng karagdagang impormasyon sa link na ito.

WS2812 LED ring

Nagpasya akong gumamit ng 60 LED ring upang subaybayan ang mga minuto at 24 LED ring para sa oras. Mahahanap mo ang mga ito sa Adafruit (neoPixel ring) o ilang mga murang bersyon sa eBay, Aliexpress o iba pang mga web shop. Mayroong isang malaking pagkakaiba-iba sa mga maaaring tugunan na humantong mga piraso at kung ito ang iyong unang pagkakataon na makipaglaro sa kanila, inirerekumenda ko sa iyo na basahin ang ilang mga paglalarawan sa paggamit - narito ang ilang mga kapaki-pakinabang na link:

https://www.tweaking4all.com/hardware/arduino/adr…

https://randomnerdtutorials.com/guide-for-ws2812b…

Ang addressable LED strip ay may 3 mga konektor: 5V, GND at DI / DO. Ang unang dalawa ay para sa paggana ng mga LED, ang huli ay para sa data. Mag-ingat habang kumokonekta ng singsing sa Arduino - ang iyong linya ng data ay dapat na konektado sa DI (data IN) na pin.

Arduino

Gumagamit ako ng Arduino Nano sapagkat ito ay maliit at sapat na sapat para sa proyektong ito. Maaari mong gamitin ang halos anumang iba pang Arduino, ngunit pagkatapos ay dapat kang maging maingat habang kumokonekta ang lahat dito. Ang mga pindutan at mga singsing na LED ay maaaring nasa parehong mga pin, ngunit ang mga konektor ng I2C (para sa module ng RTC) ay maaaring magkakaiba mula sa platform hanggang platform - suriin ang kanilang datasheet.

Hakbang 4: Elektronika - Power Supply

Elektronika - Power Supply
Elektronika - Power Supply

Ang Arduino at LED strip ay dapat na parehong bibigyan ng 5V na mapagkukunan ng kuryente upang malaman namin kung aling boltahe ang kinakailangan. Dahil ang mga singsing na LED ay nakakakuha ito ng maraming mga amps hindi namin ito makakapag-kapangyarihan nang direkta sa Arduino, na makatiis ng max 20mA sa digital output. Sa pamamagitan ng aking mga sukat, ang mga singsing na LED ay maaaring magkasama na gumuhit ng hanggang sa 500 mA. Iyon ang dahilan kung bakit bumili ako ng isang adapter na may kakayahang magbigay ng hanggang sa 1A.

Sa parehong supply ng kuryente nais naming mapagana ang Arduino at mga LED - narito kailangan mong mag-ingat.

Babala! Maging labis na maingat kapag sinusubukan mo ang LED strip - ang power adapter ay HINDI dapat na konektado sa Arduino, kapag ang Arduino ay konektado din sa PC gamit ang USB konektor (maaari mong mapinsala ang USB USB port).

Tandaan: Sa mga iskema sa ibaba Gumamit ako ng normal na switch upang mapili kung ang Arduino ay pinalakas sa pamamagitan ng power supply o sa pamamagitan ng USB konektor. Ngunit sa perfboard maaari mong makita na nagdagdag ako ng isang header ng pin upang pumili mula sa aling mapagkukunan ng kapangyarihan na pinapagana ng Arduino.

Hakbang 5: Elektronika - Paghihinang

Elektronika - Paghihinang
Elektronika - Paghihinang
Elektronika - Paghihinang
Elektronika - Paghihinang
Elektronika - Paghihinang
Elektronika - Paghihinang
Elektronika - Paghihinang
Elektronika - Paghihinang

Kapag tinipon mo ang lahat ng mga bahagi ay oras na upang sama-sama silang maghinang.

Dahil nais kong gawing maayos ang mga kable, gumamit ako ng perfboard at ilang terminal block konektor para sa mga wire, kaya maaari kong i-unplug ang mga ito kung sakaling may mga pagbabago. Opsyonal ito - maaari mo ring i-solder ang mga wire nang direkta sa Arduino.

Isang tip: mas madali kung mai-print mo ang mga eskematiko kaya't nasa harapan mo ito habang naghihinang. At i-double check ang lahat bago kumonekta sa power supply.

Hakbang 6: Software - Background

Arduino IDE

Paprograma namin ang Arduino kasama ang nakatuon na software na ito: Arduino IDE. Kung naglalaro ka sa Arduino sa kauna-unahang pagkakataon, inirerekumenda ko sa iyo na suriin ang ilang mga itinuturo sa kung paano ito gawin. Marami nang mga tutorial sa web, kaya't hindi ako magtutungo sa mga detalye.

Library

Nagpasya akong gumamit ng FastLED library sa halip na sikat na Adafruit. Mayroon itong ilang mga maayos na pag-andar sa matematika na kung saan maaari kang gumawa ng mahusay na mga epekto (Thumbs hanggang sa mga developer!). Mahahanap mo ang silid-aklatan sa kanilang GitHub repository, ngunit idinagdag ko ang.zip file ng bersyon na ginagamit ko sa aking code.

Kung nagtataka ka, kung paano magdagdag ng panlabas na library sa Arduino IDE maaari mong suriin ang ilang mga nagawa nang mga tagubilin

Para sa module ng orasan ginamit ko ang Arduino library para sa DS3231 real-time na orasan (RTC) (link), na madali mong mai-install sa Arduino IDE. Kapag nasa IDE ka, mag-click sa Sketch → Isama ang library → Pamahalaan ang mga library … at pagkatapos ay i-filter ang iyong paghahanap gamit ang pangalan sa itaas.

Tandaan: Para sa ilang kadahilanan sa kasalukuyan ay hindi ako maaaring magdagdag ng.zip file. Mahahanap mo ang silid-aklatan sa aking GitHub repository.

Hakbang 7: Software - Code

Software - Code
Software - Code
Software - Code
Software - Code

Istraktura

Ang application ay itinayo na may 4 na mga file:

  • LEDclokc.ino Ito ang pangunahing application ng Arduino, kung saan maaari kang makahanap ng mga pagpapaandar para sa pagkontrol sa buong orasan - nagsisimula sila sa awtomatikong CLOCK_.
  • Ang LEDclokc.h narito ang tumutukoy sa koneksyon ng pin at ilang mga pagsasaayos ng orasan.
  • ring.cpp at ring.h narito ang aking code para sa pagkontrol sa mga LED ring.

LEDclock.h

Mahahanap mo rito ang lahat ng mga kahulugan ng orasan. Sa simula, may mga kahulugan para sa mga kable. Tiyaking pareho ang mga ito sa iyong mga koneksyon. Pagkatapos may mga pagsasaayos ng orasan - dito maaari mong makita ang macro para sa bilang ng mga mode na mayroon ang orasan.

LEDclock.ino

Sa diagram, ang pangunahing loop ay kinakatawan. Sinuri muna ng code kung ang anumang pindutan ay pinindot. Dahil sa likas na katangian ng mga switch, dapat naming gamitin ang pamamaraan ng pag-debbouncing upang mabasa ang kanilang mga halaga (maaari kang magbasa nang higit pa tungkol dito sa link).

Kapag pinindot ang pindutan 1, ang variable mode ay itataas ng 1, kung ang pindutan 2 ay pinindot, ang uri ng variable ay itataas. Ginagamit namin ang mga variable na ito upang matukoy, aling mode ng orasan ang nais naming makita. Kung ang parehong mga pindutan ay pinindot nang sabay, ang function na CLOCK_setTime () ay tinawag upang mabago mo ang oras ng orasan.

Sa paglaon binabasa ng code ang halaga ng potentiometer at iniimbak ito sa variable - maaaring baguhin ng variable na gumagamit na ito ang mga kulay ng orasan, ningning atbp.

Pagkatapos mayroong isang pahayag ng switch-case. Natutukoy namin dito kung aling mode ang kasalukuyang nasa, at sa pamamagitan ng mode na iyon, ang kaukulang pag-andar ay tinatawag, na nagtatakda ng mga kulay ng LED. Maaari kang magdagdag ng iyong sariling mga mode sa orasan at muling isulat o baguhin ang mga pagpapaandar.

Tulad ng inilarawan sa FastLED library, kailangan mong tawagan ang function na FastLED.show () sa dulo, na lumiliko ang mga LED sa kulay na dati naming itinakda sa kanila.

Maaari kang makahanap ng mas detalyadong mga paglalarawan sa pagitan ng mga linya ng code

Ang buong code ay nakakabit sa ibaba sa mga file sa ibaba.

TIP: mahahanap mo ang buong proyekto sa aking GitHub repository. Dito maa-update din ang code kung magdagdag ako ng anumang mga pagbabago dito.

Hakbang 8: Gawin ang Clock

Gawin ang Clock
Gawin ang Clock
Gawin ang Clock
Gawin ang Clock
Gawin ang Clock
Gawin ang Clock

Clock frame

Itinayo ko ang frame ng orasan gamit ang CNC machine at 25mm makapal na kahoy. Mahahanap mo ang sketch na iginuhit sa ProgeCAD na naka-attach sa ibaba. Ang mga puwang para sa singsing na LED ay medyo mas malaki, dahil ang mga paninda ay nagbibigay lamang ng mga sukat ng panlabas na lapad - ang panloob ay maaaring magkakaiba-iba … Sa likod ng orasan, mayroong maraming puwang para sa mga electronics at wires.

Mga singsing ng PVC

Dahil ang mga LEDs ay lubos na maliwanag na mahusay na ikalat ang mga ito kahit papaano. Una Sinubukan ko gamit ang transparent silicone, na gumagawa ng trabaho na nagkakalat, ngunit ito ay medyo magulo at mahirap gawin itong makinis sa itaas. Iyon ang dahilan kung bakit nag-order ako ng isang 20x20 cm na piraso ng "gatas" na mga plastik ng PVC at pinutol ang dalawang singsing dito gamit ang CNC machine. Maaari mong gamitin ang papel de liha upang mapahina ang mga gilid upang dumulas ang mga singsing sa mga puwang.

Mga butas sa gilid

Pagkatapos ay oras na upang mag-drill ng mga butas para sa mga pindutan, potensyomiter at konektor ng suplay ng kuryente. Una, iguhit ang bawat posisyon na may lapis, pagkatapos ay mag-drill sa butas. Narito nakasalalay kung anong uri ng mga pindutan ang mayroon ka - Nagpunta ako gamit ang mga pindutan ng itulak na may bahagyang hubog na ulo. Mayroon silang 16mm na diameter kaya gumamit ako ng drill ng kahoy na kasing laki. Parehas din para sa potensyomiter at konektor ng kuryente. Tiyaking burahin ang lahat ng mga guhit ng lapis pagkatapos.

Hakbang 9: Gumuhit sa Kahoy

Iguhit sa Kahoy
Iguhit sa Kahoy
Iguhit sa Kahoy
Iguhit sa Kahoy
Iguhit sa Kahoy
Iguhit sa Kahoy

Nagpasya akong gumuhit ng ilang mga tagapagpahiwatig ng orasan sa kahoy - dito maaari mong gamitin ang iyong imahinasyon at idisenyo ang iyong sarili. Sinunog ko ang kahoy gamit ang soldering iron, pinainit hanggang sa pinakamataas na temperatura.

Upang ang mga bilog ay maayos na bilugan, gumamit ako ng isang piraso ng aluminyo, nag-drill ng isang butas dito at sinundan ang mga gilid ng butas na may soldering iron (tingnan ang larawan). Tiyaking hawak mo ang aluminyo nang mahigpit, kaya't hindi ito madulas habang gumuhit. At maging maingat habang ginagawa ito upang maiwasan ang pinsala.

Kung gumagawa ka ng mga guhit at nais silang maayos na nakahanay sa mga pixel ng orasan, maaari mong gamitin ang "Maintenance mode" na ipapakita sa iyo kung saan matatagpuan ang mga pixel (pumunta sa kabanata na Magtipon).

Protektahan ang kahoy

Kapag nasiyahan ka sa orasan oras na upang buhangin ito at protektahan ito ng kahoy na barnisan. Gumamit ako ng napakalambot na papel de liha (halagang 500) upang mapahina ang mga gilid. Inirerekumenda ko sa iyo na gumamit ng transparent na kahoy na barnisan, kaya't ang kulay ng kahoy ay hindi nagbabago. Maglagay ng isang maliit na halaga ng barnis sa brush at hilahin ito sa direksyon ng taunang sa kahoy. Ulitin ito kahit 2 beses.

Hakbang 10: Assamble

Assamble
Assamble
Assamble
Assamble
Assamble
Assamble

Inilagay ng Firs ang mga pindutan at potensyomiter sa kanilang mga posisyon - kung ang iyong mga butas ay masyadong malaki, maaari mong gamitin ang ilang maiinit na pandikit upang ayusin ang mga ito sa lugar. Pagkatapos ay ilagay ang ring strip sa mga puwang nito at ikonekta ang mga wire nito sa Arduino. Bago mo idikit ang LED ring sa lugar nito mainam na siguraduhin, ang mga LED pixel ay nasa tamang lugar - nakasentro at nakahanay sa pagguhit. Para sa hangaring iyon ay idinagdag ko ang tinatawag na Maintenance mode na ipapakita ang lahat ng mahahalagang pixel (0, 5, 10, 15,… sa minutong singsing at 3, 6, 9 at 12 sa oras na singsing). Maaari mong ipasok ang mode na ito sa pamamagitan ng pagpindot at pagpindot sa parehong mga pindutan, bago i-plug ang power supply sa konektor. Maaari kang lumabas sa mode na ito sa pamamagitan ng pagpindot sa anumang pindutan.

Kapag nakahanay ang iyong mga singsing na LED, maglagay ng maiinit na pandikit at hawakan ang mga ito habang matatag ang pandikit. Pagkatapos kunin ang iyong mga ring ng PVC at muli: maglagay ng ilang mainit na pandikit sa mga LED, mabilis na iposisyon ang mga ito at hawakan ang mga ito sa loob ng ilang segundo. Sa huli, kapag sigurado ka na gumagana ang lahat maaari mong maiinit ang pandikit sa bawat board (o Arduino) sa kahoy. Tip: huwag mag-apply sa maraming pandikit. Maliit na halaga lamang kaya nag-iisa ito sa isang lugar ngunit madali mo itong matatanggal kung nais mong baguhin ang isang bagay sa paglaon.

Sa pinakadulo, ipasok ang baterya ng cell ng coin sa may-ari nito.

Hakbang 11: Pag-upgrade - Photoresistor

Pag-upgrade - Photoresistor
Pag-upgrade - Photoresistor
Pag-upgrade - Photoresistor
Pag-upgrade - Photoresistor
Pag-upgrade - Photoresistor
Pag-upgrade - Photoresistor

Ang mga epekto ng orasan ay lalong maganda sa dilim. Ngunit maaari nitong abalahin ang gumagamit nito sa gabi, habang natutulog siya. Iyon ang dahilan kung bakit napagpasyahan kong i-upgrade ang orasan na may tampok na awtomatikong pagwawasto ng ilaw - kapag ang silid ay madilim; pinapatay ng orasan ang mga LED nito.

Para sa hangaring iyon, ginamit ko ang light sensor - photo resistor. Ang paglaban nito ay makabuluhang tumaas; hanggang sa ilang mga mega ohm kapag madilim at magkakaroon lamang ito ng ilang daang ohms kapag may ilaw na nagniningning dito. Kasama ang isang normal na risistor bumubuo sila ng voltner divider. Kaya't kapag ang paglaban ng light sensor ay nagbabago, sa gayon ay nagbabago ang boltahe sa Arduino analogue pin (na masusukat natin).

Bago maghinang at tipunin ang anumang circuit, matalino na gayahin muna ito, upang makita mo ang pag-uugali at gumawa ng mga pagwawasto. Maputi ang tulong ng Autocad Tinkercad maaari mong gawin iyon nang eksakto! Sa ilang mga pag-click lamang naidagdag ko ang mga bahagi, nakakonekta sa kanila at isinulat ang code. Sa simulation maaari mong makita kung paano binago ang liwanag ng LEDs alinsunod sa halaga ng risistor ng larawan. Ito ay napaka-simple at prangka - maligayang pagdating sa iyo upang i-play sa circuit.

Pagkatapos ng simulation oras na upang idagdag ang tampok sa orasan. Nag-drill ako ng isang butas sa gitna ng orasan, nakadikit ang risistor ng larawan, kinonekta ito tulad ng makikita sa circuit at nagdagdag ng ilang mga linya ng code. Sa file na LEDclock.h kailangan mong paganahin ang tampok na ito sa pamamagitan ng pagdedeklara ng USE_PHOTO_RESISTOR bilang 1. Maaari mo ring baguhin sa aling silid ng ilaw ang orasan ay magpapalabo sa mga LED sa pamamagitan ng pagbabago ng halaga ng CLOCK_PHOTO_TRESHOLD.

Hakbang 12: Mag-enjoy

Kapag pinapagana mo ito sa kauna-unahang pagkakataon, magpapakita ang orasan ng ilang random na oras. Maaari mong i-set up ito sa pamamagitan ng pagpindot sa parehong mga pindutan nang sabay. I-on ang knob upang piliin ang tamang oras at kumpirmahin ito sa pamamagitan ng pagpindot sa anumang pindutan.

Natagpuan ko ang inspirasyon sa ilang napakahusay na proyekto sa internet. Kung magpasya kang bumuo ng orasan sa iyong sarili, suriin din ang mga ito! (NeoClock, Wol Clock, Arduino Colorful Clock) Kung magpasya kang subukang sundin ang mga instruksyon, inaasahan kong masisiyahan ka tulad ng ginawa ko.

Kung nadapa ka sa anumang kaguluhan sa proseso ng paggawa nito, huwag mag atubili na magtanong sa akin ng anumang katanungan sa mga komento - Masaya kong susubukan itong sagutin!

Inirerekumendang: