กล้อง Instant Pi แบบพกพา: 6 ขั้นตอน (พร้อมรูปภาพ)
กล้อง Instant Pi แบบพกพา: 6 ขั้นตอน (พร้อมรูปภาพ)
Anonim
กล้อง Pi ทันทีแบบพกพา
กล้อง Pi ทันทีแบบพกพา
กล้อง Pi ทันทีแบบพกพา
กล้อง Pi ทันทีแบบพกพา
กล้อง Pi ทันทีแบบพกพา
กล้อง Pi ทันทีแบบพกพา
กล้อง Pi ทันทีแบบพกพา
กล้อง Pi ทันทีแบบพกพา

โครงการฟิวชั่น 360 »

ฉันมีความคิดที่จะสร้างชุดภาพถ่ายที่ได้รับแรงบันดาลใจจากยุคทองของการถ่ายภาพโพลารอยด์และแอนะล็อก กระบวนการสร้างสรรค์ส่วนใหญ่ของฉันถูกกำหนดโดยการสร้างเครื่องมือของฉันเอง ดังนั้นฉันจึงไม่ได้สนใจความคิดที่จะซื้อเพียงอย่างเดียว โพลารอยด์และเริ่มถ่ายภาพ

แนวคิดนี้ไม่ใช่เรื่องใหม่ มีโครงการกล้องถ่ายรูปหลายโครงการที่ใช้ Raspberry Pi และเครื่องพิมพ์ความร้อนอยู่แล้ว แต่สำหรับกล้องตัวนี้ ฉันอยากจะทำมันด้วยวิธีของตัวเอง ดังนั้นฉันจึงได้รับแรงบันดาลใจจากโครงการเหล่านั้นทั้งหมด และฉันได้ทำการเปลี่ยนแปลงบางอย่าง

โครงการอื่นที่คล้ายคลึงกันอื่น ๆ ที่ฉันเคยเห็นมาก่อน พวกเขาใช้ Raspberry Pi 2 และโมดูลกล้องเลนส์ไวด์ (การเฝ้าระวัง) สำหรับ Pi

สำหรับกล้องนี้ ฉันเลือก Raspberry Pi Zero W และเลนส์ทางยาวโฟกัสขนาดใหญ่ปานกลาง

Pi Zero W มีรอยเท้าเดียวกันกับ Pi Zero ดั้งเดิมซึ่งค่อนข้างเล็กและยอดเยี่ยม แต่ในเวอร์ชัน W มีพอร์ตกล้องและ Wifi ในตัวพร้อมกับคุณสมบัติอื่นๆ อีกมากมาย

โมดูลกล้อง Pi ส่วนใหญ่มาพร้อมกับเลนส์มุมกว้าง ฉันเลือกเลนส์ M12 ที่มีระยะการมองเห็น 40° ซึ่งจะใกล้เคียงกับทางยาวโฟกัส ~45 มม. ในกล้องฟูลเฟรม เพราะภาพจะดูเป็นธรรมชาติมากขึ้น ไม่บิดเบี้ยว และคล้ายกับการถ่ายภาพคลาสสิก

BTW ด้วยการเชื่อมต่อ wifi ฉันสามารถถ่ายภาพระยะไกลได้

ขั้นตอนที่ 1: ส่วนประกอบและวัสดุ

ส่วนประกอบและชิ้นส่วน

  • 1x Raspberry Pi Zero W raspberrypi.org/raspberry-pi-zero-w
  • 1x เครื่องพิมพ์ความร้อน TTL ขนาดเล็ก dafruit.com/product/597
  • โมดูลกล้อง Raspberry Pi 1x
  • 1x Mini Camera (CSI) สายเคเบิล 15 พิน shop.pimoroni.com/cable-raspberry-pi-zero-edition
  • 1x M12 กล้อง เลนส์ (ระยะโฟกัสใดก็ได้ที่คุณต้องการ)
  • 1x M12 บอร์ด เลนส์ ผู้ถือ m12lenses.com/M12-Lens-Holder-Plastic-p
  • 1x ปุ่มกด
  • พาวเวอร์แบงค์ 1x 5v / 3.5A (ขั้นต่ำ 3A) amazon.de/RAVPower5v3A
  • 1x 4700uF ตัวเก็บประจุด้วยไฟฟ้า
  • 1x USBAdapter มุมขวา A ชายกับหญิง
  • อะแดปเตอร์แจ็คขนาด 1x 2.1 มม. เป็น USB
  • อะแดปเตอร์ 1x - แจ็ค 2.1 มม. ไปยังเทอร์มินัลบล็อกสกรู adafruit.com/368

