Tartalomjegyzék:

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

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

Videó: Környezeti valós idejű óra: 4 lépés
Videó: Ember- és környezetkímélő kertművelés 2024, Július
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: