• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
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.

Button

Scheduled Pinned Locked Moved Troubleshooting
23 Posts 9 Posters 20.1k Views 5 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.
  • P Offline
    PtrBld Module Developer
    last edited by May 17, 2016, 3:26 PM

    I think this should work as long as your phone is connected to the same network as the mirror. And we need to create a simple Android / IOS Service which sends the commands to the mirror. However I do not see any possibility to directly connect the NFC chip to the mirror without using an app service…

    So this is quite a lot of work to do. If I find time I will take a look at it, but don´t expect this too soon. If you want to try it you can surely ask me if you need any help!

    1 Reply Last reply Reply Quote 0
    • J Offline
      jtyle6
      last edited by May 17, 2016, 5:09 PM

      Or you can use one of these boards.

      1 Reply Last reply Reply Quote 1
      • D Offline
        dicker182
        last edited by dicker182 Jul 24, 2016, 6:23 PM Jul 24, 2016, 6:22 PM

        Hello,

        Im running MMM-Button Modul und GPIO PIN 9. Everything is working fine. But sometimes my Tagesschauvideo starts without my hand. I did nothing and “pm2 logs mm” sad to me: button pressed. Any idea why this happens?

        1 Reply Last reply Reply Quote 0
        • D Offline
          dicker182
          last edited by Jul 25, 2016, 3:33 PM

          Here a picture of my pm2 logs over the night:

          0_1469460451271_Bildschirmfoto 2016-07-25 um 17.27.13.png

          I never pressed the button :(

          C 1 Reply Last reply Jul 26, 2016, 9:26 AM Reply Quote 0
          • K Offline
            KirAsh4 Moderator
            last edited by Jul 26, 2016, 4:35 AM

            What’s listening for the button? How is it configured? How is the GPIO pin configured?

            Two possibilities:
            a) the button is faulty
            b) the button is left FLOATING

            A bit of lesson here:
            In order for a button to get registered, the controller needs to be able to detect a voltage differential. Whether that’s 0V to 3.3V, or -5V to 0V. This means that the button needs to be at a known level compared to what the controller is set to register a trigger. If the controller is meant to detect a HIGH, or 1, then the button must be referenced to ground, or 0V. If the controller is set to detect a LOW, or 0, then the button must be referenced to the pin’s high voltage, 3.3V or 5V. This is called pulling the button UP or DOWN. When the button is pushed, it will then register the voltage difference that the controller will recognize.

            A button that has no reference to either a LOW or HIGH is called a FLOATING button. This is bad! A floating button will randomly trigger and the controller will “see” random triggers from it.

            So, how is the button set up, how is the GPIO set up, what’s the code that’s attempting to read the button?

            A Life? Cool! Where can I download one of those from?

            1 Reply Last reply Reply Quote 0
            • C Offline
              CGabo @dicker182
              last edited by Jul 26, 2016, 9:26 AM

              @dicker182

              And to complement @KirAsh4 comment: probably the cause is some voltage / EMI feedback, likely due to the wires and switches.

              From what I see, the Pi does not have protective diodes on the inputs like the AVR chips (and Arduino) do. As a result, feedback to the Pi can probably cause the behaviour which you experienced. Try to switch on/off some lights and electrical devices and see the result.

              To correct this condition, use a combination of current limiting, filtering and shielding.

              You could use for current limiting, a 1K resistor in line with the switch, installed on a PCB inches from the Pi. Also use a low-pass filter made up of another pull-up / pull-down resistor and a capacitor alternatively to the build in PULL-UP and PULL-DOWN resistors of the PI.

              Here are some additional links:

              https://www.raspberrypi.org/forums/viewtopic.php?t=53548

              http://www.digikey.com/en/articles/techzone/2012/apr/protecting-inputs-in-digital-electronics

              1 Reply Last reply Reply Quote 0
              • D Offline
                dicker182
                last edited by Jul 26, 2016, 8:13 PM

                Both, thank you for your answer. I will try to give you more informations. The following button from Ebay are used:

                http://www.ebay.de/itm/272129888717?_trksid=p2060353.m2749.l2649&var=570940259633&ssPageName=STRK%3AMEBIDX%3AIT

                Art-Nr. 041

                At first, I tryed the configuration from PtrBld´s howto:

                0_1469563372766_upload-9e2a744a-191c-4bc0-a573-f60bb97298ea

                0_1469563330027_upload-82d3e24f-3dc3-445c-b383-2bfbd97945fd
                https://developer.microsoft.com/de-de/windows/iot/win10/samples/PushButton.htm


                After the false positiv pressed buttons, I tryed the actually config:

                0_1469563460478_upload-01973e92-35f2-4c6e-a8f0-54d28cd740ee https://dracarysdiy.files.wordpress.com/2016/03/button.jpg?w=474

                But the problem is always the same.

                @CGabo, I will have a look to your links tomorrow. But I am not an electrican, so I hope to understand.

                Thank you in advance!

                1 Reply Last reply Reply Quote 0
                • K Offline
                  KirAsh4 Moderator
                  last edited by Jul 26, 2016, 8:51 PM

                  Yeah, that’s a floating button. You need a pull-down on it, a known state, so the rpi can detect a change. You can either do that in software with RPi.GPIO and configuring it as such:

                  GPIO.setup(PIN, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
                  

                  Or through hardware:
                  https://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/robot/buttons_and_switches/

                  A Life? Cool! Where can I download one of those from?

                  1 Reply Last reply Reply Quote 0
                  • D Offline
                    dicker182
                    last edited by dicker182 Jul 27, 2016, 12:09 PM Jul 27, 2016, 11:58 AM

                    Okay, now I have a script button.py which starts with rc.local after boot.

                    import RPi.GPIO as GPIO
                    import time
                    
                    GPIO.setmode(GPIO.BCM)
                    GPIO.setup(9, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
                    GPIO.cleanup()           # clean up GPIO on normal exit
                    

                    But it´s also not working. Did I miss something?

                    1 Reply Last reply Reply Quote 0
                    • K Offline
                      KirAsh4 Moderator
                      last edited by Jul 27, 2016, 7:36 PM

                      Different permissions. Your rc.local runs with system privileges, however the MM² task runs as the pi user. You need to have those GPIO setting in the script that the pi user runs.

                      A Life? Cool! Where can I download one of those from?

                      1 Reply Last reply Reply Quote 0
                      • 1
                      • 2
                      • 3
                      • 1 / 3
                      • 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