MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    My First Mirror... until now ^^

    Scheduled Pinned Locked Moved Show your Mirror
    37 Posts 17 Posters 45.6k Views 18 Watching
    Loading More Posts
    • 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.
    • F Offline
      fischi87 @cruunnerr
      last edited by

      @cruunnerr

      ah yes alright, thanks

      1 Reply Last reply Reply Quote 0
      • metalldetectorM Offline
        metalldetector
        last edited by

        hi… i have motion detector pir. and a led5050 strip.
        can you please provide the software part between pir and led… for dimming and on off feature … pleeeese
        thx

        1 Reply Last reply Reply Quote 0
        • cruunnerrC Offline
          cruunnerr
          last edited by cruunnerr

          Hey @metalldetector

          I already did somewhere in the forum ^^

          You need to install PIGPIOD.

          sudo apt-get install build-essential python-dev unzip wget

          wget http://abyz.me.uk/rpi/pigpio/pigpio.zip && unzip pigpio.zip && cd PIGPIO && sudo make install

          Connect the PIR like shown at Part 2.2 and follow the guide:
          https://forum.magicmirror.builders/topic/6291/howto-turn-on-off-your-monitor-time-based-pir-button-app?page=1

          When creating the pir.py and fill ist with this code:

          #!/usr/bin/env python
          
          import sys
          import time
          import RPi.GPIO as io
          import subprocess
          import pigpio
          
          io.setmode(io.BCM)
          SHUTOFF_DELAY = 119 # seconds
          PIR_PIN = 25       # 22 on the board
          LED_PIN = 16
          
          def main():
              io.setup(PIR_PIN, io.IN)
              io.setup(LED_PIN, io.OUT)
              turned_off = False
              last_motion_time = time.time()
          
              while True:
                  if io.input(PIR_PIN):
                      last_motion_time = time.time()
                      io.output(LED_PIN, io.LOW)
                      print ".",
                      sys.stdout.flush()
                      if turned_off:
                          turned_off = False
                          turn_on()
                  else:
                      if not turned_off and time.time() > (last_motion_time + 
                                                           SHUTOFF_DELAY):
                          turned_off = True
                          turn_off()
                      if not turned_off and time.time() > (last_motion_time + 1):
                          io.output(LED_PIN, io.HIGH)
                  time.sleep(.1)
          
          def turn_on():
          	subprocess.call("sh /home/pi/monitor_on.sh", shell=True)
          
          def turn_off():
          	subprocess.call("sh /home/pi/monitor_off.sh", shell=True)
          
          if __name__ == '__main__':
              try:
                  main()
              except KeyboardInterrupt:
                  io.cleanup()
          
          

          For the monitor_on.sh use this:

          vcgencmd display_power 1
          
          pigs p 17 1
          pigs p 22 1
          pigs p 24 1
          
          sleep 0.06s
          
          pigs p 17 2
          pigs p 22 2
          pigs p 24 2
          
          sleep 0.06s
          
          pigs p 17 3
          pigs p 22 3
          pigs p 24 3
          
          sleep 0.06s
          
          pigs p 17 4
          pigs p 22 4
          pigs p 24 4
          
          sleep 0.06s
          
          pigs p 17 5
          pigs p 22 5
          pigs p 24 5
          
          sleep 0.06s
          
          pigs p 17 6
          pigs p 22 6
          pigs p 24 5
          
          sleep 0.06s
          
          pigs p 17 7
          pigs p 22 7
          pigs p 24 6
          
          sleep 0.06s
          
          pigs p 17 8
          pigs p 22 8
          pigs p 24 7
          
          sleep 0.06s
          
          pigs p 17 9
          pigs p 22 9
          pigs p 24 8
          
          sleep 0.06s
          
          pigs p 17 10
          pigs p 22 10
          pigs p 24 9
          
          sleep 0.06s
          
          pigs p 17 11
          pigs p 22 11
          pigs p 24 10
          
          sleep 0.06s
          
          pigs p 17 12
          pigs p 22 12
          pigs p 24 11
          
          

          For monitor_off.sh use this:

          pigs p 17 12
          pigs p 22 12
          pigs p 24 11
          
          sleep 0.06s
          
          pigs p 17 11
          pigs p 22 11
          pigs p 24 10
          
          sleep 0.06s
          
          pigs p 17 10
          pigs p 22 10
          pigs p 24 9
          
          sleep 0.06s
          
          pigs p 17 9
          pigs p 22 9
          pigs p 24 8
          
          sleep 0.06s
          
          pigs p 17 8
          pigs p 22 8
          pigs p 24 7
          
          sleep 0.06s
          
          pigs p 17 7
          pigs p 22 7
          pigs p 24 6
          
          sleep 0.06s
          
          pigs p 17 6
          pigs p 22 6
          pigs p 24 5
          
          sleep 0.06s
          
          pigs p 17 5
          pigs p 22 5
          pigs p 24 5
          
          sleep 0.06s
          
          pigs p 17 4
          pigs p 22 4
          pigs p 24 4
          
          sleep 0.06s
          
          pigs p 17 4
          pigs p 22 4
          pigs p 24 4
          
          sleep 0.06s
          
          pigs p 17 3
          pigs p 22 3
          pigs p 24 3
          
          sleep 0.06s
          
          pigs p 17 2
          pigs p 22 2
          pigs p 24 2
          
          vcgencmd display_power 0
          
          sleep 0.06s
          
          pigs p 17 1
          pigs p 22 1
          pigs p 24 1
          
          sleep 0.06s
          
          pigs p 17 0
          pigs p 22 0
          pigs p 24 0
          
          

          Hope that helps. Try to find your best way and ask, if u need more help :)

          Edit:
          Oh and u need to start Pigpio on reboot with rc.local. ;)

          metalldetectorM N 2 Replies Last reply Reply Quote 3
          • swvalentiS Offline
            swvalenti Project Sponsor
            last edited by

            If you told me that your background wasn’t a stock photo I would upvote this! Nice work!

            1 Reply Last reply Reply Quote 0
            • cruunnerrC Offline
              cruunnerr
              last edited by

              Well, meanwhile i changed my background, but still love it :P

              Bild Text

              1 Reply Last reply Reply Quote 0
              • metalldetectorM Offline
                metalldetector @cruunnerr
                last edited by

                @c:face_with_steam_from_nose: ruunnerr ok that works…
                -What ist the Funktion of LED_PIN = 16 .
                Only one pin …
                Do I need RGB pins in the script?

                -And then the led stripe start it’s flickering…
                Thx4yourhelp

                1 Reply Last reply Reply Quote 0
                • cruunnerrC Offline
                  cruunnerr
                  last edited by cruunnerr

                  LED-Pin just shows, if the PIR detects motion. You don’t need to use it.

                  The pir.py script starts the other shell scripts when motion is detected.

                  So all commands for the RGB-Stripe are within the shell scripts (monitor_on / off.sh).
                  And as u can see, i used GPIO 17,22 and 24.
                  17 = red
                  22 = green
                  24 = blue

                  To control the LEDs i used PIGPIOD and it’s commands, as i wrote.

                  So after installing PIGIOD u can start it with:
                  sudo pigpiod

                  Commands like pigs p 22 128 will set green to 50%.
                  pigs p 24 255 will set blue to 100%

                  in the shell script i fade all colors from 1 to 12% with sleeps.

                  Edit:

                  As i wrote before u need to Autostart pigpiod via rc.local.

                  sudo nano /etc/rc.local

                  Mine looks like this:

                  #!/bin/sh -e
                  #
                  # rc.local
                  #
                  # This script is executed at the end of each multiuser runlevel.
                  # Make sure that the script will "exit 0" on success or any other
                  # value on error.
                  #
                  # In order to enable or disable this script just change the execution
                  # bits.
                  #
                  # By default this script does nothing.
                  
                  # Print the IP address
                  _IP=$(hostname -I) || true
                  if [ "$_IP" ]; then
                    printf "My IP address is %s\n" "$_IP"
                  fi
                  
                  iwconfig wlan0 power off &
                  
                  sleep 5 &
                  
                  /usr/local/bin/pigpiod
                  
                  sleep 10 &
                  
                  /usr/bin/python /home/pi/pir.py &
                  
                  exit 0
                  
                  metalldetectorM 1 Reply Last reply Reply Quote 0
                  • metalldetectorM Offline
                    metalldetector @cruunnerr
                    last edited by

                    @cruunnerr ok I think this is the right way and I understand it with the led pin on Pin16
                    … Just the flickering looks not good… I try a other power consumption…

                    …can I only fade the LEDs or can I make a light like a animation around my mirror?

                    Thanks for your help … And so fast.

                    This is a good forum for me…

                    Thx to all guys

                    1 Reply Last reply Reply Quote 0
                    • cruunnerrC Offline
                      cruunnerr
                      last edited by cruunnerr

                      Well, if i had to do that project gain, i would not choose the RGB-5050 stripes again…

                      I would directly get WS2812, because u just need one PWM Pin and with that you were able to do things like animations…

                      In another project (infinity table) i choosed this one and was pretty amused :)

                      https://youtu.be/IcDjzh03W-4

                      1 Reply Last reply Reply Quote 0
                      • metalldetectorM Offline
                        metalldetector
                        last edited by

                        Yes. But what is the difference between WS2812, WS2812, neopixel…
                        What is the best stripe with a good price…
                        I think a meter for 60 euro is to much…

                        Greetings from Saxony, Germany

                        1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 4
                        • 2 / 4
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy