Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Ich fand ein dringendes Bedürfnis, alte Filmnegative schnell ansehen und aufnehmen zu können. Ich hatte mehrere Hundert zu sortieren…
Mir ist bewusst, dass es verschiedene Apps für mein Smartphone gibt, aber ich konnte keine zufriedenstellenden Ergebnisse erzielen, also habe ich mir das ausgedacht…
Ich wollte sie in Echtzeit als tatsächliche Bilder anzeigen können. Ich kann die Negative manuell sortieren und nur die aufnehmen, die ich möchte.
Ich habe eine grobe Box für den 3D-Druck gemacht, um die Elektronik unterzubringen.
Ich habe auch meinen LCD-Fernseher verwendet, um die Bilder anzusehen
Lieferungen
30mm Arcade-Tasten
Raspberry PI 3B günstiger als Amazon (zum Zeitpunkt des Schreibens)
RPi-Kamera
Weiße LEDs
Connector - Ich habe verwendet, was ich hatte. Es gibt bessere Möglichkeiten
Steckerstifte
Bildschirm, den ich zum Testen verwendet habe
#4 Schrauben
2-56 Schrauben
Wasserklarer Acrylkleber
Schritt 1: Der Kameraadapter
Ich entschied mich für einen beiliegenden Kameraadapter, der mit einem Raspberry Pi-Kameramodul zusammenarbeitet, um jedes Negativ für eine schnelle Betrachtung zu isolieren.
Ich begann mit verschiedenen Messungen der Filmnegative sowie der ungefähren Brennweite.
Ich habe dann ein einfaches Horn modelliert, das aus schwarzem Kunststoff gedruckt werden soll. Als Brennweite habe ich 44mm verwendet.
Die kritischen Maße waren die Größe des Negativs und die Befestigungslöcher für die Kamera.
Die Pi-Kamera ist mit Squishy-Schaum auf der Platine befestigt. Nicht ideal. Ich musste einige Unterlegscheiben aus Karton machen, um dies zu korrigieren. Die Bilder sind ansonsten keine perfekten Rechtecke.
Ich habe ABS verwendet, das beim Drucken auf meiner Maschine eine flache bis halbflache Oberfläche hat, die Reflexionen reduziert, die wiederum einen schlechten Einfluss auf die Druckqualität haben könnten.
Schritt 2: Lichtpanel
Ich habe versucht, ein Panel aus gedruckten Materialien zu erstellen, aber dies hatte eine schlechte Leistung
Ich habe dann ein 6-mm-Stück Lexan mit an den Kanten befestigten LEDs verwendet, um eine Lichtplatte herzustellen.
Das Lichtpanel ist für optimale Fotos ziemlich kritisch.
Es muss gleichmäßiges Licht ohne heiße Stellen haben.
WICHTIG: Oberflächenfehler im Lexan brechen und reflektieren das Licht. Die Kratzer vom Schleifen müssen so fein wie möglich sein für einen gleichmäßigen Glanz.
Das Panel ist so bemessen, dass es auf die Unterseite des Negativ-Viewers passt, 50 mm pro Seite. Die Befestigungslöcher sind für eine sichere Befestigung an der Unterseite des Viewers markiert, 3,5 mm von den Kanten entfernt. Die Löcher werden mit einem Stufenbohrer gebohrt, um ein Reißen des Kunststoffs zu verhindern.
Die Löcher sind für # 4 Schrauben ausgelegt
Die vom Filmstreifen abgewandte Seite muss mattiert sein. Die Unvollkommenheiten in der Oberfläche reflektieren das Licht, um eine gleichmäßig beleuchtete Platte zu erzeugen.
Ich habe auf einer glatten Oberfläche eine zunehmende Körnung von Blatt Sandpapier verwendet, um den mattierten Look zu erhalten. Es ist wichtig, keine Kratzer oder Rillen in der Oberfläche zu haben, da dies auf dem gewünschten Foto als Kratzer oder Markierungen sichtbar wird.
Ich ging nach und nach von 150er Körnung auf 800er Körnung.
Ich hatte keine Top-Hut-LEDs, also machte ich meine eigenen, indem ich die Oberflächenkuppel mit einem Bandschleifer berührte. Es ist wichtig, die Einbauten nicht freizulegen, ich habe mindestens 1 mm Acryl gelassen, das die Oberseite bedeckt.
Diese wurden dann auf der Kante des Lexan ausbalanciert und ein Tropfen wasserdünner Acrylkleber wurde verwendet, um die Teile zusammenzukleben. Die Verbindung ist ziemlich augenblicklich und der Klebstoff füllt die Unvollkommenheiten aus, so dass die LED wie ein Teil des Lexan aussieht.
Ich habe 6 pro Seite verwendet.
Ich habe sie in 2 parallelen 6er-Streifen an einen 100-Ohm-Strombegrenzungswiderstand auf der positiven Seite gelötet, dann hat dieser einen Draht zu einem Anschluss, der an Pin2 (+5V) der GPIO-Erweiterung auf einem Raspberry Pi-Board angeschlossen ist
Die negative Seite hat einen Draht, der über Pin6 der GPIO-Erweiterung direkt auf Masse geht.
Schritt 3: Auswahltasten
Es sind nur 2 Operationen von diesem Gerät aus erforderlich.
Die erste besteht darin, dem Bediener zu ermöglichen, Bilder anzuzeigen und aufzuzeichnen.
Die zweite ist eine Möglichkeit, das Programm zu beenden, wenn es fertig ist.
Ich habe mich dafür entschieden, einen grünen Knopf zum Aufnehmen und einen roten zum Beenden zu verwenden.
Programmierweise habe ich mich für die Verwendung von GPIO 23 und 24 entschieden. Dies ist an den Kopfstiften 14, 16, 18 und 20 verdrahtet. Die Drähte sind mit den Schaltern codiert.
Ich hatte eine Reihe von Buttonboxen, die von einem Kundenbau übrig geblieben waren, also habe ich einen als Testgerät verwendet.
Ich habe die falsche Datei gedruckt, die nicht den Ausschnitt für die Kamera hatte, also musste ich meine manuell erstellen. Ich habe die richtigen Dateien im folgenden Schritt eingefügt.
Schritt 4: Schutzhülle
Ich habe dies für Funktion über Form modelliert. Die Linien sind einfach und auf den meisten Maschinen problemlos gedruckt.
Das Gehäuse wurde mit spärlichem Inneren bedruckt, aber es fühlt sich immer noch hochwertig an. Die Dicke sorgt für Stabilität und die Größe ist einfach zu verwenden.
Idealerweise hätte ich das Sehhorn horizontal montiert, ich hatte Hardware-Einschränkungen, die dies verhinderten.
Schritt 5: Einfacher Code zum Testen
Ich habe den Code von RaspberryPi.org gesampelt, um dies betriebsbereit zu machen.
"Standardmäßig ist die Bildauflösung auf die Auflösung Ihres Monitors eingestellt. Die maximale Auflösung beträgt 2592×1944 für Standbilder."
Dies wurde verwendet, um die optimale Brennweite der Kamera zu finden. Ich habe eine Nadelnase verwendet, um die Linse auf dem Modul einzustellen. Ein Makroobjektiv wäre ideal, aber ich konnte es nicht rechtzeitig liefern.
Die Oberseite des Fokusgehäuses ist für die Raspberry Pi V2-Kamera ausgelegt. es wird mit 4 - 2/56 Schrauben befestigt.
Den folgenden Code habe ich zum Testen verwendet…
aus picamera import PiCamerafrom time import sleep
Kamera = PiCamera()
Kamera.start_preview()
camera.awb_mode = 'auto'
camera.image_effect = 'negativ'
schlafen(150)
camera.capture('/home/pi/Desktop/negative.jpg')
Kamera.stop_preview()
Schritt 6: Programmcode
Öffnen Sie zuerst ein Terminalfenster und erstellen Sie ein neues Verzeichnis, geben Sie "mkdir Conversions" ein
Öffnen Sie eine Python-IDE
Geben Sie den folgenden Code ein:
von picamera
PiCamerafrom Zeit importieren Schlaf importieren
aus gpiozero-Import-Button
Taste = Taste(23)
Taste1 = Taste(24)
Kamera = PiCamera()
camera.awb_mode = 'auto'
camera.image_effect = 'negativ'
Kamera.start_preview()
Bild = 1
während Wahr:
Versuchen:
if button1.is_pressed:
Kamera.stop_preview()
brechen
if button.is_pressed:
camera.capture('/home/pi/conversions/Convertion%03d.jpg' % Bild)
Bild += 1
außer
Tastaturunterbrechung:
Kamera.stop_preview()
brechen
Schritt 7:
Führen Sie den Code in der IDE aus
Die grüne Taste nimmt ein Standbild des Negativs auf und speichert es im internen Speicher.
Die Bilder werden im Konvertierungsverzeichnis gespeichert.
Ich habe sie auf ein USB-Laufwerk verschoben und dann auf meinen Computer zur Bearbeitung in Photoshop.
Die rote Taste beendet das Programm. Ein Keyboard-Kit wird es auch tun.
Schritt 8: Programmoptimierungen
Ich habe das Programm so angepasst, dass eine bessere Bildqualität gespeichert wird
von picamera
import PiCamerafrom time import sleep from gpiozero
Import Schaltfläche Import Datum/Uhrzeit
Importzeit
#Datumscode zum Speichern von Bildern date = datetime.datetime.now().strftime("%d_%H_%M_%S")
# grüner Knopf
Taste = Taste(23)
# roter Knopf
Taste1 = Taste(24)
Kamera = PiCamera()
# Kamerabildanpassung und Anzeige auf dem Monitor
Kamera. Auflösung = (2592, 1944)
camera.awb_mode = 'auto'
camera.image_effect = 'negativ'
# Bild zum Monitor anzeigen
Kamera.start_preview()
# Bildspeicherungsschritt
Bild = 1
während Wahr:
Versuchen:
# rote Exit-Taste
if button1.is_pressed:
#Kamera herunterfahren
Kamera.stop_preview()
brechen
# grüne Taste erfassen
if button.is_pressed:
# Speicherort und Formatierung des Bildes speichern
camera.capture('/home/pi/conversions/conversion'+ Datum + '%03d.jpg' % Bild)
# Bildspeicherungsschritt
Bild += 1
# Tastaturprogramm beenden
außer KeyboardInterrupt:
#Kamera herunterfahren
Kamera.stop_preview()
brechen
Zweiter Platz beim Raspberry Pi Contest 2020