单反相机的追踪重点。 树莓派+ HC-SR04 + SG90伺服

这篇文章介绍了一个晚上如何用狗屎和棍子制成镜子的跟踪焦点。 发生了什么的视频:


前言


毫无疑问,树莓在这里是多余的。 但是,如果我们谈论的是一种更复杂的设备,其中跟踪焦点只是功能之一,那为什么不呢。

我没有想出任何新东西,我只拿了一个晚上就做了。 我喜欢这个结果,因此想与社区分享。

机械师,坐骑


对我而言,力学始终是绊脚石。 在彼此兼容的情况下找到腋下的粪便和棍子,同时仍然可以实现目标-可能很困难。 但是这次我很幸运。

原型看起来像这样:



作为服务器轴上的齿轮,我使用了牛奶盒的盖子,在上面盖上了SLR镜头其余齿轮环的胶。 在我的案例中,牛奶盖被证明是在50mm镜头上调节的最佳直径。 我借助氰基丙烯酸酯和苏打水将“齿轮”粘合到随伺服系统提供的一个摇臂上,然后将其拧紧。 要将结构连接到DSLR,您需要一个带一英寸螺纹的螺钉,我从一个章鱼三脚架上发现了一个。

通常,设计以某种方式体现在现实中:



今天,没有熨平板很难。 蓝色胶带结束了,我不得不将传感器安装在纸带上。

电子产品


我的大脑是Raspberry Pi 3,我通过一个7.2V输出的LM2596微电路上的一个单独的24VDC电源单元和一个DC-DC降压转换器为伺服器供电。
工作算法很容易丢脸。 超声波测距仪HC-SR04会反馈到物体的距离,该反馈会转换为伺服SG-90的旋转角度。 “齿轮”固定在伺服系统的轴上,该齿轮通过小齿轮旋转镜头,从而设定焦距。

代号


在此说明如何连接超声波传感器。 伺服控制通过硬件PWM完成,我在这里进行了设置。

原来的代码非常适中,但这只是开始,没有完美的限制。

#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厘米)的线性依赖性,其余部分作为对无限远的聚焦。

结论


在我看来,即使是最便宜的SG-90服务器也能承受这样的能力,对于这样的婴儿来说,重量为1.2千克/厘米,而且速度如此之高-太酷了,尤其是价格为1.5英镑。 超声波测距仪也是如此。

附言 可以与传感器分开控制服务器,例如,从一个物体到另一个具有不同焦距的物体快速转换。 同样,为了改善系统,您可以添加一个滤波器,该滤波器将弥补超声传感器测量中的缺点。

Source: https://habr.com/ru/post/zh-CN410917/


All Articles