Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. OpenHardware.io
  3. 💬 Smart Alarm Clock

💬 Smart Alarm Clock

Scheduled Pinned Locked Moved OpenHardware.io
alarmled ring lightspeakerdomoticzmysensorsclock
37 Posts 10 Posters 9.8k Views 12 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • micahM Offline
    micahM Offline
    micah
    wrote on last edited by
    #28

    I found a library online.... #include <AnalogMatrixKeypad.h>

    I made some modifications (although I can't quite remember what they were), I think about the number of buttons, or combinations, or target values.

    But generally the library provided the 1 wire, resistor ladder and debouncing functionality I needed

    dbemowskD 1 Reply Last reply
    0
    • micahM Offline
      micahM Offline
      micah
      wrote on last edited by
      #29

      I often wish our fancy mysensor nRF chips only used 1 arduino wire :(

      1 Reply Last reply
      0
      • micahM micah

        I found a library online.... #include <AnalogMatrixKeypad.h>

        I made some modifications (although I can't quite remember what they were), I think about the number of buttons, or combinations, or target values.

        But generally the library provided the 1 wire, resistor ladder and debouncing functionality I needed

        dbemowskD Offline
        dbemowskD Offline
        dbemowsk
        wrote on last edited by
        #30

        @micah Picking resistor values based on the number of switches you have shouldn't be too terribly difficult. You ar just creating a voltage divider circuit. When pushing multiple buttons, you just have to look at the resistor values for the buttons you have and calculate out the parallel resistance. Then you just have to figure out the analog value for any key combinations you want to use and create IF or Switch/Case statements to perform your logic.

        Vera Plus running UI7 with MySensors, Sonoffs and 1-Wire devices
        Visit my website for more Bits, Bytes and Ramblings from me: http://dan.bemowski.info/

        1 Reply Last reply
        0
        • dbemowskD Offline
          dbemowskD Offline
          dbemowsk
          wrote on last edited by
          #31

          So, I didn't look the sketch over for this, but I am planning on building one of these and I have some questions. Does this show in 12 hour or 24 hour format? If it is 12 hour, how do you indicate AM or PM? Also, do you have a way of indicating that alarms are set? I may add some LEDs for these features.

          Vera Plus running UI7 with MySensors, Sonoffs and 1-Wire devices
          Visit my website for more Bits, Bytes and Ramblings from me: http://dan.bemowski.info/

          micahM 1 Reply Last reply
          0
          • dbemowskD Offline
            dbemowskD Offline
            dbemowsk
            wrote on last edited by
            #32

            Here is my start on this. No speaker yet and I haven't added the LEDs for AM/PM and alarms, but that will come.
            0_1509333312144_upload-29d46ab7-e40a-49b9-aa1e-330beede8488

            I will need to make a bunch of modifications to the sketch. Mainly because I am using a different RTC module (DS1307). It is one that I have had laying around in my parts bin for years. I get a bunch of compile errors when I try to include the RTC library for this module.
            0_1509333483010_upload-75b8f66d-d692-412f-9171-d0175ea0402d

            Here is the board layout so far.
            0_1509333525901_upload-7777b1c8-2200-4300-aae8-c0a94786b7c8

            Vera Plus running UI7 with MySensors, Sonoffs and 1-Wire devices
            Visit my website for more Bits, Bytes and Ramblings from me: http://dan.bemowski.info/

            1 Reply Last reply
            0
            • dbemowskD dbemowsk

              So, I didn't look the sketch over for this, but I am planning on building one of these and I have some questions. Does this show in 12 hour or 24 hour format? If it is 12 hour, how do you indicate AM or PM? Also, do you have a way of indicating that alarms are set? I may add some LEDs for these features.

              micahM Offline
              micahM Offline
              micah
              wrote on last edited by
              #33

              @dbemowsk
              To use a 24 hour clock switch the following bool

              bool Screen_HourFormat24 = false;
              

              I think I used the colon to signify that an alarm was set, I think I flashed it on and off. in the Update_Screen method

                 if ((Alarm1_Enabled) && (!Keys_ShowAlarmOnScreen)){
                    if(Screen_ClockPoint)ledScreen.point(POINT_ON);
                    else ledScreen.point(POINT_OFF);
                  } else
                    ledScreen.point(POINT_ON);
              
              dbemowskD 1 Reply Last reply
              0
              • micahM micah

                @dbemowsk
                To use a 24 hour clock switch the following bool

                bool Screen_HourFormat24 = false;
                

                I think I used the colon to signify that an alarm was set, I think I flashed it on and off. in the Update_Screen method

                   if ((Alarm1_Enabled) && (!Keys_ShowAlarmOnScreen)){
                      if(Screen_ClockPoint)ledScreen.point(POINT_ON);
                      else ledScreen.point(POINT_OFF);
                    } else
                      ledScreen.point(POINT_ON);
                
                dbemowskD Offline
                dbemowskD Offline
                dbemowsk
                wrote on last edited by
                #34

                @micah said in 💬 Smart Alarm Clock:

                To use a 24 hour clock switch the following bool

                I wasn't necessarily saying that I wanted to switch to 24hr format. I was wondering if you had a way of indicating AM and PM when in 12 hour format.

                @micah said in 💬 Smart Alarm Clock:

                I think I used the colon to signify that an alarm was set, I think I flashed it on and off. in the Update_Screen method

                I see, so when it is blinking there is an alarm and when it is on solid there is not. I may add a different alarm indicator..

                One other question on this. I see you have 5 buttons on your switch panel. What were your planned uses of those 5 buttons? I didn't see anything documented on that.

                Vera Plus running UI7 with MySensors, Sonoffs and 1-Wire devices
                Visit my website for more Bits, Bytes and Ramblings from me: http://dan.bemowski.info/

                1 Reply Last reply
                0
                • micahM Offline
                  micahM Offline
                  micah
                  wrote on last edited by micah
                  #35

                  The method Check_KeyPad (Line 300) handles the buttons.
                  Currently my buttons do the following

                  • show/program alarm
                  • hour
                  • minute
                  • turn alarm on and off
                  • turn on or off nightlight
                  1 Reply Last reply
                  0
                  • micahM Offline
                    micahM Offline
                    micah
                    wrote on last edited by
                    #36

                    Another thing that I've thought of is removing the RTC module completely since we can query the time from the server periodically.

                    This would save components and pins, but it would limit the clock to only working with the controller, whereas the current design allows it to run independently

                    1 Reply Last reply
                    0
                    • alowhumA Offline
                      alowhumA Offline
                      alowhum
                      Plugin Developer
                      wrote on last edited by
                      #37

                      :-D Wow, what an amazing design.

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      15

                      Online

                      11.7k

                      Users

                      11.2k

                      Topics

                      113.1k

                      Posts


                      Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • MySensors
                      • OpenHardware.io
                      • Categories
                      • Recent
                      • Tags
                      • Popular