Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Newbie with Pi3
#16
I implemented simplest solution in my opinion - adding 50 ms bouncetime
import RPi.GPIO as GPIO
import time
from twilio.rest import Client
 
 
def send_sms(client, sms_text="Hello from Python!"):
    client.messages.create(to="+19732644152", 
                           from_="+12023351278", 
                           body=sms_text)
 
 
twilio_client = Client("ACxxxxxxxxxxxxxx", "zzzzzzzzzzzzz")
                            
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
GPIO.setup(7,GPIO.IN)   #LDR (Light Dependent Resistor)
 
GPIO.setup(11, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) #top switch
GPIO.setup(12, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) # bottom switch
 
GPIO.setup(15,GPIO.OUT) # Door Open
GPIO.setup(13,GPIO.OUT) # Door Close

# add events detection
GPIO.add_event_detect(7, GPIO.BOTH, bouncetime=50)
GPIO.add_event_detect(11, GPIO.RISING, bouncetime=50)
GPIO.add_event_detect(12, GPIO.RISING, bouncetime=50)

while True:
    if GPIO.event_detected(7) # change in light sensor
        if not GPIO.input(7) and not GPIO.input(11): # it's day and door is not open
            print ("Day")
            print ("Open door")
            GPIO.output(15,True)
            print ("Start motor")
            print ("Current time %s"  % now )
        elif GPIO.input(7) and not GPIO.input(12): # it's night and door is not closed
            print ("Night")
            print ("Close door")
            GPIO.output(13,True) 
            print ("Drive motor")

    if GPIO.event_detected(11) and GPIO.input(11): # top switch change to HIGH
        GPIO.output(15,False)
        print ("STOP door open")
        #send_sms(client=twilio_client, sms_text='Door open')
    
    if GPIO.event_detected(12) and GPIO.input(12): # bottom switch change to HIGH
        GPIO.output(13,False)
        print ("STOP door closed")
        #send_sms(client=twilio_client, sms_text='Door closed')
I temporary commented out the sms. We will uncomment it later.
I expect it will detect each event only once (due to 50 ms bouncetime). Also bu adding check that pins 11 and 12 are actually HIGH in case of event, it should avoid detecting GPIO.FALLING events

I want it to print once that it will open/close door and only once print that the door is opene/close once it is.
If you can't explain it to a six year old, you don't understand it yourself, Albert Einstein
How to Ask Questions The Smart Way: link and another link
Create MCV example
Debug small programs

Reply


Messages In This Thread
Newbie with Pi3 - by Dualxeon - Mar-30-2018, 08:39 AM
RE: Newbie with Pi3 - by buran - Mar-30-2018, 09:32 AM
RE: Newbie with Pi3 - by Dualxeon - Mar-30-2018, 10:26 AM
RE: Newbie with Pi3 - by Dualxeon - Mar-30-2018, 10:19 PM
RE: Newbie with Pi3 - by snippsat - Mar-30-2018, 10:38 PM
RE: Newbie with Pi3 - by buran - Mar-31-2018, 05:53 AM
RE: Newbie with Pi3 - by Dualxeon - Mar-31-2018, 08:28 AM
RE: Newbie with Pi3 - by buran - Mar-31-2018, 08:48 AM
RE: Newbie with Pi3 - by Dualxeon - Mar-31-2018, 09:25 AM
RE: Newbie with Pi3 - by buran - Mar-31-2018, 10:00 AM
RE: Newbie with Pi3 - by Dualxeon - Mar-31-2018, 10:28 AM
RE: Newbie with Pi3 - by buran - Mar-31-2018, 10:47 AM
RE: Newbie with Pi3 - by Dualxeon - Mar-31-2018, 12:09 PM
RE: Newbie with Pi3 - by buran - Mar-31-2018, 12:23 PM
RE: Newbie with Pi3 - by buran - Mar-31-2018, 07:29 PM
RE: Newbie with Pi3 - by buran - Mar-31-2018, 07:47 PM
RE: Newbie with Pi3 - by Dualxeon - Mar-31-2018, 08:55 PM
RE: Newbie with Pi3 - by buran - Mar-31-2018, 09:13 PM
RE: Newbie with Pi3 - by Dualxeon - Apr-01-2018, 08:51 AM
RE: Newbie with Pi3 - by wavic - Apr-01-2018, 09:07 AM
RE: Newbie with Pi3 - by buran - Apr-01-2018, 08:57 AM
RE: Newbie with Pi3 - by buran - Apr-01-2018, 09:13 AM
RE: Newbie with Pi3 - by wavic - Apr-03-2018, 09:47 AM
RE: Newbie with Pi3 - by Dualxeon - Apr-01-2018, 09:14 AM
RE: Newbie with Pi3 - by buran - Apr-01-2018, 09:27 AM
RE: Newbie with Pi3 - by Dualxeon - Apr-01-2018, 09:36 AM
RE: Newbie with Pi3 - by buran - Apr-01-2018, 09:40 AM
RE: Newbie with Pi3 - by Dualxeon - Apr-01-2018, 11:34 AM
RE: Newbie with Pi3 - by buran - Apr-01-2018, 12:14 PM
RE: Newbie with Pi3 - by Dualxeon - Apr-01-2018, 06:32 PM
RE: Newbie with Pi3 - by buran - Apr-01-2018, 08:08 PM
RE: Newbie with Pi3 - by Dualxeon - Apr-02-2018, 10:19 AM
RE: Newbie with Pi3 - by buran - Apr-02-2018, 11:13 AM
RE: Newbie with Pi3 - by buran - Apr-02-2018, 11:20 AM
RE: Newbie with Pi3 - by Dualxeon - Apr-03-2018, 07:33 AM
RE: Newbie with Pi3 - by buran - Apr-03-2018, 07:41 AM
RE: Newbie with Pi3 - by Dualxeon - Apr-03-2018, 08:46 AM
RE: Newbie with Pi3 - by buran - Apr-03-2018, 08:56 AM
RE: Newbie with Pi3 - by buran - Apr-03-2018, 09:01 AM
RE: Newbie with Pi3 - by Dualxeon - Apr-03-2018, 09:17 AM
RE: Newbie with Pi3 - by buran - Apr-03-2018, 10:14 AM
RE: Newbie with Pi3 - by buran - Apr-03-2018, 11:04 AM
RE: Newbie with Pi3 - by Dualxeon - Apr-04-2018, 07:40 AM
RE: Newbie with Pi3 - by buran - Apr-04-2018, 08:02 AM
RE: Newbie with Pi3 - by Dualxeon - Apr-04-2018, 08:30 AM
RE: Newbie with Pi3 - by buran - Apr-04-2018, 09:08 AM
RE: Newbie with Pi3 - by Dualxeon - Apr-04-2018, 09:15 AM
RE: Newbie with Pi3 - by buran - Apr-04-2018, 09:22 AM
RE: Newbie with Pi3 - by Dualxeon - Apr-04-2018, 08:14 PM
RE: Newbie with Pi3 - by buran - Apr-04-2018, 08:21 PM
RE: Newbie with Pi3 - by Dualxeon - Apr-04-2018, 10:58 PM

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020