Orodha ya maudhui:

Saa 132 ya pikseli: Hatua 5 (na Picha)
Saa 132 ya pikseli: Hatua 5 (na Picha)

Video: Saa 132 ya pikseli: Hatua 5 (na Picha)

Video: Saa 132 ya pikseli: Hatua 5 (na Picha)
Video: Вентиляция в хрущевке. Как сделать? Переделка хрущевки от А до Я. #31 2024, Novemba
Anonim
Image
Image
Saa 132 ya Pixel
Saa 132 ya Pixel

Nina, kwa muda mrefu kama ninavyoweza kukumbuka nilikuwa nikizingatiwa na LED na wakati. Katika mradi huu nimeunda saa kubwa ya ukuta inayoonyesha wakati wa sasa kwa kutumia taa za neopixel 132 zilizowekwa na kuangaza kupitia bodi ya spruce. Ni dijiti ya analogi mseto na pikseli ya Mtu binafsi kwa kila saa, dakika na pili.

Huu ndio ulikuwa mradi mkubwa zaidi ambao nimechukua hadi sasa, nilianza kuifikiria miezi 6 iliyopita na wazo polepole likaja pamoja. Nina furaha sana na matokeo na ninatarajia kushiriki nawe.

Hatua ya 1: Kukusanya Vifaa na Zana

Vifaa vya Kukusanya na Zana
Vifaa vya Kukusanya na Zana
Vifaa vya Kukusanya na Zana
Vifaa vya Kukusanya na Zana
Vifaa vya Kukusanya na Zana
Vifaa vya Kukusanya na Zana
Vifaa vya Kukusanya na Zana
Vifaa vya Kukusanya na Zana

Vipengele

Mradi huu umejengwa kwenye bodi ya kupendeza ya kupendeza kutoka duka langu la karibu la DIY. Bodi ina urefu wa 850mm kwa 500mm juu na 18mm kirefu.

Taa zinazotumika katika mradi huu ni 5050 WS2812b zilizowekwa kwenye PCB za mviringo ambazo ni takriban 9mm kwa kipenyo na pedi za solder nyuma.

Ninatumia kidhibiti ndogo kinachofaa cha Arduino Pro Mini. Ni toleo la 5V 16 MHZ. Nilichagua hii kwani ina muundo mwembamba mzuri, uchapishaji wa miguu ndogo na bandari zote za nessary pamoja na vipuri vya usasishaji wa siku zijazo. Volt yake pia 5 kwa hivyo naweza kutumia usambazaji wa umeme kwa LEDs, Mdhibiti wa Micro na RTC

Utunzaji wa wakati hutunzwa na moduli ya RTC (Saa Saa Saa) inayoangazia Chip ya DS3231. Chip hiki ni sahihi sana kwa hivyo wakati haupaswi kuzunguka sana.

Pia kutumika:

Waya. Solder na gundi moto.

Zana:

Kuchimba nguvu na bits za kuchimba kuni (10mm na 5mm)

Chuma cha kulehemu

Bunduki ya gundi moto

snipps waya

Dremel na wapige vifaa vya router

Hatua ya 2: Kuashiria, kuchimba visima na njia

Kuashiria, kuchimba visima na njia
Kuashiria, kuchimba visima na njia
Kuashiria, kuchimba visima na njia
Kuashiria, kuchimba visima na njia
Kuashiria, kuchimba visima na njia
Kuashiria, kuchimba visima na njia

Kuchimba visima

  • Kutumia ukingo mwembamba pata katikati ya bodi kwa kuchora laini kutoka pembe tofauti.
  • Weka alama kwenye duru 3 kwa kutumia kipande cha kamba na kalamu. Mduara mwingi wa nje unapaswa kuwa karibu 20mm kutoka ukingo wa ubao na mistari mingine 2 inayoingia kwa 15mm kutoka kwa laini ya mwisho.
  • Nilitumia uso wa saa iliyochapishwa kunisaidia kuashiria nafasi za kila dakika na sekunde kwenye mistari 2 ya nje na masaa kwenye mstari wa ndani.
  • Piga mashimo 10mm takriban 5mm kwa kila saa, dakika na pili.
  • Tumia kuchimba visima 5mm kutengeneza mashimo ingawa bodi kwa saa, dakika na pili.

Kuelekeza

Ingawa hatua hii sio ya lazima itaruhusu saa kutengezwa kwa ukuta.

  • Kutumia njia za waya za mwongozo na duara kwenye bodi
  • Weka alama na upeleke mapumziko kwa RTC na Mdhibiti Mdogo kuishi.
  • Njia ya kituo kutoka kwa mistari ya nje hadi mapumziko kwa waya

Hatua ya 3: Ujeshi sana, Kukata na Kuvua

Askari sana, Kukata na Kuvua
Askari sana, Kukata na Kuvua
Askari sana, Kukata na Kuvua
Askari sana, Kukata na Kuvua
Askari sana, Kukata na Kuvua
Askari sana, Kukata na Kuvua

Sehemu hii inayofuata ni rahisi kusema kuliko kufanya. Ushauri wangu itakuwa kumbuka kuikimbilia. jaribu kutafuta mfumo na uingie kwenye densi.

Kila moja ya LED inahitaji volts 5 ndani, volts 5 nje, Takwimu ndani, Takwimu nje, Ground in na Ground out. pamoja na nguvu kwa mdhibiti mdogo na RTC waya zake zaidi ya 400, zote zimevuliwa na kuuzwa kwa ncha zote.

Dutu yenye rangi ya samawati ni muhimu sana kwa hatua hii.

  • Nilianza kwa kuweka LED 2 kwenye mashimo yao karibu na kila mmoja ili kupanga urefu wa waya unaohitajika kuungana.
  • Kutumia waya wa 1 kama mwongozo kisha nikata 60 ya kila waya wa rangi.
  • Ukanda wa 2mm wa mikono kutoka mwisho wa kila waya na uwatie na solder.
  • Solder blob ndogo ya solder kwenye kila pedi ya LED.
  • Weka waya kwenye LED ili kuunda minyororo miwili ya 60 kwa dakika na sekunde na mnyororo mmoja wa 12 kwa masaa. Nilitumia waya mwekundu kwa 5V, manjano kwa data na bluu kwa ardhi.
  • Jihadharini kuunganisha kila Data Out (DOUT) na Data In (DIN) ya LED inayofuata
  • Mwisho ulioongozwa katika kila kipimo cha mnyororo hauitaji data nje ya waya.

Mara tu minyororo yote imekamilika ni wazo nzuri ya kuwajaribu kabla ya kuiweka. Nilitumia Arduino UNO yangu na Adafruit NeoPixel Strand Test ili kudhibitisha kila LED inafanya kazi.

Solder waya ndefu kwenye kila minyororo ya 5V, Ground na Data in.

Kwa wakati huu kunapaswa kuwa na waya tano za 5v, waya tatu za Takwimu zilizounganishwa na Arduino Pro Mini na waya 5 za chini.

Kamba 5mm kutoka mwisho wa waya 5v na kuziunganisha zote pamoja na kurudia kwa waya za chini.

Baada ya kumaliza minyororo mitatu ya kuuza waya 5V kwenye pini RAW ya Arduino Pro Mini na pia kwenye pini ya VCC ya RTC. Waya ya chini kwa GND kwenye Arduino Pro Mini na RTC na kisha waya 2 zaidi:

SCL kutoka RTC hadi A5 kwenye Pro Mini

SDA kutoka RTC hadi A4 kwenye Pro Mini

Mistari ya data kutoka kwa LED inapaswa kuunganishwa na:

  • Sekunde - Pini ya Dijitali 3.
  • Dakika - DigitalPin 4
  • Masaa - DigitalPin 5

Hatua ya 4: Kufunga

Inasakinisha
Inasakinisha
Inasakinisha
Inasakinisha
Inasakinisha
Inasakinisha

Mara baada ya kuuzwa, kufunga LED kwenye mashimo yao inapaswa kuwa sawa mbele. Taa zinahitajika kusanikishwa ili data iendane na kinyume cha Saa wakati wa kuiangalia kutoka nyuma kwani nambari imewekwa mbele mbele.

Nilitumia kiwango kidogo cha gundi moto kuwashikilia kwani ninataka kuwa na nafasi ya LED moja ikiwa itashindwa katika siku zijazo.

Nilitumia pia gundi moto kuweka waya wote nadhifu na nadhifu na kurekebisha kiunganishi cha pipa kwenye bodi.

Kuna miongozo kadhaa ya programu ya arduino pro mini inayopatikana. Ninatumia USB ya nje kwa njia ya ubadilishaji wa serial kupakia nambari hii kwenye Arduino:

Nambari hii pia itaweka wakati kwenye RTC hadi wakati ambao ilikusanywa. kwa hivyo ni muhimu kubandika kitufe cha kupakia ili iweze kufuata na kupakia haraka iwezekanavyo.

Mengi ya nambari hii ilikopwa kutoka Saa ya Pete ya NeoPixel na Andy Doro. Wengine kutoka kwa Mtihani wa Strand ya NeoPixel ya Adafruit na wengine niliwaweka pamoja.

Utahitaji kuwa umeweka maktaba machache. Zinapatikana kutoka kwa Meneja wa Maktaba kwenye programu ya Arduino.

NeoPixel ya Adafruit ya taa za ws2812b

Waya kwa kuzungumza na RTC juu ya I2C (hii imejengwa kwa kiwango)

na RTClib kwa kujua nini cha kuuliza RTC

/ ************************************************* ************************* * * Saa ya Pete ya NeoPixel na Andy Doro ([email protected]) https://andydoro.com/ringclock/ * * ************************************************ **************************

Historia ya Marekebisho

Tarehe Na Nini

Rasimu ya kwanza ya 20140320 AFD 20160105 AFD Faded arcs 20160916 AFD Trinket inayoendana na 20170727 AFD imeongeza STARTPIXEL kwa uzio wa 3D, sehemu ya kuanzia inayotofautiana, imeongeza msaada wa moja kwa moja wa DST 20180424 AFD ikitumia maktaba ya DST https://github.com/andydoro/DST_RTC *

/ ni pamoja na nambari ya maktaba:

#jumuisha #jumuisha

# pamoja

// fafanua pini

#fafanua SIRI 3 #fafanua MADINI 4 #fafanua NYUMBA 5

#fafanua NURU 20 // weka mwangaza mwingi

#fafanua r 10

#fafanua g 10 #fafanua b 10 RTC_DS3231 rtc; // Anzisha kitu cha saa

Ukanda wa Adafruit_NeoPixelS = Adafruit_NeoPixel (60, SECPIN, NEO_GRB + NEO_KHZ800); // kuvua kitu

Adafruit_NeoPixel stripM = Adafruit_NeoPixel (60, MINPIN, NEO_GRB + NEO_KHZ800); // kipande cha kitu Adafruit_NeoPixel stripH = Adafruit_NeoPixel (24, HOUPIN, NEO_GRB + NEO_KHZ800); // piga kitu byte pixel ColourRed, pixelColorGreen, pixelColorBlue; // inashikilia maadili ya rangi

usanidi batili () {

Wire.begin (); // Anza I2C rtc. Anza (); // kuanza saa

Serial. Kuanza (9600);

// kuweka pinmode pinMode (SECPIN, OUTPUT); pinMode (MINPIN, OUTPUT); pinMode (HOUPIN, OUTPUT);

ikiwa (rtc.lostPower ()) {

Serial.println ("RTC ilipoteza nguvu, inakuwezesha kuweka wakati!"); // mstari unaofuata unaweka RTC hadi tarehe na wakati mchoro huu ulikusanywa rtc.rekebisha (DateTime (F (_ DATE_), F (_ TIME_))); // Mstari huu unaweka RTC na tarehe na wakati wazi, kwa mfano kuweka // Januari 21, 2014 saa 3 asubuhi ungeita: // rtc.rekebisha (DateTime (2014, 1, 21, 3, 0, 0)); }

stripS.anza ();

stripM kuanza (); stripH. kuanza (); //strip. onyesha (); // Anzisha saizi zote ili "kuzima"

// mlolongo wa kuanza

kuchelewesha (500);

rangiWipeS (stripS. Color (0, g, 0), 5); // Rangi ya BluuWipeM (stripM. Color (r, 0, 0), 5); // Rangi ya BluuWipeH (stripH. Rangi (0, 0, b), 50); // Bluu

kuchelewesha (1000);

Wakati wa WakatiTime = rtc.now (); // inazingatia DST byte secondval = theTime.second (); // pata sekunde byte dakika = theTime.minute (); // pata dakika int hourval = TheTime.hour (); saa = saa% 12; // Saa hii ni saa 12, ikiwa ni 13-23, badili hadi 0-11`

kwa (uint16_t i = 0; i <secondval; i ++) {stripS.setPixelColor (i, 0, 0, b); stripS.show (); kuchelewesha (5); }

kwa (uint16_t i = 0; i <dakika; i ++) {stripM.setPixelColor (i, 0, g, 0); mkandaM onyesha (); kuchelewesha (5); }

kwa (uint16_t i = 0; i <hourval; i ++) {stripH.setPixelColor (i, r, 0, 0); stripH.show (); kuchelewesha (5); }

}

kitanzi batili () {

// pata wakati

Wakati wa WakatiTime = rtc.now (); // inazingatia DST

byte ya pili = theTime.second (); // pata sekunde

dakika ya byte = theTime.minute (); // pata dakika int hourval = TheTime.hour (); // kupata saa ya saa = saa% 12; // Saa hii ni saa 12, ikiwa ni 13-23, badili hadi 0-11`

stripS.setPixelColor (kipindi cha pili, 0, 0, 20); stripS.show (); kuchelewesha (10); ikiwa (secondval == 59) {for (uint8_t i = stripS.numPixels (); i> 0; i--) {stripS.setPixelColor (i, 0, g, 0); stripS.show (); kuchelewesha (16);}}

stripM.setPixelColor (dakika, 0, g, 0);

mkandaM onyesha (); kuchelewesha (10); ikiwa (secondval == 59 && minuteval == 59) {for (uint8_t i = stripM.numPixels (); i> 0; i--) {stripM.setPixelColor (i, r, 0, 0); mkandaM onyesha (); kuchelewesha (16);}}

stripH.setPixelColor (saa, r, 0, 0);

stripH.show (); kuchelewesha (10); ikiwa (secondval == 59 && minuteval == 59 && hourval == 11) {for (uint8_t i = stripH.numPixels (); i> 0; i--) {stripH.setPixelColor (i, 0, 0, b); stripH.show (); kuchelewesha (83);}} // kwa utatuzi wa serial Serial.print (saa, DEC); Serial.print (':'); Rangi ya serial (dakika, DEC); Serial.print (':'); Serial.println (wa pili, DEC); }

// Jaza nukta moja baada ya nyingine na rangi

utupu colorWipeS (uint32_t c, uint8_t wait) {for (uint16_t i = 0; i <stripS.numPixels (); i ++) {stripS.setPixelColor (i, c); stripS.show (); kuchelewesha (subiri); }}

utupu colorWipeM (uint32_t c, uint8_t subiri) {

kwa (uint16_t i = 0; i <stripM.numPixels (); i ++) {stripM.setPixelColor (i, c); mkandaM onyesha (); kuchelewesha (subiri); }}

utupu colorWipeH (uint32_t c, uint8_t subiri) {

kwa (uint16_t i = 0; i <stripH.numPixels (); i ++) {stripH.setPixelColor (i, c); stripH.show (); kuchelewesha (subiri); }}

Hatua ya 5: Kugusa Mwisho

Image
Image
Kugusa Mwisho
Kugusa Mwisho

Yote ambayo inapaswa kushoto sasa ni kurekebisha RTC na Mdhibiti Mdogo chini kwenye mapumziko.

Nimeweka upande wa betri ya RTC juu ili niweze kubadilisha betri kwa urahisi ikiwa inahitajika.

Unganisha waya 5v kwa + upande wa kontakt na chini kwa upande

Wape nguvu!

Nina yangu iliyounganishwa na benki ya betri ya USB lakini sinia ya simu ya USB ingefanya kazi vile vile.

Kumbuka:

Mwangaza wa LED umewekwa kwenye nambari. Imewekwa chini kuweka sare ya sasa chini. Kwa mwangaza kamili na taa zote za LED zinaweza kuteka karibu amps 8. Na usanidi wa sasa ni chini ya 1.

Mashindano ya Saa
Mashindano ya Saa
Mashindano ya Saa
Mashindano ya Saa

Mkimbiaji Juu katika Mashindano ya Saa

Ilipendekeza: