Környezeti valós idejű óra: 4 lépés
Környezeti valós idejű óra: 4 lépés
Anonim
Környezeti valós idejű óra
Környezeti valós idejű óra

Cél

Azért készítettem ezt az órát, mert van egy címezhető LED szalagom, és szeretném használni. Aztán láttam, hogy a szobámban nincs jó óra, amely megfelel a falainak. Ezért úgy döntöttem, hogy készítek egy órát, amely megváltoztathatja a színét a felhasználók hangulatától vagy a fal színétől függően.

1. lépés: YouTube -videó

Image
Image

Nézze meg ezt a youtube videót a teljes utasításért

2. lépés: Eljárás

Először vettem egy 24 x 15 hüvelykes rétegelt lemezt.

Vágja darabokra a LED -csíkokat, és illessze be őket a táblára. Ezután forrasztásuk után az egészet fekete diagrampapírral lefedem, majd ráillesztek egy hőcserélő lapot, és egy éles vágóval vágom le a hőfestéket, négy hét szegmenses kijelzővel együtt. két lyuk a közepén. Ezután elkészítettem az áramkört az alábbi kapcsolási rajz segítségével

és mindezt beillesztette a tábla mögé. Rendeltem egy egyedi PCB -t is a https://jlcpcb.com webhelyről, ahol a legjobb PCB prototípusokat kínálják a legalacsonyabb áron Kínából és világszerte, gyorsan és biztonságosan. miután minden alkatrészemet felforrasztottam a táblámra, eltávolítottam a kenyértáblát, és mindent rögzítettem a tábla és a fedett elülső rész mögött egy vékony áttetsző papír segítségével. Az óra fantasztikusan néz ki, és növeli a fal szépségét. A testreszabott színek tökéletesen illeszkednek bármilyen falhoz.

Ha tetszik ez a projekt, iratkozzon fel a youtube -ra, vagy látogasson el honlapunkra: https://robocircuits.com Köszönjük, hogy elolvasta!

3. lépés: Kód

/* A kódot a RoboCircuits tervezte

* Látogassa meg webhelyünket a https://robocircuits.com webhelyen, ahol segítséget kaphat ezzel a kóddal kapcsolatban. * Ez a kód a DS3231.h könyvtárat használja, töltse le a https://robocircuits.com webhelyről. * A teljes oktatóanyagért Tekintse meg videónkat YouTube -csatornánkon https:// youtube. com/robocircuits */

#befoglalni #befoglalni

int i = 0, j = 0, k = 150;

// A DS3231 inicializálása a DS3231 rtc hardver interfész használatával (SDA, SCL);

#ifdef _AVR_ #include #endif

// Az Arduino melyik csapja csatlakozik a NeoPixelshez? // Egy csecsebecsén vagy Gemmán javasoljuk, hogy ezt módosítsa 1 #define PIN 6 -ra

// Hány NeoPixel kapcsolódik az Arduino -hoz? #define NUMPIXELS 45

// Amikor beállítjuk a NeoPixel könyvtárat, megmondjuk, hogy hány képpont és melyik tűt használjuk jelek küldésére. // Ne feledje, hogy a régebbi NeoPixel csíkok esetében előfordulhat, hogy módosítania kell a harmadik paramétert-a lehetséges értékekről további információt a strandtest // példában talál. Adafruit_NeoPixel pixelek = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

int delayval = 500; // fél másodperc késés

void setup () {// Ez a Trinket 5V 16MHz -re vonatkozik, ezt a három sort eltávolíthatja, ha nem használ Trinket #if meghatározott (_AVR_ATtiny85_), ha (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // A csecsebecse speciális kódjának vége

pixels.begin (); // Ezzel inicializálja a NeoPixel könyvtárat. // Soros kapcsolat beállítása Serial.begin (115200); // Inicializálja az rtc objektumot rtc.begin (); // A következő sorok megjegyzés nélkül írhatók be a dátum és az idő beállításához //rtc.setDOW(WEDNESDAY); // Állítsa a hét napját VASÁRNAPRA //rtc.setTime(12, 0, 0); // Állítsa be az időt 12:00:00 -ra (24 órás formátum) //rtc.setDate(1, 1, 2014); // Állítsa be a dátumot 2014. január 1 -re}

void loop () {if (digitalRead (2) == HIGH) {int a = analogRead (A0); int b = analogRead (A1); int c = analogRead (A2); i = térkép (a, 0, 1025, 0, 150); // Zöld szín j = térkép (b, 0, 1025, 0, 150); // Kék szín k = térkép (c, 0, 1025, 0, 150); // Piros szín} else {i = 0; j = 0; k = 150; }

// Háttérvilágítás kódja (int x = 29; x <= 45; x ++) {pixels.setPixelColor (x, pixels. Color (i, j, k)); pixels.show (); }

// Valós idő lekérése az rtc karakterláncból x = rtc.getTimeStr (); // Küldési idő Serial.println (rtc.getTimeStr ()); int óra1 = x.charAt (0); int óra2 = x.charAt (1); int min1 = x.charAt (3); int min2 = x.charAt (4); óra1 = óra1-48; óra2 = óra2-48; min1 = min1-48; min2 = min2-48;

// Idő megjelenítése az Óra kapcsolón (óra1) {// 0. eset: nulla (0); //szünet; 1. eset: egy (0); szünet; 2. eset: kettő (0); szünet; alapértelmezett: nulll (0); szünet; } kapcsoló (óra2) {eset 0: nulla (7); szünet; 1. eset: egy (7); szünet; 2. eset: kettő (7); szünet; 3. eset: három (7); szünet; 4. eset: négy (7); szünet; 5. eset: öt (7); szünet; 6. eset: hat (7); szünet; 7. eset: hét (7); szünet; 8. eset: nyolc (7); szünet; 9. eset: kilenc (7); szünet; alapértelmezett: nulll (7); szünet; } kapcsoló (min1) {eset 0: nulla (15); szünet; 1. eset: egy (15); szünet; 2. eset: kettő (15); szünet; 3. eset: három (15); szünet; 4. eset: négy (15); szünet; 5. eset: öt (15); szünet; alapértelmezett: nulll (15); szünet; } kapcsoló (min2) {eset 0: nulla (22); szünet; 1. eset: egy (22); szünet; 2. eset: kettő (22); szünet; 3. eset: három (22); szünet; 4. eset: négy (22); szünet; 5. eset: öt (22); szünet; 6. eset: hat (22); szünet; 7. eset: hét (22); szünet; 8. eset: nyolc (22); szünet; 9. eset: kilenc (22); szünet; alapértelmezett: nulll (22); szünet; } pixels.setPixelColor (14, pixels. Color (i, j, k)); pixels.show (); késleltetés (250); pixels.setPixelColor (14, pixels. Color (0, 0, 0)); pixels.show (); késleltetés (250); }

void zero (int a) {pixels.setPixelColor (a+0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (i, j, k)); pixels.show (); } void one (int a) {pixels.setPixelColor (a+0, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (i, j, k)); pixels.show (); } void two (int a) {pixels.setPixelColor (a+0, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (0, 0, 0)); pixels.show (); } void three (int a) {pixels.setPixelColor (a+0, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (i, j, k)); pixels.show (); } void four (int a) {pixels.setPixelColor (a+0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (i, j, k)); pixels.show (); } void five (int a) {pixels.setPixelColor (a+0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (i, j, k)); pixels.show (); } void six (int a) {pixels.setPixelColor (a+0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (i, j, k)); pixels.show (); } void seven (int a) {pixels.setPixelColor (a+0, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (i, j, k)); pixels.show (); } void eight (int a) {pixels.setPixelColor (a+0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (i, j, k)); pixels.show (); } void nine (int a) {pixels.setPixelColor (a+0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (i, j, k)); pixels.show (); } void nulll (int a) {pixels.setPixelColor (a+0, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (0, 0, 0)); pixels.show (); }

4. lépés: Köszönöm

látogasson el a https://robocircuits.com oldalra

Ajánlott: