Tartalomjegyzék:
Videó: Környezeti valós idejű óra: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
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ó
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:
Valós idejű óra modul használata (DS3231): 5 lépés
Valós idejű óramodul (DS3231) használata: A DS3231 egy olcsó, rendkívül pontos I2C valós idejű óra (RTC), beépített hőmérséklet-kompenzált kristályoszcillátorral (TCXO) és kristállyal. A készülék akkumulátor -bemenettel rendelkezik, és pontos időmérést tart fenn, amikor a fő áramellátás
Valós idejű óra Arduino -val: 3 lépés
Valós idejű óra Arduino -val: Ebben a projektben egy órát készítünk az Arduino és az RTC modul segítségével. Mint tudjuk, az Arduino nem tudja megjeleníteni a tényleges időt, ezért az RTC modul segítségével jelenítjük meg a megfelelő időt az LCD -n. Olvassa el figyelmesen az összes lépést, ez segít
A DS3231 RTC (valós idejű óra) pontos beállítása, gyors és automatizált Java használatával (+-1 másodperc): 3 lépés
A DS3231 RTC (valós idejű óra) pontos, gyors és automatikus beállítása Java használatával (+-1 másodperc): Ez az utasítás megmutatja, hogyan kell beállítani az időt egy DS3231 valós idejű órán egy Arduino és egy kis Java-alkalmazás segítségével, amely az Arduino soros kapcsolata. A program alapvető logikája: 1. Az Arduino soros kérést küld
Arduino alapú óra a DS1307 valós idejű óra (RTC) modul használatával és 0.96: 5 lépés
Arduino alapú óra a DS1307 valós idejű óra (RTC) modul használatával és 0.96: Sziasztok, srácok, ebben az oktatóanyagban látni fogjuk, hogyan lehet működő órát készíteni egy DS1307 valós idejű óramodul segítségével. OLED kijelzők. Tehát kiolvassuk az időt a DS1307 óra modulból. És nyomtassa ki az OLED képernyőn
Óra készítése az M5stick C segítségével Arduino IDE - használatával RTC valós idejű óra az M5stack M5stick-C-vel: 4 lépés
Óra készítése az M5stick C segítségével Arduino IDE | használatával RTC valós idejű óra az M5stack M5stick-C-vel: Sziasztok srácok, ebben az utasításban megtanuljuk, hogyan készítsünk órát az m5stick m5stick fejlesztőpaneljével az Arduino IDE segítségével. Így az m5stick megjeleníti a dátumot, az időt és az amp; a hónap hete a kijelzőn