Table des matières:

Vérificateur d'obturation d'appareil photo Arduino : 4 étapes
Vérificateur d'obturation d'appareil photo Arduino : 4 étapes

Vidéo: Vérificateur d'obturation d'appareil photo Arduino : 4 étapes

Vidéo: Vérificateur d'obturation d'appareil photo Arduino : 4 étapes
Vidéo: 📷 #4 : La vitesse d'obturation 2024, Juillet
Anonim
Vérificateur d'obturation d'appareil photo Arduino
Vérificateur d'obturation d'appareil photo Arduino
Vérificateur d'obturation d'appareil photo Arduino
Vérificateur d'obturation d'appareil photo Arduino

Récemment, j'ai acheté deux vieux appareils photo argentiques. Après les avoir nettoyés, j'ai réalisé que la vitesse d'obturation pouvait être retardée par la poussière, la corrosion ou le manque d'huile, j'ai donc décidé de faire quelque chose pour mesurer le temps d'exposition réel de n'importe quel appareil photo, car, à mes yeux, je ne peux pas le mesurer précisément. Ce projet utilise Arduino comme composant principal pour mesurer le temps d'exposition. Nous allons faire un couple opto (LED IR et photo-transistor IR) et lire combien de temps l'obturateur de la caméra est ouvert. Tout d'abord, j'expliquerai la manière rapide d'atteindre notre objectif et, à la fin, nous verrons toute la théorie derrière ce projet.

Liste des composants:

  • 1 x appareil photo
  • 1 x Arduino Uno
  • 2 x 220 Ω Résistance film carbone
  • 1 x LED infrarouge
  • 1 x phototransistor
  • 2 x petites planches à pain (ou 1 grande planche à pain, assez grande pour contenir la caméra au centre)
  • De nombreux cavaliers ou câble

*Ces composants supplémentaires sont nécessaires pour la section d'explication

  • 1 x LED de couleur normale
  • 1 x bouton poussoir momentané

Étape 1: Matériel de câblage

Câblage
Câblage
Câblage
Câblage
Câblage
Câblage

Tout d'abord, fixez la LED IR dans une planche à pain et le phototransistor IR dans l'autre afin que nous puissions les faire face. Connectez une résistance de 220 Ω à l'anode LED (la jambe longue ou le côté sans bordure plate) et connectez la résistance à l'alimentation 5V de l'Arduino. Connectez également la cathode LED (jambe courte ou le côté avec la bordure plate) à l'un des ports GND de l'Arduino.

Ensuite, câblez la broche du collecteur sur le phototransistor (pour moi, c'est la jambe courte, mais vous devriez vérifier la fiche technique de votre transistor pour vous assurer que vous la câblez dans le bon sens ou vous risquez de faire exploser le transistor) à la résistance de 220 Ω et la résistance à la broche A1 de l'Arudino, puis connectez la broche émetteur du phototransistor (la jambe longue ou celle sans bord plat). De cette façon, la LED IR est toujours allumée et le phototransistor est réglé comme un interrupteur de puits.

Lorsque la lumière IR arrive au transistor, elle permet au courant de passer de la broche du collecteur à la broche de l'émetteur. Nous allons régler la broche A1 sur l'entrée pull-up, donc, la broche sera toujours à l'état haut à moins que le transistor ne réduise le courant à la masse.

Étape 2: Programmation

Configurez votre IDE Arduino (port, carte et programmeur) pour qu'il corresponde à la configuration requise pour votre carte Arduino.

Copiez ce code, compilez et téléchargez:

int readPin = A1; // broche où est connectée la résistance 330 du phototransistor

int ptValue, j; //le point de stockage des données lues depuis analogRead() bool lock; //un bolean utilisé pour lire l'état du timer long non signé readPin, timer2; lecture double; Chaîne select[12] = {"B", "1", "2", "4", "8", "15", "30", "60", "125", "250", "500", "1000"}; longtemps attendu [12] = {0, 1000, 500, 250, 125, 67, 33, 17, 8, 4, 2, 1}; void setup(){ Serial.begin(9600); //nous définissons la communication série à 9600 bits par seconde pinMode(readPin, INPUT_PULLUP); // nous allons régler la broche toujours haute sauf lorsque le phototransistor est en train de couler, nous avons donc "inversé" la logique // cela signifie HAUT = pas de signal IR et BAS = retard de réception du signal IR (200); //ce délai sert à laisser le système démarrer et à éviter les fausses lectures j = 0; //initialisation de notre compteur } void loop(){ lock = digitalRead(readPin); // lire l'état de la broche donnée et l'affecter à la variable if (!lock){ // ne s'exécute que lorsque la broche est LOW timer = micros(); //définir la minuterie de référence pendant (!lock){ //faire ceci pendant que la broche est FAIBLE, en d'autres termes, l'obturateur open timer2 = micros(); // prendre un échantillon de temps écoulé lock = digitalRead(readPin); //lire l'état de la broche pour savoir si l'obturateur s'est fermé } Serial.print("Position: "); //ce texte sert à afficher les informations demandées Serial.print(select[j]); Serial.print(" | "); Serial.print("Heure d'ouverture: "); lu = (timer2 - timer); //calculer combien de temps l'obturateur a été ouvert Serial.print (lu); Serial.print("nous"); Serial.print(" | "); Serial.print("Attendu: "); Serial.println(attendu[j]*1000); j++;// augmenter la position de l'obturateur, cela pourrait être fait avec un bouton } }

Une fois le téléchargement terminé, ouvrez le moniteur série (Outils -> Moniteur série) et préparez la caméra pour les lectures

Les résultats sont affichés après les mots « heure d'ouverture: », toutes les autres informations sont préprogrammées.

Étape 3: Configuration et mesure

Configuration et mesure
Configuration et mesure
Configuration et mesure
Configuration et mesure
Configuration et mesure
Configuration et mesure
Configuration et mesure
Configuration et mesure

Retirez les objectifs de votre appareil photo et ouvrez le compartiment à film. Si vous avez déjà un film chargé, pensez à le terminer avant de faire cette procédure ou vous endommagerez les photos prises.

Placez la LED IR et le phototransistor IR sur les côtés opposés de la caméra, l'un sur le côté du film et l'autre sur le côté où se trouvaient les objectifs. Quel que soit le côté que vous utilisez pour la LED ou le transistor, assurez-vous simplement qu'ils ont un contact visuel lorsque l'obturateur est enfoncé. Pour ce faire, réglez l'obturateur sur "1" ou "B" et vérifiez le moniteur série lorsque vous "prenez" une photo. Si l'obturateur fonctionne bien, le moniteur devrait afficher une lecture. De plus, vous pouvez placer un objet opaque entre eux et le déplacer pour déclencher le programme de mesure.

Réinitialisez l'Arduino avec le bouton de réinitialisation et prenez des photos une par une à différentes vitesses d'obturation en commençant par "B" à "1000". Le moniteur série imprimera les informations après la fermeture de l'obturateur. A titre d'exemple, vous pouvez voir les temps mesurés à partir d'un appareil photo Miranda et Praktica sur les images ci-jointes.

Utilisez ces informations pour effectuer des corrections lors de la prise de photos ou diagnostiquer l'état de votre appareil photo. Si vous souhaitez nettoyer ou régler votre caméra, je vous recommande fortement de les envoyer à un technicien expert.

Étape 4: trucs de geeks

Trucs de geeks
Trucs de geeks
Trucs de geeks
Trucs de geeks
Trucs de geeks
Trucs de geeks
Trucs de geeks
Trucs de geeks

Les transistors sont la base de toute la technologie électronique que nous voyons aujourd'hui, ils ont été brevetés pour la première fois vers 1925 par un physicien germano-américain d'origine austro-hongroise. Ils ont été décrits comme un dispositif de contrôle du courant. Avant eux, nous devions utiliser des tubes à vide pour faire les opérations que font aujourd'hui les transistors (télévision, amplificateurs, ordinateurs).

Un transistor a la capacité de contrôler le courant circulant du collecteur à l'émetteur et nous pouvons contrôler ce courant, dans les transistors communs à 3 pattes, en appliquant un courant sur la grille du transistor. Dans la plupart des transistors, le courant de grille est amplifié, donc, par exemple, si nous appliquons 1 mA à la grille, nous obtenons 120 mA provenant de l'émetteur. On peut l'imaginer comme un robinet d'eau.

Le phototransistor est un transistor normal mais au lieu d'avoir une jambe de grille, la grille est connectée à un matériau photosensible. Ce matériau génère un faible courant lorsqu'il est excité par des photons, dans notre cas, des photons de longueur d'onde IR. Ainsi, nous contrôlons un phototransistor modifiant la puissance de la source lumineuse IR.

Il y a certaines spécifications que nous devons prendre en compte avant d'acheter et de câbler nos éléments. Ci-joint des informations extraites des fiches techniques des transistors et des LED. Tout d'abord, nous devons vérifier la tension de claquage du transistor qui est la tension maximale qu'il peut gérer, par exemple, ma tension de claquage de l'émetteur au collecteur est de 5V, donc si je le câble mal en fournissant 8V, je ferai frire le transistor. Vérifiez également la dissipation de puissance, cela signifie combien de courant peut fournir le transistor avant de mourir. Le mien dit 150mW. À 5V, 150mW signifie une source de 30 mA (Watts = V * I). C'est pourquoi j'ai décidé d'utiliser une résistance limiteur de 220, car, à 5V, une résistance de 220 Ω ne permet de faire passer qu'un courant max de 23 mA. (Loi d'Ohm: V = I * R). Le même cas vaut pour la LED, les informations de la fiche technique indiquent que son courant maximum est d'environ 50 mA, donc, une autre résistance de 220 Ω conviendra, car le courant de sortie maximum de notre broche Arduino est de 40 mA et nous ne voulons pas brûler les broches.

Nous devons câbler notre configuration comme celle de l'image. Si vous utilisez des boutons comme le mien, prenez soin de mettre les deux protubérances rondes au centre de la planche. Ensuite, téléchargez le code suivant sur l'Arduino.

int readPin = A1; //pin où est connectée la 220résistance du phototransistorint ptValue, j; //le point de stockage des données lues depuis analogRead() void setup() { Serial.begin(9600); } boucle vide() { ptValue = analogRead(readPin); // nous lisons la valeur de tension sur le readPin (A1) Serial.println(ptValue); //de cette façon, nous envoyons les données lues au moniteur série, afin que nous puissions vérifier ce qui se passe delay(35); //juste un délai pour faciliter les captures d'écran }

Après le téléchargement, ouvrez votre traceur série (Outils -> Traceur série) et regardez ce qui se passe lorsque vous appuyez sur le bouton de l'interrupteur LED IR. Si vous voulez vérifier si la LED IR fonctionne (également les télécommandes de télévision), placez simplement la caméra de votre téléphone portable devant la LED et prenez une photo. Si tout va bien, vous verrez une lumière bleu-violet provenant de la LED.

Dans le traceur série, vous pouvez différencier quand la LED est allumée et éteinte, sinon, vérifiez votre câblage.

Enfin, vous pouvez changer la méthode analogRead pour un digitalRead, de sorte que vous ne puissiez voir que 0 ou 1. Je suggère de faire un délai après le Setup() pour éviter une fausse lecture LOW, (image avec un petit pic LOW).

Conseillé: