Inhoudsopgave:

Ambient real-time klok: 4 stappen
Ambient real-time klok: 4 stappen

Video: Ambient real-time klok: 4 stappen

Video: Ambient real-time klok: 4 stappen
Video: 4 Hours Countdown Flip Clock Timer / Simple Beeps 🌸🔔 2024, Juli-
Anonim
Ambient realtime klok
Ambient realtime klok

Doel

Ik heb deze klok gemaakt omdat ik een adresseerbare ledstrip heb liggen en die wil gebruiken. Toen zag ik dat mijn kamer geen goede klok heeft die bij de muren past. Dus besloot ik een klok te maken die van kleur kan veranderen afhankelijk van de stemming van de gebruiker of de kleur van de muur.

Stap 1: YouTube-video

Image
Image

Bekijk deze youtube-video voor volledige instructies

Stap 2: Procedure

Ik nam eerst een multiplexplaat van 24 x 15 inch.

Knip de LED-strip in stukjes en plak ze op het bord. Na het solderen bedek ik het geheel met een zwart kaartpapier. Plak er vervolgens een thermocoal-vel op en snijd de thermocoal met een scherp mes in de vorm van 4 zevensegmentendisplays samen met twee gaten in het midden. Vervolgens maakte ik mijn circuit klaar met behulp van het onderstaande schakelschema:

en plakte dit allemaal achter het bord. Ik bestelde ook een aangepaste pcb voor hetzelfde van https://jlcpcb.com ze bieden de beste pcb-prototypes voor de laagste prijs uit China en worden wereldwijd snel en veilig verzonden. nadat ik al mijn componenten op mijn bord had gesoldeerd, verwijderde ik het breadboard en bevestigde alles achter het bord en het bedekte voorste gedeelte met behulp van een dun doorschijnend sporenpapier. De klok ziet er geweldig uit en vergroot de schoonheid van de muur. aanpassingskleuren maken het perfect voor elke muur.

Als je dit project leuk vindt, abonneer je dan op youtube of bezoek onze website https://robocircuits.com Bedankt voor het lezen!

Stap 3: Coderen

/* De code is ontworpen door RoboCircuits

* Bezoek onze website https://robocircuits.com voor hulp bij deze code * Deze code gebruikt de DS3231.h-bibliotheek om deze te downloaden van https://robocircuits.com * Voor volledige zelfstudie Bekijk de video op ons YouTube-kanaal https://youtube. com/robotschakelingen */

#include #include

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

// Start de DS3231 met behulp van de hardware-interface DS3231 rtc (SDA, SCL);

#ifdef _AVR_ #include #endif

// Welke pin op de Arduino is verbonden met de NeoPixels? // Op een Trinket of Gemma raden we aan dit te wijzigen in 1 #define PIN 6

// Hoeveel NeoPixels zijn aangesloten op de Arduino? #define NUMPIXELS 45

// Wanneer we de NeoPixel-bibliotheek instellen, vertellen we hoeveel pixels en welke pin we moeten gebruiken om signalen te verzenden. // Houd er rekening mee dat u voor oudere NeoPixel-strips mogelijk de derde parameter moet wijzigen - zie het voorbeeld van de strandtest // voor meer informatie over mogelijke waarden. Adafruit_NeoPixel pixels = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

int vertragingswaarde = 500; // vertraging voor een halve seconde

void setup() {// Dit is voor Trinket 5V 16MHz, je kunt deze drie regels verwijderen als je geen Trinket gebruikt #if gedefinieerd (_AVR_ATtiny85_) if (F_CPU == 16000000) clock_prescale_set(clock_div_1); #endif // Einde van speciale code voor trinket

pixels.begin(); // Hiermee wordt de NeoPixel-bibliotheek geïnitialiseerd. // Seriële verbinding instellen Serial.begin (115200); // Initialiseer het rtc-object rtc.begin(); // De volgende regels kunnen worden verwijderd om de datum en tijd in te stellen //rtc.setDOW(WEDNESDAY); // Stel de weekdag in op ZONDAG //rtc.setTime (12, 0, 0); // Stel de tijd in op 12:00:00 (24-uurs formaat) //rtc.setDate (1, 1, 2014); // Zet de datum op 1 januari 2014 }

void loop() {if(digitalRead(2)==HIGH) {int a= analogRead(A0); int b = analoog lezen (A1); int c = analoog lezen (A2); i=kaart(a, 0, 1025, 0, 150); // Groene kleur j = kaart (b, 0, 1025, 0, 150); // Blauwe kleur k = kaart (c, 0, 1025, 0, 150); // Rode kleur} else {i= 0; j= 0; k= 150; }

// Code voor achtergrondverlichting voor (int x=29;x<=45;x++) {pixels.setPixelColor(x, pixels. Color(i, j, k)); pixels.show(); }

// Realtime ophalen van rtc String x=rtc.getTimeStr(); // Verzendtijd Serial.println (rtc.getTimeStr ()); int hour1= x.charAt(0); int hour2= x.charAt(1); int min1= x.charAt(3); int min2= x.charAt(4); uur1=uur1-48; uur2=uur2-48; min1=min1-48; min2=min2-48;

// Tijd weergeven op klokschakelaar (uur1) {// case 0: nul (0); //pauze; geval 1: één(0); pauze; geval 2: twee (0); pauze; standaard: null(0); pauze; } switch (uur2) { geval 0: nul (7); pauze; geval 1: één (7); pauze; geval 2: twee (7); pauze; geval 3: drie (7); pauze; geval 4: vier (7); pauze; geval 5: vijf (7); pauze; geval 6: zes (7); pauze; geval 7: zeven (7); pauze; geval 8: acht (7); pauze; geval 9: negen (7); pauze; standaard: null(7); pauze; } schakelaar (min1) { geval 0: nul (15); pauze; geval 1: één (15); pauze; geval 2: twee (15); pauze; geval 3: drie (15); pauze; geval 4: vier (15); pauze; geval 5: vijf (15); pauze; standaard: null (15); pauze; } schakelaar (min2) { geval 0: nul (22); pauze; geval 1: één(22); pauze; geval 2: twee(22); pauze; geval 3: drie(22); pauze; geval 4: vier(22); pauze; geval 5: vijf(22); pauze; geval 6: zes(22); pauze; geval 7: zeven(22); pauze; geval 8: acht(22); pauze; geval 9: negen(22); pauze; standaard: null(22); pauze; } pixels.setPixelColor(14, pixels. Color(i, j, k)); pixels.show(); vertraging (250); pixels.setPixelColor (14, pixels. Color (0, 0, 0)); pixels.show(); vertraging (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 null(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(); }

Stap 4: Bedankt

bezoek

Aanbevolen: