分享

Touch Cam - 一款基于树莓派的多功能相机服务器

 Ianlt_Image 2023-10-31 发布于澳大利亚

Image

Image

项目简介

Touch Cam是一款基于树莓派的桌面相机服务器,整合了触摸显示屏和触摸传感器,旨在为用户带来良好的体验。此项目融合了树莓派的强大功能、定制的CAD设计和创新的触摸界面,让用户更便捷地捕获照片、视频和延时拍摄。

主要功能

  • 触摸显示屏:Touch Cam采用高分辨率触摸显示屏,为相机控制、图像预览和视频播放提供视觉界面。使用触摸显示屏,用户可以轻松浏览菜单,并查看实时图像和视频。
  • 触摸传感器:设计中加入了触摸传感器,实现了拍摄照片和启动延时拍摄的无缝操作。轻触触摸传感器,即可激活相机功能,无论是拍摄照片还是启动延时拍摄。
  • 树莓派桌面相机服务器:充分利用树莓派的计算能力,作为多功能相机服务器。Touch Cam提供了一个基于网络的界面,可以从连接到同一网络的任何设备上访问,允许用户远程控制并访问相机的功能。
  • 冷却系统:Touch Cam配备了5V冷却风扇和散热器,保证有效的温度管理。该冷却系统确保树莓派在长时间运行中不会过热,维持稳定的性能。
  • 定制的CAD设计:此定制的CAD设计不仅提升了功能性,还注重了外观和实用性,将触摸显示屏、触摸传感器、冷却风扇、散热器和Raspberry Pi HQ相机模块整合于一个精致的相机外壳内。
  • 简易设置与配置:配置触摸摄像头操作简单,不需太多专业背景。依照明确的文档和逐步指导,用户可以迅速地组装硬件,安装所需软件,并开始拍摄出色的照片和进行延时拍摄。

在本教程中,我将详细介绍使用Fusion 360为Touch Cam项目进行的设计过程。Fusion 360是一款强大的CAD(计算机辅助设计)软件,可协助用户构建复杂的3D模型和设计。

温馨提示:你还可以进一步对项目进行定制和扩展。

硬件清单

需要的组件:

  • Raspberry Pi 4  x1
  • DFRobot Raspberry Pi触摸显示屏 x1
  • Raspberry Pi HQ摄像头模块 x1
  • 16mm镜头或6mm镜头 x1
  • 触摸传感器 x1
  • 5V 4020风扇 x1
  • 树莓派散热器套件 x1
  • SD卡 x1
  • M3 30mm螺钉 x3
  • M3 20mm螺钉 x3
  • M2.5 8mm螺钉 x12
  • M3金属嵌入件 x6

需要的工具:

  • 焊接套件
  • 螺丝刀套件
  • 3D打印机
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image

步骤

步骤1: 3D打印

请下载以下的stl文件,并用3D打印机打印出来(可通过文章尾部链接下载):

1. FrontPannel.stl

2. BasePannel.stl

Image
Image
Image

步骤2:组装第1部分

把显示屏安装到前面板上,用M2.5螺钉固定。

Image
Image

之后,把树莓派操作系统安装到SD卡上,然后插入树莓派主板。最后,将树莓派主板用螺丝固定在显示屏上,连接显示屏数据线。

Image

步骤3:如何在3D打印零件中使用金属插件

在步骤2之前完成这一步。将所有金属插件加热(用烙铁加热金属插件),然后插入3D打印件中。

Image
Image
Image

步骤4:组装第2部分

使用M2.5螺钉和M3螺钉,将摄像头模块和风扇固定好。

Image
Image
Image

然后,将摄像头的数据线从外部连接,并插入内部。

Image
Image

步骤5:电路连接

Image

按照图示,连接触摸传感器输入并为风扇供电。

Image

步骤6:组装第3部分

我没用任何胶带来固定传感器。

Image

用M3螺钉将所有部件组装完成,并连接导线。

Image
Image
Image

整个设计有一个小小的误差,我修剪了一些塑料来扩大端口的开口,但别担心,我已经在你下载的stl文件中修正了这个问题。

Image
Image
Image

步骤7:软件设置

将以下代码复制到Raspberry Pi中,并将其保存为Any_File_Name.py或文末打包下载

import RPi.GPIO as GPIO
import time
from picamera import PiCamera


# Set the GPIO mode to BCM
GPIO.setmode(GPIO.BCM)


# Set up GPIO pin 21 as input
GPIO.setup(21, GPIO.IN)


# Create an instance of the PiCamera
camera = PiCamera()


def capture_picture():
    # Get the current timestamp for the picture filename
    timestamp = time.strftime('%Y%m%d%H%M%S')
    image_filename = f'picture_{timestamp}.jpg'

    # Capture the picture
    camera.capture(image_filename)
    print(f'Picture captured: {image_filename}')


try:
    # Start the camera preview
    camera.start_preview()


    while True:
        # Check if GPIO pin 21 is high
        if GPIO.input(21) == GPIO.HIGH:
            # Call the capture_picture function
            capture_picture()


        # Add a small delay to avoid excessive checking
        time.sleep(0.1)


except KeyboardInterrupt:
    # Stop the camera preview
    camera.stop_preview()


    # Clean up GPIO on program exit
    GPIO.cleanup()

这段代码可以使得你在运行后,打开相机预览,触摸传感器后自动拍摄照片,拍摄的照片将直接保存到与代码同路径的文件夹下。如果你希望操作更人性化,可以参考我以前的Pi Cam项目设置(https://www./Pi-Cam-a-Remote-Raspberry-Pi-DesktopCameraServer/),按照Pi Cam第8步的说明,在树莓派上设置https://app./平台以进行远程访问。

之后通过设置'localhost:80',让你能轻松通过各种设备远程预览和控制你的相机。

Image
Image
Image
Image
Image

如果你想知道我是如何设计和打造这个3D模型的,可以参考完整的教程《Touch Cam - 树莓派相机》- https://www./Touch-Cam-a-Raspberry-Pi-Camera/

非常感谢你的关注和参与!期待我们的下一个项目!

原文链接:https://community./makelog-313385.html

原文作者:Mukesh Sankhla

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多