Orodha ya maudhui:
- Hatua ya 1: Kukusanya Vifaa na Zana
- Hatua ya 2: Kuashiria, kuchimba visima na njia
- Hatua ya 3: Ujeshi sana, Kukata na Kuvua
- Hatua ya 4: Kufunga
- Hatua ya 5: Kugusa Mwisho
Video: Saa 132 ya pikseli: Hatua 5 (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:53
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
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
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
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
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
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.
Mkimbiaji Juu katika Mashindano ya Saa
Ilipendekeza:
Utunzaji wa saa - Jinsi ya Kuunda Saa Iliyotengenezwa Kutoka kwa Saa !: Hatua 14 (na Picha)
Utunzaji wa saa - Jinsi ya Kuunda Saa Iliyotengenezwa Kutoka kwa Saa !: Halo wote! Huu ni maoni yangu kwa Mashindano ya Mwandishi wa Mara ya Kwanza ya 2020! Ikiwa unapenda mradi huu, ningethamini sana kura yako :) Asante! Hii inayoweza kufundishwa itakuongoza kupitia mchakato wa kujenga saa iliyotengenezwa na saa! Nimeita kwa ujanja
Kuweka DS3231 RTC (Saa Saa Saa) Sahihi, Haraka na Kujiendesha Kutumia Java (+ -1s): Hatua 3
Kuweka DS3231 RTC (Saa Saa Saa) Sahihi, Haraka na Kujiendesha Moja kwa Moja Kutumia Java (+ -1s): Hii inayoweza kufundishwa itaonyesha jinsi ya kuweka wakati kwenye Saa Saa ya DS3231 kwa kutumia Arduino na programu ndogo ya Java inayotumia uhusiano wa serial wa Arduino. Mantiki ya kimsingi ya programu hii: 1. Arduino hutuma ombi la mfululizo
Saa ya Saa ya Saa ya Dakika 30: Hatua 3 (na Picha)
Saa ya Saa ya Saa ya Dakika 30: Rafiki anaanzisha biashara ndogo ambayo hukodisha rasilimali kwa muda wa dakika 30. Alitafuta kipima muda ambacho kingeweza kutisha kila dakika 30 (saa na nusu saa) na sauti nzuri ya gong, lakini sikuweza kupata chochote. Nilijitolea kuunda si
Kutengeneza Saa na M5stick C Kutumia Arduino IDE - RTC Saa Saa Saa Na M5stack M5stick-C: Hatua 4
Kutengeneza Saa na M5stick C Kutumia Arduino IDE | RTC Saa Saa Saa Na M5stack M5stick-C: Halo jamani katika mafundisho haya tutajifunza jinsi ya kutengeneza saa na bodi ya maendeleo ya m5stick-C ya m5stack kutumia Arduino IDE.So m5stick itaonyesha tarehe, saa & wiki ya mwezi kwenye maonyesho
Saa rahisi ya Arduino / Saa ya saa: Hatua 6 (na Picha)
Saa rahisi / Saa ya saa Arduino: Hii " inafundishwa " itakuonyesha na kukufundisha jinsi ya kutengeneza saa rahisi ya Arduino Uno ambayo pia hufanya kama saa ya kusimama kwa hatua chache rahisi