Sadržaj:

Ambijentalni sat u realnom vremenu: 4 koraka
Ambijentalni sat u realnom vremenu: 4 koraka

Video: Ambijentalni sat u realnom vremenu: 4 koraka

Video: Ambijentalni sat u realnom vremenu: 4 koraka
Video: От первого лица: СИРЕНОГОЛОВЫЙ 11 - ВЕСЬ СЕРИАЛ SIREN HEAD в реальной жизни! 2024, Juli
Anonim
Ambijentalni sat u realnom vremenu
Ambijentalni sat u realnom vremenu

Cilj

Ovaj sat sam napravio jer imam oko sebe adresabilnu LED traku i želim ga koristiti. Tada sam vidio da moja soba nema dobar sat koji odgovara zidovima. Zato sam odlučio napraviti sat koji može mijenjati boje prema raspoloženju korisnika ili boji zida.

Korak 1: YouTube video

Image
Image

Za potpune upute pogledajte ovaj video na YouTubeu

Korak 2: Postupak

Prvo sam uzeo šperploču od 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 ugalj na nju i izrežem termo ugljen oštrim rezačem u obliku 4 ekrana sa sedam segmenata zajedno sa dvije rupe u sredini. Zatim sam pripremio svoj krug pomoću sheme kola dane u nastavku

i zalijepio sve ovo iza ploče. Naručio sam i prilagođeni PCB za isti sa https://jlcpcb.com koji pruža najbolje prototipe PCB -a po najnižoj cijeni iz Kine i isporučuje se brzo i sigurno širom svijeta. nakon lemljenja svih mojih 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ć u vezi sa ovim kodom * Ovaj kôd koristi biblioteku DS3231.h, preuzmite je sa stranice https://robocircuits.com * Za potpune vodiče 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_ #include #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? #define NUMPIXELS 45

// Kada postavljamo NeoPixel biblioteku, 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 kôd drangulije

pixels.begin (); // Ovo inicijalizira NeoPixel biblioteku. // Postavljanje serijske veze Serial.begin (115200); // Inicijalizacija rtc objekta rtc.begin (); // Sljedeći redovi se mogu komentirati za postavljanje datuma i vremena //rtc.setDOW(WEDNESDAY); // 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. januar 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 = mapa (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)); pixels.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); // break; slučaj 1: jedan (0); break; slučaj 2: dva (0); break; default: nulll (0); break; } prekidač (sat 2) {slučaj 0: nula (7); break; slučaj 1: jedan (7); break; slučaj 2: dva (7); break; slučaj 3: tri (7); break; slučaj 4: četiri (7); break; slučaj 5: pet (7); break; slučaj 6: šest (7); break; slučaj 7: sedam (7); break; slučaj 8: osam (7); break; slučaj 9: devet (7); break; default: nulll (7); break; } prekidač (min1) {slučaj 0: nula (15); break; slučaj 1: jedan (15); break; slučaj 2: dva (15); break; slučaj 3: tri (15); break; slučaj 4: četiri (15); break; slučaj 5: pet (15); break; default: nulll (15); break; } prekidač (min2) {slučaj 0: nula (22); break; slučaj 1: jedan (22); break; slučaj 2: dva (22); break; slučaj 3: tri (22); break; slučaj 4: četiri (22); break; slučaj 5: pet (22); break; slučaj 6: šest (22); break; slučaj 7: sedam (22); break; slučaj 8: osam (22); break; slučaj 9: devet (22); break; default: nulll (22); break; } pixels.setPixelColor (14, pixels. Color (i, j, k)); pixels.show (); kašnjenje (250); pixels.setPixelColor (14, pixels. Color (0, 0, 0)); pixels.show (); kašnjenje (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 8 (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 (); }

Korak 4: Hvala vam

posjetite

Preporučuje se: