Satura rādītājs:

Varavīksnes vārdu pulkstenis ar pilnu varavīksnes efektu un vairāk: 13 soļi (ar attēliem)
Varavīksnes vārdu pulkstenis ar pilnu varavīksnes efektu un vairāk: 13 soļi (ar attēliem)

Video: Varavīksnes vārdu pulkstenis ar pilnu varavīksnes efektu un vairāk: 13 soļi (ar attēliem)

Video: Varavīksnes vārdu pulkstenis ar pilnu varavīksnes efektu un vairāk: 13 soļi (ar attēliem)
Video: Птичий глаз_Рассказ_Слушать 2024, Novembris
Anonim
Varavīksnes vārdu pulkstenis ar pilnu varavīksnes efektu un daudz ko citu
Varavīksnes vārdu pulkstenis ar pilnu varavīksnes efektu un daudz ko citu

Mērķi

1) Vienkāršs

2) Nav dārgi

3) Pēc iespējas energoefektīvāka

Varavīksnes vārdu pulkstenis ar pilnu varavīksnes efektu.

Smaidiņš uz vārdu pulksteņa.

Vienkārša IR tālvadības pults

Atjauniniet 03-nov-18 LDR neopikseļu spilgtuma kontrolei

Atjauninājums 01-janvāris 19 WS2812B enerģijas patēriņa samazināšana.

Atjauninājums 15. janvāris-19 smaidiņš.

Atjaunināt 23. janvāra 19. kodu 1.6

Atjaunināt 10. marta-19 bibliotēku saites

Atjaunināt 14. aprīļa 19. versiju 1.7. Izvēlēties smaidiņus ieslēgt/izslēgt kolorīta varavīksni/labot enzīmu.

Pēdējais atjauninājums 01-jun-19 versija 2.0 IR tālvadības pults un koda pārveidošana

1. darbība: pulksteņa korpuss

Korpuss pulkstenim
Korpuss pulkstenim
Korpuss pulkstenim
Korpuss pulkstenim
Korpuss pulkstenim
Korpuss pulkstenim

Ar dažiem vienkāršiem rīkiem un mazliet prasmēm nav grūti izveidot burtu pulksteni. Es izmantoju man pieejamos materiālus.

Korpusam es izmantoju raupju priežu stieni, kurā es zāģēju dažus rāmjus. Tādējādi tiktu izgatavotas četras korpusa puses, kas tika salīmētas kopā un stūros pastiprinātas ar nelielu koka gabalu. Tad koksnei nepieciešama slīpēšana un krāsošana.

Burtus no folijas izgriež printeris spoguļrakstā. Folija atrodas stikla plāksnes aizmugurē un ir pārklāta ar divslāņu raksta papīru labākai gaismas izplatīšanai. Stikls ir fiksēts ar silikona hermētiķi.

2. darbība. Neopikseli

Neopikseli
Neopikseli
Neopikseli
Neopikseli
Neopikseli
Neopikseli
Neopikseli
Neopikseli

Neopikseļu gaismas diodes ir izvietotas uz koka plāksnes. Šajā gadījumā vispirms jāizurbj 3 mm caurumi. Priekšpusē tie ir palielināti līdz burta izmēram līdz 3/4 dziļumam. Pēc tam 3 mm aizmugurē tiek palielināts līdz 10 mm, tas ir Neopixel izmērs. Dažām rakstzīmēm, tostarp W, caurums ir nedaudz jāpielāgo.

Es izmantoju saplāksni, kas ātri sadalījās, MDF var būt labāks.

Izmantojot atsevišķas gaismas diodes, jūs neesat saistīts ar noteiktu attālumu, kā tas ir ar LED sloksnēm. Gaismas diodēm jābūt savienotām viena ar otru. To var izdarīt ar visiem īsiem stieples gabaliem. Bet divi min (-) savienojumi ir gluži kā divi plus (+) savienojumi, kas ir iekšēji savienoti, tātad viens un tas pats savienojums.

Jūs varat ietaupīt daudz darba, pielodējot stieples gabalu pie kreisās gaismas diodes un pēc tam pie labās gaismas diodes. Pēc tam lodējiet starpposmus.

Datu savienojumam, protams, jābūt ar īsiem gabaliem, jo datu izeja nonāk datu ievadē.

3. darbība: priekšējā teksta pielāgošana

Priekšējā teksta pielāgošana
Priekšējā teksta pielāgošana
Priekšējā teksta pielāgošana
Priekšējā teksta pielāgošana
Priekšējā teksta pielāgošana
Priekšējā teksta pielāgošana

Priekšējā plāksne tagad ir holandiešu valodā, bet vienkārši konvertējama jebkurā valodā.

NeoPixels gaismas diodes šeit tiek mainītas pēc kārtas no 0 līdz 167. Numerācija sākas no pirmās rindas augšējā kreisajā stūrī pa labi un pēc tam uz otro rindu no labās uz kreiso utt. Regulēšanu var veikt atbilstoši savām vajadzībām. NeoPikseļu skaitu nosaka rakstzīmju skaits. Nākamajā rindā var pielāgot mazāk vai vairāk neopikseļu

#define NUMPIXELS 168 // Cik NeoPikseļu ir pievienoti Arduino?

168 ir nekā cits skaitlis. Numerācija sākas ar 0. Jūs varat izveidot jebkuru tekstu. Ja maināt tekstu, jums būs jāpielāgo arī atbilstošie vārdi. Numerācija paliek nemainīga.

Kā piemēru var minēt protokola izžūšanu

void zetmDrie () {

Led_Aan [56] = 1, Led_Aan [57] = 1, Led_Aan [58] = 1, Led_Aan [59] = 1; // min-drie

}

Ja vēlaties izveidot vārdu Arduino, tas notiek šādi:

void zetArduino () {

Led_Aan [38] = 1, Led_Aan [50] = 1, Led_Aan [56] = 1, Led_Aan [93] = 1;

Led_Aan [120] = 1, Led_Aan [135] = 1, Led_Aan [147] = 1; // Vārds-arduino

}

Tātad jūs varat izveidot vārdus starp.

Pulksteņa vārdiem ir noderīgi, ja tie veido blakus vārdu, bet tas nav absolūti nepieciešams. Neizmantotajiem burtiem nav nepieciešami neonpikseļi. Man tās visas ir aizpildītas, lai izmantotu citas nākotnes iespējas, izņemot laika parādīšanu.

Ja maināt sākuma punktu vai pēctecības secību, attiecīgi jāmaina numerācija.

4. solis: pilns varavīksnes efekts

Pilns varavīksnes efekts
Pilns varavīksnes efekts

Pulkstenis tagad ir tik ieprogrammēts, ka tiek skaitīts, cik reižu sekundē ir ieslēgts neopikselu skaits.

Kopējais spektrs ir aptuveni sadalīto skaits un pēc tam nedaudz nobīdīts. Tā rezultātā katram neopikselim ir atšķirīga krāsa, kas nepārtraukti mainās. Neopikselis nr. 1 un nr. 167 seko viens otram uz dažām krāsu kombinācijām.

Ja vienlaikus dodat priekšroku mazāk dažādām krāsām, to ir viegli pielāgot. Krāsa joprojām mainās visā spektrā, bet ar mazāku tā daļu. Neopikselis Nr. 1 un Nr. 167 vairs neseko viens otram, kas saistīts ar kādu krāsu.

Spilgtumu var iestatīt šādā rindā:

pikseļi.setBrightness (150);

Mazāks skaitlis ir mazāks un lielāks skaitlis vairāk spilgtuma.

5. solis: dažādi komponenti

Dažādi komponenti
Dažādi komponenti
Dažādi komponenti
Dažādi komponenti
Dažādi komponenti
Dažādi komponenti

Es izmantoju šādas sastāvdaļas

Arduino Pro Mini ATMEGA328 5V/16MHz

Pulksteņa modulis DS3231

168 gab. Neopikseļu LED WS2812 LED mikroshēma un radiators 5V 5050 RGB WS2811 IC Iebūvēts

Folijas burtu trafarets

DCF77 uztvērējs

6. darbība: pulksteņa kods

Šeit ir kods. Pievienota spilgtuma kontrole un izslēgšana, kad neviens nav klāt un naktī.

Pievienots RCWL-0516 radara mikroviļņu kustības sensors (meklēt RADAR)

Pēc 10 minūšu nekustināšanas NeoPixels nodziest.

Par versiju 2.0

Atmiņas izmantošana bija pārāk liela, jo kompilatora atmiņas brīdinājumi bija beigušies. Tāpēc es esmu pilnībā nomainījis kodu, taču darbība ir palikusi tāda pati un ir pievienots IR uztvērējs.

Ir kods, kas nodrošina datus EEPROM. Palaidiet to vienu reizi, īslaicīgi noņemot / * un * /. Meklējiet => palaidiet šo vienreiz, lai nodrošinātu EEPROM datus

Tukšuma cilpas sākumā ir kods, lai nolasītu kodu no savas tālvadības pults. To var palaist, īslaicīgi noņemot / * un * /, neaizmirstiet tos vēlāk ievietot atpakaļ. Varat arī definēt savas pogas. Nolasītais kods ir jāievada => Šeit definējiet savas pogas

Samsung tālvadības pults darbojas labāk nekā (ļoti lēts) vienkāršais.

7. darbība: aparatūras apraksts

Aparatūras apraksts
Aparatūras apraksts
Aparatūras apraksts
Aparatūras apraksts
Aparatūras apraksts
Aparatūras apraksts

Ir dažādas Arduino Pro Mini versijas. Lūdzu, ņemiet vērā, ka savienojumi var atšķirties.

Pievienots mikroviļņu kustības sensors RCWL-0516.

Kamēr pulksteņa tuvumā notiek kustība, NeoPixel paliek ieslēgts

un, tiklīdz vairs nav kustību, NeoPixel izslēdzas pēc dažām minūtēm.

Versijā 2.0 DCF77 uztvērējs tiek piegādāts ar strāvu, izmantojot tapu 13. Šī tapa ir definēta kā izeja un iestatīta augsta, kad tiek adresēta DCF77 rutīna. DCF77 uztvērējs izmanto 0,28 mA un ir vajadzīgs tikai dažas minūtes dienā.

Izslēgšana ietaupa

5 volti * 0,28 mA / 1000 * 24 stundas * 365 dienas * 1 / 0,85 efektivitātes barošanas avots = 14,4 vati gadā.

Tas nešķiet daudz, bet katrs sīkums palīdz.

8. solis: LDR neopikseļu spilgtuma kontrolei

LDR neopikseļu spilgtuma kontrolei
LDR neopikseļu spilgtuma kontrolei
LDR neopikseļu spilgtuma kontrolei
LDR neopikseļu spilgtuma kontrolei

Pievienots LDR neopikseļu spilgtuma kontrolei.

Esmu pielīmējis LDR neopikseļa 103. telpā. Šis netiek izmantots laika displejā un tāpēc neietekmē regulējumu. Papīrs slāpē krītošo gaismu, bet tā nav problēma.

LDR un 20 kohm rezistora sprieguma dalītājs iet uz Arduino Pro Mini A0. Spriegums ir gaismas intensitātes rādītājs un līdz ar to arī gaismas daudzuma indikators, kas jāsniedz neopikseļiem.

Formula, ko izmantoju, man nodrošina labu gaismas vadību, to var pielāgot atkarībā no apstākļiem. Atkarībā no gaismas daudzuma spriegums var svārstīties no 0 līdz 5 voltiem, kas tiek pārvērsts par 0 līdz 1024 skaitļiem, kas ir "LDRValue".

Ja jaunā izmērītā vērtība ir lielāka par pēdējo aprēķināto vērtību, intensitāte tiek palielināta par 1, ja tā ir zemāka par samazinātu par 1 un ja tā ir vienāda, nekas netiek darīts. Lai vērtība turpinātu darboties lēni, lai nebūtu mirgojoša efekta, tikai 1 tiek palielināts vai samazināts, un, tā kā aprēķins ir ciklā, tas tiek pārrēķināts tikai pēc cilpas 25 reizes.

Intensitāte teorētiski ir vismaz 20 un maksimāli 1024/7 + 45 = 191. Maksimālā vērtība, ko es izmērīju, bija 902, kas ir intensitāte 173. Tas labi atbilst 150, ko esmu iestatījis kā noklusējuma vērtību. (sk. pixels.setBrightness (150))

Versijā 2.0 jūs varat iestatīt vadību, izmantojot tālvadības pulti. Ir pievienoti šādi parametri: Brightness_min kā minimums un Brightness_max kā maksimālais iestatījums un Brightness_Offset kā iestatīšanas parametrs. Brightness_min un _max ir vērtības, kas var būt atkarīgas no jūsu situācijas. Brightness_Offset ir vērtība, kuru var iestatīt ar tālvadības pulti un ar kuru var iestatīt lielāku vai mazāku spilgtumu.

Starp izmērīto LDRValue un aprēķināto BerLDRValue vērtību ir arī mirušā josla 3.

Izmantojiet drukas paziņojumus tukšumā BrightnessControl, lai pārbaudītu spilgtuma iestatījumu.

9. solis: WS2812B enerģijas patēriņa samazināšana

WS2812B enerģijas patēriņa samazināšana
WS2812B enerģijas patēriņa samazināšana

WS2812B adresējamo neopikseļu draiveri uztver strāvu pat tad, ja jaunie pikseļi ir izslēgti, un tie ir iestatīti uz 0 krāsu (neopikselu elementi nedeg).

Kad ir izgājuši visi 169 neopikseļi, es izmērīju neopikseliem 69 mA. Pieņemot, ka pulkstenis ir izslēgts 12 stundas dienā, kopējā izslēgšana ietaupa: 5 (voltu barošanas avots) * 69/1000 (Miliampere / 1000 = ampēri) * 12 (stundu skaits dienā) * 365 (dienu skaits vienā gads) = 1511 vatu stundas. Tātad katru gadu 1,5 Kwh. Piekrītu, tas pats par sevi nav daudz, bet daudzi mazi veido lielu.

Ķēde ir vienkārša. Barošanas avota plus tiek pārslēgts ar P-kanāla MosFet. Radara sensors nosaka, vai neopikseļi ir ieslēgti vai izslēgti. Esmu ievietojis divus MosFet paralēlus, lai MosFets zaudēšanas dēļ pēc iespējas zemāka būtu ON pretestība. Parastā lietošanā es mēra 4, 5 mili voltus virs MosFets. Vārtus kontrolē ar izeju 4 no Arduino, izmantojot 470 Kohm rezistoru. Ja izvade digitāli pazeminās (0), neopikseļi ir ieslēgti un augstā (1) - izslēgti.

10. darbība: smaidiņš uz Word Clock

Smaidiņš uz vārda pulksteņa
Smaidiņš uz vārda pulksteņa
Smaidiņš uz vārda pulksteņa
Smaidiņš uz vārda pulksteņa

Smaidiņš uz vārdu pulksteņa.

Dažreiz pulkstenī parādās smaidiņš. Tomēr tas padara jūs laimīgu.

Smaidiņu iedarbina radara sensors. Kustību skaits (regulējams) ir smaidiņa izskata rādītājs. % Zīmes norāda, ka ir konstatēta kustība. Ar katru desmito (regulējamo) kustību smaidiņš nāk klajā ar Winky Face un pēc trim reizēm Winky Face nāk ceturto reizi, kad Smiley Face izbāž mēli.

Smaidiņš ir nelielas izmaiņas kodā.

11. darbība. Kādas bibliotēkas tiek izmantotas

Kādas bibliotēkas tiek izmantotas.

Es tos izmantoju operētājsistēmā Windows 7 ar Arduino IDE 1.6, un tie ir pārbaudīti arī operētājsistēmā Windows 10 ar Adruino IDE 1.8.8

RTClib-master

Arduino-DS3231-master

Adafruit_NeoPixel-master

Arduino-DCF77-master

Kena Širifa IRremote bibliotēka

Tā kā vienmēr ir neskaidrības par izmantoto bibliotēku, es pievienoju to, ko izmantoju.

IRremote bibliotēka izmanto daudz atmiņas. IRremote.h ir norādīts, ka varat atspējot neizmantoto protokolu

// Katrs protokols, kuru iekļaujat, maksā atmiņu, un dekodēšanas laikā maksā laiku // Atspējot (iestatiet uz 0) visus jums nevajadzīgos/nevēlamos protokolus!

Man ir atspējots viss, izņemot NEC un Samsung protokolu. Tas ļauj ietaupīt atmiņu par 10%. Šobrīd vairs nav problēmu ar atmiņas apjomu, tāpēc pagaidām atspējošana nav nepieciešama.

12. darbība: vienkārša IR tālvadības pults

Vienkārša IR tālvadības pults
Vienkārša IR tālvadības pults
Vienkārša IR tālvadības pults
Vienkārša IR tālvadības pults
Vienkārša IR tālvadības pults
Vienkārša IR tālvadības pults

Montāža

Kā redzams fotoattēlos, LED 132 atvere ir izrādījusies nedaudz par lielu. Es to labi izmantoju un pievienoju tam IR uztvērēju. Savienojiet IR uztvērēja VS1838 datu tapu ar Arduino 7. tapu. Turklāt pievienojiet plus un mīnus barošanas avotu. IR uztvērējs izmanto 0,21 mA, un to var pievienot arī plus strāvas padevei pēc FET slēdža. Tādējādi, ja pulkstenis ir ieslēgts 50% laika, tiek ietaupīti 5 volti * 0,21 mA / 1000 * 12 stundas * 365 dienas * 1 / 0,85 efektivitātes barošanas avots = 5,4 vati gadā. Tas nešķiet daudz, bet katrs sīkums palīdz.

Darbība ir šāda

Nospiediet jebkuru IR tālvadības pults taustiņu un pēc tam taustiņu OK. Pirmo reizi nospiežot, jūs nonāksit IS apstrādē, bet otro reizi atklāsit, vai tas bija pamatots pieprasījums. Otro reizi OK ātri jāseko pirmajai taustiņa nospiešanai, jo pretējā gadījumā tas atkal atgriežas. Es izveidoju šo konstrukciju tā, ka diez vai saņēmu pareizi atšifrētu pirmo kodu un tāpēc nenonāca IR apstrādē.

Kad IR apstrādē tiek izmantotas vairākas gaismas diodes, lai iegūtu informāciju, skaidrojumu lasiet tālāk un apskatiet pirmo attēlu.

Apraksts attiecas uz vienkāršu tālvadības pulti, bet jūs varat izmantot jebkuru tālvadības pulti un definēt savas atslēgas. Es arī izmantoju Samsung tālvadības pulti.

Pirmie četri taustiņi atbilst četrām augšējām gaismas diožu rindām. Četras gaismas diodes pagriežas pa kreisi vai pa labi atkarībā no iestatījuma. Nospiežot taustiņus no 1 līdz 4, stāvoklis tiek mainīts un saglabāts atmiņā.

1 fiksētas krāsas vai varavīksnes efekts

2 sekunžu zibspuldze izslēgta vai otrā zibspuldze ieslēgta

3 smiley off smiley on

4 DCF77 izslēgts vai DCF77 ieslēgts

Atslēgas numurs tiek parādīts šādos taustiņos

5 smaidiņu skaitītājs

6 varavīksnes spektra platums

7 noteikt sarkano iestatījumu

8 labojiet zaļo iestatījumu

9 labojiet zilo iestatījumu

Gaismas diodes 6., 7. un 8. rinda tagad atbilst iestatītajai vērtībai, 6. rinda norāda vienības, 7. rinda - desmitos un 8. rinda - simts. Katra rinda sākas ar nulli. Tātad pirmais līderis rindā ir 0, otrais ir 1 utt.

0 laika iestatījums

/\ spilgtuma iestatījums

Nospiežot pogu 0, iedegas "desmit" gaismas diodes, norādot, ka vēlaties iestatīt laiku, un, nospiežot 0 otrreiz, displejā parādās iestatītais laiks.

Tagad var iestatīt laiku un tas tiek parādīts displejā.

Iestatiet pareizo laiku un tad, ja atskaites pulkstenī ir vienādas minūtes, nospiediet pogu Labi.

Laiks ir noregulēts.

Ja neizmantojat minūšu vai stundu pogu, laika izmaiņas netiks veiktas. Ja jūs tos nospiežat, laiks tiks iestatīts nekavējoties.

Taustiņu 5 līdz 9 vērtību var mainīt ar taustiņiem

tiesības ir plus 1

pa kreisi ir mīnus 1

uz priekšu ir plus 10

reverss ir mīnus 10.

un laika iestatīšanai

tiesības ir plus 1 minūte

pa kreisi ir mīnus 1 minūte

uz priekšu ir plus 1 stunda

reverss ir mīnus 1 stunda

Dažreiz gadās, ka taustiņu nospiešana netiek atpazīta vai tiek veikta divas reizes. Tāpēc pievērsiet uzmanību, ja iestatījums ir labs, pretējā gadījumā mēģiniet vai labojiet vēlreiz. Samsung tālvadības pults, kuru es arī pārbaudīju, strādāja daudzas reizes labāk nekā (ļoti lēta) vienkāršā tālvadības pults.

Iestatot krāsu, izmaiņas redzat tieši visā displejā. Vietni ar krāsu pārskatu skatiet vietnē https://www.helderester.nl/kleurentabel.html. Protams, jūs varat iestatīt jebkuru vērtību.

Ja varavīksnes spektra platumam ir vērtība 0, spektrs ir ļoti šaurs un displejam ir viena krāsa, kas pastāvīgi mainās.

Šāda laika iestatīšanas trūkums ir tāds, ka jūs nevarat aprēķināt vasaras / ziemas pāreju, jo mums ir nepareizs datums. Pašam pulkstenim tas nav svarīgi, jo mēs to tagad neizmantojam.

13. darbība. Kādi Nexts?

Kādi Nexts?
Kādi Nexts?

Tālāk, skaņa, ja brīva atmiņa joprojām ir pietiekama.

Man jau ir skaļruņu kastes. Tie ir no veca klēpjdatora.

Ieteicams: