рдПрд╕рдПрд▓рдЖрд░ рдХреЗ рд▓рд┐рдП рдЯреНрд░реИрдХрд┐рдВрдЧ рдлреЛрдХрд╕ред рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ + HC-SR04 + SG90 рд╕рд░реНрд╡реЛ

рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдПрдХ рд╢рд╛рдо рдореЗрдВ рдПрдХ рджрд░реНрдкрдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреНрд░реИрдХрд┐рдВрдЧ рдлреЛрдХрд╕ рдЧрдВрджрдЧреА рдФрд░ рд▓рд╛рдареА рд╕реЗ рдмрдирд╛ рдерд╛ред рдХреНрдпрд╛ рд╣реБрдЖ рд╡реАрдбрд┐рдпреЛ:


рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛


рд░рд╛рд╕реНрдкрдмреЗрд░реА рдпрд╣рд╛рдВ рдмреЗрдорд╛рдиреА рд╣реИрдВ, рдЗрд╕рдореЗрдВ рдХреЛрдИ рд╕рдВрджреЗрд╣ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдо рдПрдХ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЯреНрд░реИрдХрд┐рдВрдЧ рдлреЛрдХрд╕ рдХреЗрд╡рд▓ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ, рддреЛ рдХреНрдпреЛрдВ рдирд╣реАрдВред

рдореИрдВ рдХреБрдЫ рдирдпрд╛ рд▓реЗрдХрд░ рдирд╣реАрдВ рдЖрдпрд╛ рдерд╛, рдореИрдВрдиреЗ рдмрд╕ рдЗрд╕реЗ рд▓рд┐рдпрд╛ рдФрд░ рдПрдХ рд╢рд╛рдо рдореЗрдВ рдХрд┐рдпрд╛ред рдореБрдЭреЗ рдкрд░рд┐рдгрд╛рдо рдкрд╕рдВрдж рдЖрдпрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕рдореБрджрд╛рдп рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдпрд╛рдВрддреНрд░рд┐рдХреА, рдорд╛рдЙрдВрдЯ


рдореЗрд░реЗ рд▓рд┐рдП, рдпрд╛рдВрддреНрд░рд┐рдХреА рд╣рдореЗрд╢рд╛ рдПрдХ рдареЛрдХрд░ рд╣реИред рдЕрдкрдиреА рдмрд╛рд╣реЛрдВ рдХреЗ рдиреАрдЪреЗ рдЧрдВрджрдЧреА рдФрд░ рд▓рд╛рдареА рдвреВрдВрдврдирд╛ рдЬреЛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реИрдВ, рдЬрдмрдХрд┐ рдЕрднреА рднреА рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд▓рдХреНрд╖реНрдп рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ - рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рд░ рдореИрдВ рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рдерд╛ред

рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:



рд╕рд░реНрд╡рд░ рдХреА рдзреБрд░реА рдкрд░ рдЧрд┐рдпрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рджреВрдз рдХреЗ рдмрдХреНрд╕реЗ рд╕реЗ рдврдХреНрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЬрд┐рд╕ рдкрд░ рдореИрдВрдиреЗ рдПрд╕рдПрд▓рдЖрд░ рд▓реЗрдВрд╕ рдХреЗ рд▓рд┐рдП рд╢реЗрд╖ рдЧрд┐рдпрд░ рдХреЙрд▓рд░ рдХреЛ рдЪрд┐рдкрдХрд╛рдпрд╛ред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рджреВрдз рдХреА рдЯреЛрдкреА 50 рдорд┐рдореА рд▓реЗрдВрд╕ рдкрд░ рд╕рдорд╛рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдЗрд╖реНрдЯрддрдо рд╡реНрдпрд╛рд╕ рдмрди рдЧрдИред рдореИрдВрдиреЗ рд╕рд░реНрд╡реЛ рдХреЗ рд╕рд╛рде рдЖрдкреВрд░реНрддрд┐ рдХреА рдЧрдИ рд░реЙрдХрд░ рд╣рдерд┐рдпрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рд╕реЛрдбрд╛ рдХреЗ рд╕рд╛рде рд╕рд╛рдЗрдирд╛рдХреЛрдЖрдХреНрд░рд┐рд▓реЗрдЯ рдХреА рдорджрдж рд╕реЗ "рдЧрд┐рдпрд░" рдЪрд┐рдкрдХрд╛рдпрд╛ред рдбреАрдПрд╕рдПрд▓рдЖрд░ рдХреЗ рд▓рд┐рдП рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕рдВрд▓рдЧреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдЗрдВрдЪ рдХреЗ рдзрд╛рдЧреЗ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдХреНрд░реВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдореБрдЭреЗ рдСрдХреНрдЯреЛрдкрд╕ рдЯреНрд░рд╛рдЗрдкреЙрдб рд╕реЗ рдПрдХ рдорд┐рд▓рд╛ред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдбрд┐рдЬрд╛рдЗрди рдХрд┐рд╕реА рди рдХрд┐рд╕реА рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдореЗрдВ рдЦреБрдж рдХреЛ рд╕рдиреНрдирд┐рд╣рд┐рдд рдХрд░рддрд╛ рд╣реИ:



рдЖрдЬ, рдпрд╣ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкреЗрдВрдЪ рдХреЗ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдиреАрд▓рд╛ рдЯреЗрдк рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рдФрд░ рдореБрдЭреЗ рдкреЗрдкрд░ рдЯреЗрдк рдкрд░ рд╕реЗрдВрд╕рд░ рд▓рдЧрд╛рдирд╛ рдкрдбрд╝рд╛ред

рдЗрд▓реЗрдХреНрдЯреНрд░рд╛рдирд┐рдХреНрд╕


рдореИрдВ рдЕрдкрдиреЗ рджрд┐рдорд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВ рд╕рд░реНрд╡реЛ рдХреЛ рдПрдХ рдЕрд▓рдЧ 24VDC рдмрд┐рдЬрд▓реА рдХреА рдЖрдкреВрд░реНрддрд┐ рдЗрдХрд╛рдИ рдХреЗ рд╕рд╛рде 7.2V рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╕рд╛рде рдПрдХ LM2596 рдорд╛рдЗрдХреНрд░реЛрдХреНрд░реЗрд╕реАрдЯ рдкрд░ DC-DC рд╕реНрдЯреЗрдк рдбрд╛рдЙрди рдХрдирд╡рд░реНрдЯрд░ рдХреЗ рд╕рд╛рде рдкрд╛рд╡рд░ рджреЗрддрд╛ рд╣реВрдВред
рдХрд╛рдо рдХрд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЕрдкрдорд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рд╣реИред рдЕрд▓реНрдЯреНрд░рд╛рд╕реЛрдирд┐рдХ рд░реЗрдВрдЬ рдлрд╛рдЗрдВрдбрд░ HC-SR04 рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рджреВрд░реА рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕реЗ рд╕рд░реНрд╡реЛ рдПрд╕рдЬреА -90 рдХреЗ рд░реЛрдЯреЗрд╢рди рдХреЗ рдХреЛрдг рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рд░реНрд╡реЛрд╕ рдХреА рдзреБрд░реА рдкрд░ рдПрдХ "рдЧрд┐рдпрд░" рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рд▓реЗрдВрд╕ рдХреЛ рдкрд┐рдирд┐рдпрди рдЧрд┐рдпрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдШреБрдорд╛рддрд╛ рд╣реИ, рдлреЛрдХрд▓ рд▓рдВрдмрд╛рдИ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред

рдХреЛрдб


рдПрдХ рдЕрд▓реНрдЯреНрд░рд╛рд╕реЛрдирд┐рдХ рд╕рдВрд╡реЗрджрдХ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдпрд╣рд╛рдВ рд╡рд░реНрдгрд┐рдд рд╣реИ ред рдЗрдорджрд╛рджреА рдирд┐рдпрдВрддреНрд░рдг рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкреАрдбрдмреНрд▓реВрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд▓реЗ рд▓реАред

рдХреЛрдб рдмрд╣реБрдд рдорд╛рдореВрд▓реА рдирд┐рдХрд▓рд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рд╢реБрд░реБрдЖрдд рд╣реИ рдФрд░ рдкреВрд░реНрдгрддрд╛ рдХреА рдХреЛрдИ рд╕реАрдорд╛ рдирд╣реАрдВ рд╣реИред

#Libraries import RPi.GPIO as GPIO import time from subprocess import call from RPIO import PWM servo = PWM.Servo() #GPIO Mode (BOARD / BCM) GPIO.setmode(GPIO.BCM) #set GPIO Pins GPIO_TRIGGER = 18 GPIO_ECHO = 24 #set GPIO direction (IN / OUT) GPIO.setup(GPIO_TRIGGER, GPIO.OUT) GPIO.setup(GPIO_ECHO, GPIO.IN) def distance(): # set Trigger to HIGH GPIO.output(GPIO_TRIGGER, True) # set Trigger after 0.01ms to LOW time.sleep(0.00001) GPIO.output(GPIO_TRIGGER, False) StartTime = time.time() StopTime = time.time() # save StartTime while GPIO.input(GPIO_ECHO) == 0: StartTime = time.time() # save time of arrival while GPIO.input(GPIO_ECHO) == 1: StopTime = time.time() # time difference between start and arrival TimeElapsed = StopTime - StartTime # multiply with the sonic speed (34300 cm/s) # and divide by 2, because there and back distance = (TimeElapsed * 34300) / 2 return distance if __name__ == '__main__': try: while True: dist = distance() if dist <=40: focus = 900 elif dist <= 70: focus = 900+int(dist-40)*20 else: focus = 2000 servo.set_servo(23, focus) print ("Measured Distance = %.1f cm, focus = %3i" % (dist, focus)) time.sleep(0.1) # Reset by pressing CTRL + C except KeyboardInterrupt: print("Measurement stopped by User") servo.stop_servo(23) GPIO.cleanup() 

рдлреЛрдХрд▓ рд▓рдВрдмрд╛рдИ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛ рдХреЗ рд░реЛрдЯреЗрд╢рди рдХреЗ рдХреЛрдг рдХреЗ рдкрддреНрд░рд╛рдЪрд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдХрдИ рдЕрдВрд╢рд╛рдВрдХрди рдорд╛рдк рдХрд┐рдП, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдореБрдЭреЗ рдмреНрдпрд╛рдЬ рдХреЗ рдХреНрд╖реЗрддреНрд░ (40-70 рд╕реЗрдореА) рдкрд░ рдПрдХ рд░реИрдЦрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реБрдИ, рдмрд╛рдХреА рдХреЛ рдЕрдирдВрддрддрд╛ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдирд┐рд╖реНрдХрд░реНрд╖


рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рдмрд╕реЗ рд╕рд╕реНрддрд╛ рдПрд╕рдЬреА -90 рд╕рд░реНрд╡рд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдХреНрд╖рдо рд╣реИрдВ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдмрдЪреНрдЪреЗ рдХреЗ рд▓рд┐рдП 1.2 рдХрд┐рдЧреНрд░рд╛ / рд╕реЗрдореА рд░реЙрдб, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рдЧрддрд┐ рдХреЗ рд╕рд╛рде - рдпрд╣ рд╢рд╛рдВрдд рд╣реИ, рдЦрд╛рд╕рдХрд░ 1.5 рд░реБрдкрдпреЗ рдХреА рдХреАрдордд рдХреЗ рд▓рд┐рдПред рд╡рд╣реА рдЕрд▓реНрдЯреНрд░рд╛рд╕реЛрдирд┐рдХ рд░реЗрдВрдЬрдлрд╛рдЗрдВрдбрд░ рдХреЗ рд▓рд┐рдП рдЬрд╛рддрд╛ рд╣реИред

рдкреБрдирд╢реНрдЪ рд╕рд░реНрд╡рд░ рдХреЛ рд╕реЗрдВрд╕рд░ рд╕реЗ рдЕрд▓рдЧ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлреЛрдХрд▓ рд▓рдВрдмрд╛рдИ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд╕реНрддреБ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рддреНрд╡рд░рд┐рдд рдмрджрд▓рд╛рд╡ рдХрд░реЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рдлрд┐рд▓реНрдЯрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЕрд▓реНрдЯреНрд░рд╛рд╕реЛрдирд┐рдХ рд╕реЗрдВрд╕рд░ рдХреА рдорд╛рдк рдореЗрдВ рдХрдорд┐рдпреЛрдВ рдХреА рднрд░рдкрд╛рдИ рдХрд░реЗрдЧрд╛ред

Source: https://habr.com/ru/post/hi410917/


All Articles