How To Make A Clock Using MAX7219 LED DOT MATRIX Module

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 ก.ค. 2021
  • Hey Guys In This Video I Will Show You How To Make A Clock Using MAX7219 LED DOT MATRIX Module ⏰
    Link :- www.tomsonelectronics.com
    Contact :-- H.O TAARA MANSION, 39/4287-A & B,
    Manikkiri Cross Road, Pallimukku,
    Cochin - 682 016, Kerala, India.
    Location :-- g.page/TomsonElectronics?share
    -----------------------------------------------------------------------------
    PARTS
    Arduino Nano :-- bit.ly/3qLTjna
    Led Matrix Module :-- bit.ly/3dFAEE7
    Button :-- bit.ly/3AnsIBr
    Dot Board :-- bit.ly/3he33DI
    Jumper Wire :-- bit.ly/3wKTT74
    Breadboard :-- bit.ly/3xpZm30
    USE COUPON CODE :-- ZENOOFF2021 TO GET OFF
    -----------------------------------------------------------------------------
    This Is A Channel Featuring Arduino Projects & All Arduino Diy Stuff ......
    How To Make Gesture Controlled Computer :--
    • How To Control Your Co...
    Nodemcu Home Automation :--
    • Home Automation Using ...
    Weather Station :--
    • Iot Weather Station ||...
    Led Matrix :--
    • How To Make Led Matrix...
    Bluetooth Car :--
    www.youtube.com/watch?v=HQTjO...
    TH-cam Subscriber Counter :--
    www.youtube.com/watch?v=Fh5h1...
    How To Control Led Matrix Using Arduino :--
    www.youtube.com/watch?v=gc9ds...
    Arduino Flappy Bird Game :--
    www.youtube.com/watch?v=PDePk...
    Creality Cr 100 3D Printer :--
    www.youtube.com/watch?v=Fh5h1...
    Pixy 2 Unboxing & Review :--
    www.youtube.com/watch?v=ZIqCS...
    Arduino Radar :--
    www.youtube.com/watch?v=bKq-j...
    Arduino Playing Pickcrafter Game :--
    www.youtube.com/watch?v=GvjOy...
    Arduino Stop Watch :--
    www.youtube.com/watch?v=CXzg4...
    How To Make A Circuit Using Fritzing :--
    www.youtube.com/watch?v=gyApk...
    Check My Channel For More Stuff Also Do Subscribe :--
    bit.ly/2NlWKxx
    -------------------------------------------------------------------------------------------------
    Code :-- bit.ly/3Hc2XWY
    Schematics :-- bit.ly/3BIUrNM
    Github Link :-- bit.ly/3saEmgW
    --------------------------------------------------------------------------------------------------
    Feel Free To Contact
    sreeramzeno@gmail.com
    Thank You For Watching My Video Keep Supporting
    Music Credits:
    Feel Good - Music by Aden [Vlog No Copyright Music]
    Feel Good by Music by Aden / musicbyaden
    Free Download / Stream: bit.ly/_feel-good
    Music promoted by Audio Library • Feel Good - MusicbyAde...
    ------------------------------
    #ledmatrix_clock #arduinoclock #diyclock #bestarduinoclock
    #ledmatrixclock
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 69

  • @ZenoModiff
    @ZenoModiff  2 ปีที่แล้ว

    Arduino Code For Led Matrix Clock
    #include "DS3231.h"
    #include "Adafruit_GFX.h"
    #include "Max72xxPanel.h"
    DS3231 rtc(SDA, SCL);
    const byte LDR_PIN = A2;
    const byte CS_PIN = A3;
    const byte H_DISPLAYS = 4;
    const byte V_DISPLAYS = 1;
    Max72xxPanel matrix = Max72xxPanel(CS_PIN, H_DISPLAYS, V_DISPLAYS);
    const byte WAIT = 30;
    const byte SPACER = 1;
    const byte FONT_WIDTH = 5 + SPACER;
    void setup() {
    pinMode(LDR_PIN, INPUT_PULLUP);
    Serial.begin(9600);
    Serial.println(F(">> Arduino 32x8 LED Dot Matrix Clock!"));
    Serial.println(F(">> Use format to set clock's date and hour!"));
    rtc.begin();
    matrix.setPosition(0, 0, 0);
    matrix.setPosition(1, 1, 0);
    matrix.setPosition(2, 2, 0);
    matrix.setPosition(3, 3, 0);
    matrix.setRotation(0, 1);
    matrix.setRotation(1, 1);
    matrix.setRotation(2, 1);
    matrix.setRotation(3, 1);
    }
    void loop() {
    byte ledIntensity = ledIntensitySelect(analogRead(LDR_PIN));
    matrix.setIntensity(ledIntensity);
    String output = outputStrClock();
    for ( int i = 0 ; i < FONT_WIDTH * output.length() + matrix.width() - 1 - SPACER; i++ ) {
    matrix.fillScreen(LOW);
    output = outputStrClock();
    int letter = i / FONT_WIDTH;
    int x = (matrix.width() - 1) - i % FONT_WIDTH;
    int y = (matrix.height() - 8) / 2; // center the text vertically
    while ( x + FONT_WIDTH - SPACER >= 0 && letter >= 0 ) {
    if ( letter < output.length() ) {
    matrix.drawChar(x, y, output[letter], HIGH, LOW, 1);
    }
    letter--;
    x -= FONT_WIDTH;
    }
    matrix.write();
    delay(WAIT);
    }
    if (Serial.available() > 0) {
    adjustClock(Serial.readString());
    }
    }
    void adjustClock(String data) {
    byte _day = data.substring(0,2).toInt();
    byte _month = data.substring(3,5).toInt();
    int _year = data.substring(6,10).toInt();
    byte _hour = data.substring(11,13).toInt();
    byte _min = data.substring(14,16).toInt();
    byte _sec = data.substring(17,19).toInt();
    rtc.setTime(_hour, _min, _sec);
    rtc.setDate(_day, _month, _year);
    Serial.println(F(">> Datetime successfully set!"));
    }
    String outputStrClock() {
    String _output;
    _output = rtc.getDateStr();
    _output.concat(" ");
    _output.concat(rtc.getTimeStr());
    _output.concat(" ");
    _output.concat(rtc.getTemp());
    _output.concat((char)247);
    _output.concat("C");
    return _output;
    }
    byte ledIntensitySelect(int light) {
    byte _value = 0;
    if (light >= 0 && light = 128 && light = 320 && light

    • @DaveWilliamsj
      @DaveWilliamsj 8 หลายเดือนก่อน

      This code is not the code for this example as button pins and functions are not defined. Please explain?

  • @mallurjbro2367
    @mallurjbro2367 2 ปีที่แล้ว +2

    Very Informative. Keep up the good work brother. ❤️❤️

  • @meddiys6171
    @meddiys6171 ปีที่แล้ว

    Good project, go on...

  • @blessylal38
    @blessylal38 2 ปีที่แล้ว +2

    Great experiment 🔥

  • @XPDBEAST
    @XPDBEAST 2 ปีที่แล้ว +2

    Nice Scientist 🔥🔥🔥🔥

  • @barot67
    @barot67 ปีที่แล้ว +1

    Hello, could you help me? what type of library ds3231 did you use? i have error..thank you

  • @addiction-69
    @addiction-69 ปีที่แล้ว

    Hey bro is it 12hrs or 24hrs format clock?

  • @ananddhanesan8275
    @ananddhanesan8275 2 ปีที่แล้ว +1

    Good work💓✌️

  • @nithinsreekumar5550
    @nithinsreekumar5550 2 ปีที่แล้ว +1

    Very nice work 👍🏼

  • @jayabalakrishnan8789
    @jayabalakrishnan8789 2 ปีที่แล้ว +3

    Good Video

  • @VarunPandithurai
    @VarunPandithurai 2 ปีที่แล้ว +2

    Wow nice bro

  • @pramodkseb
    @pramodkseb 2 ปีที่แล้ว +2

    👍 good job

  • @AthulKrishnanUG
    @AthulKrishnanUG 2 ปีที่แล้ว +2

    🔥🔥

  • @perfectheatingandplumbingp7747
    @perfectheatingandplumbingp7747 ปีที่แล้ว

    Hi very interesting but when looking through the code i see no ref to the button changing the code, like the slide menu and i can see the code to make the slide happen?

  • @rk.peroor9441
    @rk.peroor9441 2 ปีที่แล้ว +1

    Very good 👍👍👍👍👍

  • @angomnaresh9859
    @angomnaresh9859 หลายเดือนก่อน

    It's really worked however I am unable to adjust the real time even though it has button, please explain, Sir.

    • @ZenoModiff
      @ZenoModiff  หลายเดือนก่อน

      did you use the correct comport to upload the code also check the bootloader which is the old one and the new one is there in the arduino nano

  • @shubhamshukla167
    @shubhamshukla167 2 ปีที่แล้ว +2

    nice

  • @dhe_falcon7371
    @dhe_falcon7371 2 ปีที่แล้ว +3

    🤝👍

  • @Shyamkumar-di5fu
    @Shyamkumar-di5fu 2 ปีที่แล้ว +3

    👍😊

  • @nandhananandhu7429
    @nandhananandhu7429 2 ปีที่แล้ว +2

    💙

  • @node1node213
    @node1node213 ปีที่แล้ว

    IN WANT TO CHAGE HOUR AND MINT VIA SWITCH AS YOUR VEDIO

  • @engineeringmonk2314
    @engineeringmonk2314 ปีที่แล้ว

    It doesn't show temperature as you have mentioned?

  • @my_cutlery
    @my_cutlery 2 ปีที่แล้ว +2

    👍😁

  • @tanmayingle1330
    @tanmayingle1330 ปีที่แล้ว

    which library are used to run the code

    • @ZenoModiff
      @ZenoModiff  ปีที่แล้ว

      there are 3 libraries
      github.com/rodan/ds3231/archive/refs/heads/master.zip
      github.com/adafruit/Adafruit-GFX-Library/archive/refs/heads/master.zip
      github.com/markruys/arduino-Max72xxPanel/archive/refs/heads/master.zip

  • @Noob_vloger_vishal
    @Noob_vloger_vishal 2 ปีที่แล้ว

    Hello brother i want this dot matix program where this code and how copy this code

    • @ZenoModiff
      @ZenoModiff  2 ปีที่แล้ว

      /*feel free to contact
      * sreeramaj53@gmail.com
      * th-cam.com/users/ZenoModiff
      * last updated - time 02:41 PM - date 06 july 2021
      * Github Link :-- github.com/Zenomodiff/Max7219-Led-Matrix-Clock-With-DS3231-RTC-Module
      */
      #include "DS3231.h"
      #include "Adafruit_GFX.h"
      #include "Max72xxPanel.h"
      DS3231 rtc(SDA, SCL);
      const byte LDR_PIN = A2;
      const byte CS_PIN = A3;
      const byte H_DISPLAYS = 4;
      const byte V_DISPLAYS = 1;
      Max72xxPanel matrix = Max72xxPanel(CS_PIN, H_DISPLAYS, V_DISPLAYS);
      const byte WAIT = 30;
      const byte SPACER = 1;
      const byte FONT_WIDTH = 5 + SPACER;
      void setup() {
      pinMode(LDR_PIN, INPUT_PULLUP);
      Serial.begin(9600);
      Serial.println(F(">> Arduino 32x8 LED Dot Matrix Clock!"));
      Serial.println(F(">> Use format to set clock's date and hour!"));
      rtc.begin();
      matrix.setPosition(0, 0, 0);
      matrix.setPosition(1, 1, 0);
      matrix.setPosition(2, 2, 0);
      matrix.setPosition(3, 3, 0);
      matrix.setRotation(0, 1);
      matrix.setRotation(1, 1);
      matrix.setRotation(2, 1);
      matrix.setRotation(3, 1);
      }
      void loop() {
      byte ledIntensity = ledIntensitySelect(analogRead(LDR_PIN));
      matrix.setIntensity(ledIntensity);
      String output = outputStrClock();

      for ( int i = 0 ; i < FONT_WIDTH * output.length() + matrix.width() - 1 - SPACER; i++ ) {
      matrix.fillScreen(LOW);
      output = outputStrClock();
      int letter = i / FONT_WIDTH;
      int x = (matrix.width() - 1) - i % FONT_WIDTH;
      int y = (matrix.height() - 8) / 2;
      while ( x + FONT_WIDTH - SPACER >= 0 && letter >= 0 ) {
      if ( letter < output.length() ) {
      matrix.drawChar(x, y, output[letter], HIGH, LOW, 1);
      }
      letter--;
      x -= FONT_WIDTH;
      }
      matrix.write();
      delay(WAIT);
      }
      if (Serial.available() > 0) {
      adjustClock(Serial.readString());
      }
      }
      void adjustClock(String data) {
      byte _day = data.substring(0,2).toInt();
      byte _month = data.substring(3,5).toInt();
      int _year = data.substring(6,10).toInt();
      byte _hour = data.substring(11,13).toInt();
      byte _min = data.substring(14,16).toInt();
      byte _sec = data.substring(17,19).toInt();
      rtc.setTime(_hour, _min, _sec);
      rtc.setDate(_day, _month, _year);
      Serial.println(F(">> Datetime successfully set!"));
      }
      String outputStrClock() {
      String _output;
      _output = rtc.getDateStr();
      _output.concat(" ");
      _output.concat(rtc.getTimeStr());
      _output.concat(" ");
      _output.concat(rtc.getTemp());
      _output.concat((char)247);
      _output.concat("C");
      return _output;
      }
      byte ledIntensitySelect(int light) {
      byte _value = 0;
      if (light >= 0 && light = 128 && light = 320 && light

  • @node1node213
    @node1node213 ปีที่แล้ว +1

    CODE IS NOT MATCH AS YOU SHOW VEDIO, THERE IS ON TOUCH SWTCH IN CODE

  • @node1node213
    @node1node213 ปีที่แล้ว

    AND DISPLAY SPEED NOT CONTROLL IN CODE

  • @electronicsideas1361
    @electronicsideas1361 2 ปีที่แล้ว +1

    code please

    • @ZenoModiff
      @ZenoModiff  2 ปีที่แล้ว

      github.com/Zenomodiff/Max7219-Led-Matrix-Clock-With-DS3231-RTC-Module/blob/main/Led_Matrix_Clock_With_RTC_Module.ino

  • @farhadh.jafarpour3025
    @farhadh.jafarpour3025 10 หลายเดือนก่อน

    The code provided by this guy is not the right one shown in the video. This code is for another project. Hope he sends the right code.

    • @ZenoModiff
      @ZenoModiff  10 หลายเดือนก่อน

      I have pinned the code

    • @farhadh.jafarpour3025
      @farhadh.jafarpour3025 10 หลายเดือนก่อน

      @@ZenoModiff Dear Sir, There is no photoresistor in your project. Please let us know why you define a LDR pin your code? And also, where are the pin definitions for your pushbuttons in your code? Maybe I am wrong.

  • @ObethForlife
    @ObethForlife ปีที่แล้ว

    Que mierda el codigo no funciona.. 🦁🦁

  • @electronicsideas1361
    @electronicsideas1361 2 ปีที่แล้ว

    boss need code

    • @ZenoModiff
      @ZenoModiff  2 ปีที่แล้ว

      #include "DS3231.h"
      #include "Adafruit_GFX.h"
      #include "Max72xxPanel.h"
      DS3231 rtc(SDA, SCL);
      const byte LDR_PIN = A2;
      const byte CS_PIN = A3;
      const byte H_DISPLAYS = 4;
      const byte V_DISPLAYS = 1;
      Max72xxPanel matrix = Max72xxPanel(CS_PIN, H_DISPLAYS, V_DISPLAYS);
      const byte WAIT = 30;
      const byte SPACER = 1;
      const byte FONT_WIDTH = 5 + SPACER;
      void setup() {
      pinMode(LDR_PIN, INPUT_PULLUP);
      Serial.begin(9600);
      Serial.println(F(">> Arduino 32x8 LED Dot Matrix Clock!"));
      Serial.println(F(">> Use format to set clock's date and hour!"));
      rtc.begin();
      matrix.setPosition(0, 0, 0);
      matrix.setPosition(1, 1, 0);
      matrix.setPosition(2, 2, 0);
      matrix.setPosition(3, 3, 0);
      matrix.setRotation(0, 1);
      matrix.setRotation(1, 1);
      matrix.setRotation(2, 1);
      matrix.setRotation(3, 1);
      }
      void loop() {
      byte ledIntensity = ledIntensitySelect(analogRead(LDR_PIN));
      matrix.setIntensity(ledIntensity);
      String output = outputStrClock();
      for ( int i = 0 ; i < FONT_WIDTH * output.length() + matrix.width() - 1 - SPACER; i++ ) {
      matrix.fillScreen(LOW);
      output = outputStrClock();
      int letter = i / FONT_WIDTH;
      int x = (matrix.width() - 1) - i % FONT_WIDTH;
      int y = (matrix.height() - 8) / 2; // center the text vertically
      while ( x + FONT_WIDTH - SPACER >= 0 && letter >= 0 ) {
      if ( letter < output.length() ) {
      matrix.drawChar(x, y, output[letter], HIGH, LOW, 1);
      }
      letter--;
      x -= FONT_WIDTH;
      }
      matrix.write();
      delay(WAIT);
      }
      if (Serial.available() > 0) {
      adjustClock(Serial.readString());
      }
      }
      void adjustClock(String data) {
      byte _day = data.substring(0,2).toInt();
      byte _month = data.substring(3,5).toInt();
      int _year = data.substring(6,10).toInt();
      byte _hour = data.substring(11,13).toInt();
      byte _min = data.substring(14,16).toInt();
      byte _sec = data.substring(17,19).toInt();
      rtc.setTime(_hour, _min, _sec);
      rtc.setDate(_day, _month, _year);
      Serial.println(F(">> Datetime successfully set!"));
      }
      String outputStrClock() {
      String _output;
      _output = rtc.getDateStr();
      _output.concat(" ");
      _output.concat(rtc.getTimeStr());
      _output.concat(" ");
      _output.concat(rtc.getTemp());
      _output.concat((char)247);
      _output.concat("C");
      return _output;
      }
      byte ledIntensitySelect(int light) {
      byte _value = 0;
      if (light >= 0 && light = 128 && light = 320 && light

    • @electronicsideas1361
      @electronicsideas1361 2 ปีที่แล้ว

      @@ZenoModiff no matching function for call to 'DS3231::DS3231(const uint8_t&, const uint8_t&)'

    • @ZenoModiff
      @ZenoModiff  2 ปีที่แล้ว

      @@electronicsideas1361 First you have to download the library, unzip it and copy the files inside.
      You will have to paste it to your Arduino/Libraries/DS3231 folder.
      On the left is the current DS3231 Library which I added through the arduino library manager. Its not the same as the one the right, it should be, but its not, copy the files from the unzipped DS32321 library into the Arduino/library/DS3231.
      Works fine

    • @ZenoModiff
      @ZenoModiff  2 ปีที่แล้ว

      i.stack.imgur.com/3uBms.jpg. See this image

    • @electronicsideas1361
      @electronicsideas1361 2 ปีที่แล้ว

      @@ZenoModiff I have ds3231 library

  • @nandanasmitha2212
    @nandanasmitha2212 2 ปีที่แล้ว +1

    👍😊