Commit 59ef1ecc authored by Julian Stirling's avatar Julian Stirling 🐧
Browse files

Merge branch 'upright' into 'master'

Rotate low-cost camera on Upright

Closes #375

See merge request !538
parents bc774e37 7eee3275
Loading
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -159,10 +159,12 @@ def write_ninja_file(build_dir):

        # extra platform optics **TODO make this build automatically with the
        # generate_platform_optics_modules below
        writer.openscad("camera_platform_c270.stl", "camera_platform_c270.scad")
        writer.openscad("camera_platform_c270.stl",
                        "camera_platform_c270.scad")
        writer.openscad("lens_spacer_c270.stl", "lens_spacer_c270.scad")
        writer.openscad("c270_camera_backshell.stl", "c270_backshell.scad")
        writer.openscad("camera_platform_arducam_b0196.stl", "camera_platform_b0196.scad")
        writer.openscad("camera_platform_arducam_b0196.stl",
                        "camera_platform_b0196.scad")
        writer.openscad("lens_spacer_arducam_b0196.stl", "lens_spacer_b0196.scad")

def generate_rms_optics_modules(writer):
@@ -174,12 +176,13 @@ def generate_rms_optics_modules(writer):
            for beamsplitter in [True, False]:
                bs_text = "_beamsplitter" if beamsplitter else ""
                output = f"optics_{camera}_{optics}{bs_text}.stl"
                scadfile = "rms_optics_module.scad"

                parameters = {"OPTICS": optics,
                              "CAMERA": camera,
                              "BEAMSPLITTER": beamsplitter}

                writer.openscad(output, "rms_optics_module.scad", parameters)
                writer.openscad(output, scadfile, parameters)

def generate_platform_optics_modules(writer):
    """
@@ -190,6 +193,7 @@ def generate_platform_optics_modules(writer):
    # be fixed as other options are added.
    for camera, optics in PLATFORM_OPTICS_MODULE_OPTIONS:
        writer.openscad(f"camera_platform_{camera}_{optics}.stl", "camera_platform.scad")
        writer.openscad(f"upright_camera_platform_{camera}_{optics}.stl", "upright_camera_platform.scad")
        writer.openscad(f"lens_spacer_{camera}_{optics}.stl", "lens_spacer.scad")

def generate_stand_with_pi(writer):
+3 −3
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@ Take the [lens spacer][Lens spacer](fromstep){qty:1, cat:printedpart} and confir

## Attach the {{includetext:"Pi Camera", if: var_lens is pi_lens}}{{includetext:"assembled camera module", if: var_lens is c270_lens}} {pagestep}

![](renders/low_cost_optics_assembly_camera_{{var_lens}}.png)
![](renders/low_cost_optics_assembly_camera_{{var_lens}}{{includetext: "_upright", if: var_body is upright}}.png)

{{includetext:"* Locate the dimple on top of the [camera platform][Camera platform](fromstep){qty:1, cat:printedpart} (highlighted with a red circle in the picture.)
* Take the Pi Camera and place it on top of the camera platform so that the centre of the camera sensor is directly above the dimple.
@@ -94,7 +94,7 @@ Take the [lens spacer][Lens spacer](fromstep){qty:1, cat:printedpart} and confir

## Attach the mounting screw {pagestep}

![](renders/low_cost_optics_assembly_screw_{{var_lens}}.png)
![](renders/low_cost_optics_assembly_screw_{{var_lens}}{{includetext: "_upright", if: var_body is upright}}.png)

* Take an [M3 nut]{qty:1, cat:mech} and push it into the nut trap from the top
* Take an [M3x10 cap head screw][M3x10 cap head screws](parts/mechanical.yml#CapScrew_M3x10mm_SS){qty: 1, cat:mech} and screw it into the nut.
@@ -114,7 +114,7 @@ Take the [lens spacer][Lens spacer](fromstep){qty:1, cat:printedpart} and confir

## Connect the ribbon cable {pagestep}

![](renders/low_cost_optics_assembly_ribbon_pi_lens.png)
![](renders/low_cost_optics_assembly_ribbon_pi_lens", if: var_lens is pi_lens}}{{includetext: "_upright", if: var_body is upright}}{{includetext: ".png)

* Pull the catch forward on the exposed Pi Camera connector
* Insert the ribbon cable with the contacts towards the board
+3 −3
Original line number Diff line number Diff line
@@ -83,9 +83,9 @@ The standard version of the [basic optics module][basic optics pi] uses a Raspbe

The basic optics modules contain two printed parts; a lens spacer (printed in black [i](../info_pages/why_optics_black.md)) and camera platform:

* **Raspberry Pi camera v2**: [Assembly Guide][basic optics pi] - [lens spacer STL](../models/lens_spacer_picamera_2_pilens.stl){previewpage} & [camera platform STL](../models/camera_platform_picamera_2_pilens.stl){previewpage}
* **Arducam B0196**: [Assembly Guide][basic optics b0196] - [lens spacer STL](../models/lens_spacer_arducam_b0196.stl){previewpage} & [camera platform STL](../models/camera_platform_arducam_b0196.stl){previewpage}
* **Logitech C270**: [Assembly Guide][basic optics c270] - [lens spacer STL](../models/lens_spacer_c270.stl){previewpage} & [camera platform STL](../models/camera_platform_c270.stl){previewpage}
* **Raspberry Pi camera v2**: [Assembly Guide][basic optics pi] - [lens spacer STL](../models/lens_spacer_picamera_2_pilens.stl){previewpage} and either [camera platform STL](../models/camera_platform_picamera_2_pilens.stl){previewpage} or [upright camera platform STL](../models/upright_camera_platform_picamera_2_pilens.stl){previewpage}
* **Arducam B0196**: [Assembly Guide][basic optics b0196] - [lens spacer STL](../models/lens_spacer_arducam_b0196.stl){previewpage} and [camera platform STL](../models/camera_platform_arducam_b0196.stl){previewpage}
* **Logitech C270**: [Assembly Guide][basic optics c270] - [lens spacer STL](../models/lens_spacer_c270.stl){previewpage} and [camera platform STL](../models/camera_platform_c270.stl){previewpage}

[basic optics pi]: ../only_pi_basic_optics.md
[basic optics c270]: ../usb_cameras/basic_optics_c270_index.md
+1 −1
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@
* [Upright condenser platform]{output,qty:1}: [upright_condenser_platform.stl](models/upright_condenser_platform.stl){previewpage}
* [Condenser board spacer]{output,qty:1}: [condenser_board_spacer.stl](models/condenser_board_spacer.stl){previewpage}
* [Lens spacer]{output,qty:1}: [lens_spacer_picamera_2_pilens.stl](models/lens_spacer_picamera_2_pilens.stl){previewpage} - **This must be printed in [black][Black PLA filament]{Qty: 20g}!** [i](info_pages/why_optics_black.md)
* [Camera platform]{output,qty:1}: [camera_platform_picamera_2_pilens.stl](models/camera_platform_picamera_2_pilens.stl){previewpage}
* [Camera platform]{output,qty:1}: [upright_camera_platform_picamera_2_pilens.stl](models/upright_camera_platform_picamera_2_pilens.stl){previewpage}

You can [download all of the STLs as a single zipfile](upright-stls.zip){zip, pattern:"*.stl"}

+1 −1
Original line number Diff line number Diff line

use <./libs/cameras/logitech_c270.scad>

rotate([180,0,0]){
translate([0,0,c270_backshell_height()]){
    c270_backshell();
}
 No newline at end of file
Loading