Inhoudsopgave:
Video: Ambient real-time klok: 4 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
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
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:
Hoe maak je een analoge klok en digitale klok met ledstrip met behulp van Arduino - Ajarnpa
Hoe maak je een analoge klok en digitale klok met ledstrip met behulp van Arduino: vandaag zullen we een analoge klok & Digitale klok met Led Strip en MAX7219 Dot module met Arduino. Het corrigeert de tijd met de lokale tijdzone. De analoge klok kan een langere LED-strip gebruiken, zodat hij aan de muur kan worden gehangen om een kunstwerk te
Een klok maken met M5stick C met behulp van Arduino IDE - RTC realtime klok met M5stack M5stick-C - Ajarnpa
Een klok maken met M5stick C met behulp van Arduino IDE | RTC real-time klok met M5stack M5stick-C: Hallo allemaal, in deze instructables zullen we leren hoe we een klok kunnen maken met het m5stick-C ontwikkelbord van m5stack met behulp van Arduino IDE. Dus m5stick zal datum, tijd & week van de maand op het display
C51 4-bits elektronische klok - houten klok - Ajarnpa
C51 4-bits elektronische klok - houten klok: had dit weekend wat vrije tijd, dus ging door en monteerde deze AU $ 2,40 4-bits doe-het-zelf elektronische digitale klok die ik een tijdje geleden van AliExpress kocht
Een klok maken van een klok: 11 stappen (met afbeeldingen)
Een klok maken van een klok: in deze Instructable neem ik een bestaande klok en creëer ik een betere klok. We gaan van de afbeelding links naar de afbeelding rechts. Voordat u op uw eigen klok begint, moet u weten dat het opnieuw in elkaar zetten een uitdaging kan zijn, aangezien de piv
Zet de gewone klok van het huis om in een zelfgloeiende klok - Ajarnpa
Zet de gewone klok van thuis om in een zelfgloeiende klok: EERST HEB IK HARTELIJK BEDANKT AAN HET TEAM VAN INSTRUCTABLES ALS MIJN GEZONDHEIDSHERSTEL DAGEN ALS MEER RESPONSIEVE… In deze instructables wil ik met jullie delen hoe je je gewone klok thuis kunt converteren naar zelfgloeiende klok.>> Om dit te doen