การเดินสายไฟ

  • 1x ส่วนหัว MALE แบบแยกส่วน
  • 1x ส่วนหัว FEMALE แบบแยกส่วน
  • ขั้วต่อ 3x 2 ขา (ฉันใช้ตัวเชื่อมต่อดูปองท์)
  • Perfboard
  • สายไฟ

การประกอบ

  • 2x สกรู M3 x 6 มม. (6 มม. ~ 10 มม.)
  • 2x ถั่วเหลี่ยม (M3 1, 8mmx5, 5mm)
  • 2x สกรู M2 x 6 มม. (6 มม. ~ 10 มม.)

การพิมพ์

ม้วนกระดาษความร้อน (57 มม.)

ความพิเศษ

  • การ์ด SD 8GB (สำหรับ raspberrypi)
  • อะแดปเตอร์ Mini HDMI (สำหรับเชื่อมต่อ Zero W เข้ากับจอภาพ)
  • Mini USB เป็น USB (สำหรับเชื่อมต่อ Zero W กับแป้นพิมพ์)
  • ที่ชาร์จ USB 5v

เครื่องมือที่ใช้

  • ซอฟต์แวร์

    • ฟิวชั่น 360 autodesk.com/fusion-360
    • Raspbian Jessie Lite raspberrypi.org/downloads/raspbian
    • ImageMagick www.imagemagick.org
    • zj-58 CUPS โดย adafruit github.com/adafruit/zj-58
  • ฮาร์ดแวร์

    • พรูซา i3 mk3 prusa3d.com/original-prusa-i3-mk3
    • คีมย้ำสายไฟ (SN-28B)
    • เครื่องมือปอกสายไฟ
    • ดิจิตอลคาลิปเปอร์
    • ไขควงหลายตัว

ขั้นตอนที่ 2: การตั้งค่าซอฟต์แวร์และรหัส

การตั้งค่าซอฟต์แวร์และรหัส
การตั้งค่าซอฟต์แวร์และรหัส
การตั้งค่าซอฟต์แวร์และรหัส
การตั้งค่าซอฟต์แวร์และรหัส
การตั้งค่าซอฟต์แวร์และรหัส
การตั้งค่าซอฟต์แวร์และรหัส
การตั้งค่าซอฟต์แวร์และรหัส
การตั้งค่าซอฟต์แวร์และรหัส

สำหรับขั้นตอนนี้ คุณอาจต้องใช้แป้นพิมพ์ USB และจอภาพ HDMI การติดตั้งโมดูลกล้องลงใน Raspberry Pi จะเป็นประโยชน์อย่างยิ่ง เพื่อให้คุณทดสอบและตรวจสอบทุกอย่างทำงานได้

ติดตั้งระบบ

เรียกใช้ยูทิลิตี้ raspi-config:

$ sudo raspi-config

สำหรับโปรเจ็กต์นี้ ตัวเลือกนี้จำเป็น:

  • ตัวเลือกการเชื่อมต่อ -> เปิดใช้งานกล้อง
  • ตัวเลือกการเชื่อมต่อ -> ปิดการใช้งาน Serial
  • ตัวเลือกขั้นสูง -> ขยายระบบไฟล์

ใช้ raspi-config เพื่อตั้งค่าการเชื่อมต่อ Wi-Fi คุณจะต้องเชื่อมต่อเครือข่ายเพื่ออัพเกรดระบบและดาวน์โหลดซอฟต์แวร์ที่จำเป็น

ตัวเลือกเครือข่าย -> Wi-fi

คุณยังสามารถเปิดใช้งาน SSH เพื่อเข้าถึงระบบจากระยะไกลและทำการเปลี่ยนแปลงอย่างรวดเร็วได้

ตัวเลือกการเชื่อมต่อ -> เปิดใช้งาน SSH

ติดตั้งซอฟต์แวร์

กระบวนการสำหรับขั้นตอนนี้เป็นไปตามบทช่วยสอนนี้:

learn.adafruit.com/instant-camera-using-raspberry-pi-and-thermal-printer

$ sudo apt update

$ sudo apt ติดตั้ง git cups wirepi build-essential libcups2-dev libcupsimage2-dev

ติดตั้งตัวกรองแรสเตอร์สำหรับ CUPS จาก adafruit github

โคลน $ git

$ cd zj-58

$ ทำ $ sudo./install

ติดตั้งและตั้งค่าการพิมพ์เป็นค่าเริ่มต้นที่ระบบ CUPS เปลี่ยนค่า "baud" เป็น 9600 หรือ 19200 ตามที่จำเป็นสำหรับเครื่องพิมพ์ของคุณ (ของฉันคือ 19200)

$ sudo lpadmin -p ZJ-58 -E -v serial:/dev/ttyAMA0?baud=19200 -m zjiang/ZJ-58.ppd

$ sudo lpoptions -d ZJ-58

สคริปต์กล้อง

$ sudo apt-get ติดตั้ง imagemagick

การใช้ imagemagick เพื่อปรับปรุงคอนทราสต์และการตั้งค่าคอนทราสต์และความสว่างเริ่มต้นของกล้อง ลำดับการถ่ายภาพจะมีลักษณะดังนี้:

raspistill -t 200 -co 30 -br 75 -w 512 -h 388 -n -o - | แปลง - -grayscale Rec709Luminance -contrast jpg:- | lp

นี่คือพารามิเตอร์ที่ฉันพบว่าทำงานได้ดีที่สุดสำหรับกรณีของฉัน แต่คุณอาจต้องการแก้ไขค่าเหล่านั้น

ฉันใช้การกดแบบเดียวกันในการถ่ายภาพ aphot และยิงระบบ สคริปต์แยกการกดเพียงครั้งเดียวจากการกดแบบยาว (+4 วินาที)

กล้อง.sh

#!/bin/bash

SHUTTER=20 # เริ่มต้น GPIO ระบุ gpio -g mode $SHUTTER up while: do # ตรวจสอบปุ่มชัตเตอร์ถ้า [$(gpio -g read $SHUTTER) -eq 0]; จากนั้น # ต้องค้างไว้ 4+ วินาทีก่อนที่จะปิดระบบ… starttime=$(date +%s) while [$(gpio -g read $SHUTTER) -eq 0]; do if [$(($(วันที่ +%s)-starttime)) -ge 5]; จากนั้นปิด -h ตอนนี้ echo "ปิดเครื่อง" # รอให้ผู้ใช้ปล่อยปุ่มก่อนที่จะทำงานต่อในขณะที่ [$(gpio -g read $SHUTTER) -eq 0]; ทำต่อ; เสร็จสิ้น fi done if [$(($(date +%s)-starttime)) -lt 2]; จากนั้น echo "คลิกปิด" raspistill -t 1800 -co 30 -br 75 -w 512 -h 388 -n -o - | แปลง --grayscale Rec709Luminance -contrast jpg:- | lp # วันที่ +"%d %b %Y %H:%M" | lp fi sleep 1 fi sleep 0.3 เสร็จแล้ว

ตั้งค่าให้สคริปต์เริ่มทำงานโดยอัตโนมัติเมื่อระบบบู๊ต แก้ไขไฟล์ /etc/rc.local และคำสั่งต่อไปนี้ก่อนบรรทัดสุดท้าย "exit 0":

sh /home/pi/camera.sh

ใช้เส้นทางที่คุณบันทึกไฟล์สคริปต์

Raspberry Pi Zero W เปิดใช้งานความเข้ากันได้แบบอนุกรม

pi3-miniuart-bt สลับฟังก์ชัน Bluetooth Raspberry Pi 3 และ Raspberry Pi Zero W เพื่อใช้ mini UART (ttyS0) และกู้คืน UART0/ttyAMA0 เป็น GPIO 14 และ 15

หากต้องการปิดใช้งานออนบอร์ด Bluetooth และกู้คืน UART0/ttyAMA0 ผ่าน GPIO 14 และ 15 ให้แก้ไข:

$ sudo vim /boot/config.txt

เพิ่มที่ส่วนท้ายของไฟล์

dtoverlay=pi3-disable-bt

จำเป็นต้องปิดบริการระบบที่เริ่มต้นโมเด็มเพื่อไม่ให้ใช้ UART:

$ sudo systemctl ปิดการใช้งาน hciuart

ดูรายละเอียดเพิ่มเติมได้ที่:

ขั้นตอนที่ 3: เคสที่พิมพ์ 3 มิติ

เคสพิมพ์ 3 มิติ
เคสพิมพ์ 3 มิติ
เคสพิมพ์ 3 มิติ
เคสพิมพ์ 3 มิติ
เคสพิมพ์ 3 มิติ
เคสพิมพ์ 3 มิติ

ตัวเคสของกล้องได้รับการออกแบบมาเพื่อรักษาพื้นที่ให้มีขนาดเล็กกะทัดรัด โดยที่ส่วนประกอบต่างๆ จะพอดีและยึดเข้าด้วยกัน ดังนั้นจึงใช้สกรูได้ไม่มาก

การออกแบบแบ่งออกเป็น 3 ส่วน:

  • ฐานที่จัดสรรพาวเวอร์แบงค์
  • กล่องหลักที่บอร์ด Pi เครื่องพิมพ์และสายเคเบิลส่วนใหญ่เกิดขึ้น
  • กรวยเลนส์ที่โฮสต์เลนส์กล้อง

กล่องหลักและโคนเลนส์เหมาะสำหรับการพิมพ์และไม่ต้องการโครงสร้างรองรับ ฐานพิมพ์บนชิ้นเดียวโดยใช้วัสดุรองรับภายในแทน ฉันต้องการสร้างชิ้นส่วนที่แข็งแกร่งเพื่อรองรับโครงสร้างกล้อง

ฉันรวมไฟล์ stl ไว้ด้วย ดังนั้นคุณจึงสามารถพิมพ์หรือแก้ไขการออกแบบได้

ขั้นตอนที่ 4: วางสาย

วางสาย
วางสาย
วางสาย
วางสาย
วางสาย
วางสาย

สิ่งแรกที่ต้องทำคือการบัดกรีส่วนหัวของพินตัวผู้เข้ากับพอร์ต IO ของ Raspberry Pi

เมื่อคุณทำเสร็จแล้ว คุณสามารถดำเนินการต่อและเสียบ pi ลงในเขียงหั่นขนม และคุณพร้อมที่จะทดสอบการตั้งค่า

สำหรับการเดินสายส่วนประกอบ ฉันแยกการเชื่อมต่อโดยใช้ตัวเรือนแบบจีบ 2 พิน ดังนั้นในระหว่างกระบวนการประกอบ ส่วนประกอบต่างๆ สามารถแนบไปกับเคสแยกกันและเชื่อมต่อในภายหลังได้โดยไม่ยุ่งยาก ยังช่วยในการเปลี่ยนชิ้นส่วนในกรณีที่เกิดความเสียหายหรือสำหรับการอัพเกรดฮาร์ดแวร์

นำแจ็คบาร์เรลและเชื่อมต่อตัวเก็บประจุ 4700uF กับขั้ว + และ - วิธีนี้จะช่วยให้แรงดันไฟฟ้าคงที่เมื่อเครื่องพิมพ์เทอร์มอลทำงาน ตรวจสอบให้แน่ใจว่าขาขั้วลบ (สั้นกว่า) ของตัวเก็บประจุติดอยู่กับขั้วลบของขั้ว ไม่ใช่อีกทางหนึ่ง

เชื่อมต่อกับแจ็คแบบบาร์เรลและตัวเก็บประจุ สายไฟสำหรับแหล่งจ่ายไฟของเครื่องพิมพ์ และ Raspberry Pi Zero W

สำหรับการป้อน Pi ฉันบัดกรี +5V ไปที่ PP1 และต่อกราวด์จากแหล่งจ่ายไฟไปยัง PP6 ที่ด้านหลังของบอร์ด ด้านล่างของแหล่งจ่ายไฟ USB

ฉันหยิบแผ่นไม้อัดหนึ่งชิ้นแล้วขายส่วนหัวพินตัวเมีย 2 อันบนนั้นดังนั้นก่อนอื่นให้หมุด Pi IO บนบอร์ด perftboard นั้น คุณสามารถเชื่อมต่อปุ่มกดและสายข้อมูลเครื่องพิมพ์ได้

เชื่อมต่อปุ่มกดกับกราวด์ GND (พิน 34) และ BCM 20 (พิน 38)

สำหรับเครื่องพิมพ์ให้ทำตามคำสั่งนี้:

  • เครื่องพิมพ์ GND -> Raspberry Pi GND (พิน 6)
  • เครื่องพิมพ์ RX -> Raspberry Pi TXD (พิน 8, BCM 14, ส่ง UART)
  • เครื่องพิมพ์ TX -> Raspberry Pi RXD (พิน 10, BCM 15, รับ UART)

ตรวจสอบ Raspberry Pi IO สำหรับข้อมูลเพิ่มเติม:

ขั้นตอนที่ 5: การประกอบ

การประกอบ
การประกอบ
การประกอบ
การประกอบ
การประกอบ
การประกอบ

กระบวนการประกอบตรงไปตรงมา

พาวเวอร์แบงค์จะพอดีกับฐานของเคสและไม่ขยับ แต่สามารถถอดชาร์จหรือเปลี่ยนได้ง่าย

ฉันพิมพ์หมุดสองสามตัวเพื่อติดบอร์ด Raspberry Pi กับเคสและเพื่อเชื่อมต่อเลนส์มาที่เคสที่เหลือเช่นกัน

มีพื้นที่ไม่มากสำหรับสายเคเบิลและส่วนประกอบทั้งหมด คุณต้องจัดระเบียบพื้นที่ แต่ทุกอย่างพอดีภายใน

สำหรับการปิดเคส ฐานและกล่องหลักจะมีแถบด้านหลังสองอันที่พอดีกัน ด้านหน้ามีช่องใส่สกรูสำหรับยึดกล่อง

ขั้นตอนที่ 6: ในที่สุด! ยิง ยิง ยิง…