Sadržaj:

Ambijentalni sat u stvarnom vremenu: 4 koraka
Ambijentalni sat u stvarnom vremenu: 4 koraka

Video: Ambijentalni sat u stvarnom vremenu: 4 koraka

Video: Ambijentalni sat u stvarnom vremenu: 4 koraka
Video: НЕ ВЗДУМАЙ снимать аккумулятор с машины. Делай это ПРАВИЛЬНО ! 2024, Srpanj
Anonim
Ambijentalni sat u stvarnom vremenu
Ambijentalni sat u stvarnom vremenu

Cilj

Ovaj sat sam napravio zato što oko mene leži adresabilna LED traka i želim ga koristiti. Tada sam vidio da moja soba nema dobar sat koji odgovara zidovima. Stoga sam odlučio napraviti sat koji može mijenjati boje prema raspoloženju korisnika ili boji zida.

1. korak: YouTube video

Image
Image

Za potpune upute pogledajte ovaj video na YouTubeu

Korak 2: Postupak

Prvo sam uzeo ploču od šperploče 24 x 15 inča.

Izrežite LED traku na komade i zalijepite ih na ploču. Nakon lemljenja prekrivam ih cijelim crnim papirom za papir, a zatim zalijepim termo ugljen na nju i izrežem termokoljen oštrim rezačem u obliku 4 ekrana sa sedam segmenata zajedno s dvije rupe u sredini. Zatim sam pripremio svoj krug pomoću dolje navedenog dijagrama krugova

i zalijepio sve ovo iza ploče. Naručio sam i prilagođeni PCB za isti s https://jlcpcb.com koji pruža najbolje prototipe PCB -a po najnižoj cijeni iz Kine i isporučuje se brzo i sigurno u cijelom svijetu. nakon lemljenja svih komponenti na ploču, uklonio sam ploču za kruh i popravio sve iza ploče i pokrio prednji dio pomoću tankog prozirnog papira za tragove. Sat izgleda sjajno i povećava ljepotu zida. boje za prilagođavanje čine ga savršenim za svaki zid.

Ako vam se sviđa ovaj projekt, ljubazno se pretplatite na youtube ili posjetite našu web stranicu https://robocircuits.com Hvala vam na čitanju!

Korak 3: Kodirajte

/* Kôd su dizajnirali RoboCircuits

* Posjetite našu web stranicu https://robocircuits.com za pomoć oko ovog koda * Ovaj kôd koristi biblioteku DS3231.h Preuzmite je s https://robocircuits.com * Za cjelovit vodič pogledajte video na našem YouTube kanalu https:// youtube. com/robocircuits */

#include #include

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

// Pokretanje DS3231 pomoću hardverskog sučelja DS3231 rtc (SDA, SCL);

#ifdef _AVR_ #uključuje #endif

// Koji je pin na Arduinu spojen na NeoPixels? // Na Trinketu ili Gemmi predlažemo da ovo promijenite u 1 #define PIN 6

// Koliko je NeoPixela priključeno na Arduino? #definirajte BROJKE 45

// Kad postavljamo NeoPixel knjižnicu, govorimo joj koliko piksela i koji pin treba koristiti za slanje signala. // Imajte na umu da ćete za starije NeoPixel trake možda morati promijeniti treći parametar-za više informacija o mogućim vrijednostima pogledajte primjer Strandtest //. Adafruit_NeoPixel pikseli = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

int delayval = 500; // odgoda za pola sekunde

void setup () {// Ovo je za Trinket 5V 16MHz, možete ukloniti ove tri linije ako ne koristite Trinket #if definirano (_AVR_ATtiny85_) if (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // Poseban kod kraja drangulije

pikseli.begin (); // Ovo inicijalizira NeoPixel knjižnicu. // Postavljanje serijske veze Serial.begin (115200); // Inicijalizacija rtc objekta rtc.begin (); // Sljedeći retci se mogu komentirati za postavljanje datuma i vremena //rtc.setDOW(SRIJEDA); // Postavi dan u tjednu na NEDJELJU //rtc.setTime(12, 0, 0); // Postavite vrijeme na 12:00:00 (24 -satni format) //rtc.setDate(1, 1, 2014); // Postavite datum na 1. siječnja 2014}

void loop () {if (digitalRead (2) == HIGH) {int a = analogRead (A0); int b = analogRead (A1); int c = analogRead (A2); i = karta (a, 0, 1025, 0, 150); // Zelena boja j = karta (b, 0, 1025, 0, 150); // Plava boja k = karta (c, 0, 1025, 0, 150); // Crvena boja} else {i = 0; j = 0; k = 150; }

// Kôd za pozadinsko osvjetljenje za (int x = 29; x <= 45; x ++) {pixels.setPixelColor (x, pixels. Color (i, j, k)); pikseli.show (); }

// Dohvaćanje stvarnog vremena iz rtc niza x = rtc.getTimeStr (); // Vrijeme slanja Serial.println (rtc.getTimeStr ()); int sat1 = x.charAt (0); int sat2 = x.charAt (1); int min1 = x.charAt (3); int min2 = x.charAt (4); sat1 = sat1-48; sat2 = sat2-48; min1 = min1-48; min2 = min2-48;

// Prikaz vremena na prekidaču sata (sat1) {// slučaj 0: nula (0); //pauza; slučaj 1: jedan (0); pauza; slučaj 2: dva (0); pauza; zadano: nulll (0); pauza; } prekidač (sat 2) {slučaj 0: nula (7); pauza; slučaj 1: jedan (7); pauza; slučaj 2: dva (7); pauza; slučaj 3: tri (7); pauza; slučaj 4: četiri (7); pauza; slučaj 5: pet (7); pauza; slučaj 6: šest (7); pauza; slučaj 7: sedam (7); pauza; slučaj 8: osam (7); pauza; slučaj 9: devet (7); pauza; zadano: nulll (7); pauza; } prekidač (min1) {slučaj 0: nula (15); pauza; slučaj 1: jedan (15); pauza; slučaj 2: dva (15); pauza; slučaj 3: tri (15); pauza; slučaj 4: četiri (15); pauza; slučaj 5: pet (15); pauza; zadano: nulll (15); pauza; } prekidač (min2) {slučaj 0: nula (22); pauza; slučaj 1: jedan (22); pauza; slučaj 2: dva (22); pauza; slučaj 3: tri (22); pauza; slučaj 4: četiri (22); pauza; slučaj 5: pet (22); pauza; slučaj 6: šest (22); pauza; slučaj 7: sedam (22); pauza; slučaj 8: osam (22); pauza; slučaj 9: devet (22); pauza; zadano: nulll (22); pauza; } piksela.setPixelColor (14, piksela. Boja (i, j, k)); pikseli.show (); kašnjenje (250); pixels.setPixelColor (14, pixels. Color (0, 0, 0)); pikseli.show (); kašnjenje (250); }

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

Korak 4: Hvala vam

posjetite

Preporučeni: