Table des matières:

Iris sensible à la lumière : 4 étapes
Iris sensible à la lumière : 4 étapes

Vidéo: Iris sensible à la lumière : 4 étapes

Vidéo: Iris sensible à la lumière : 4 étapes
Vidéo: Au coeur des organes : L’œil et la vision 2024, Novembre
Anonim
Image
Image
Iris sensible à la lumière
Iris sensible à la lumière

Ce didacticiel montre comment créer un diaphragme à iris qui, comme l'iris humain, se dilatera dans des conditions de faible luminosité et se contractera dans des environnements très lumineux.

Étape 1: Impression 3D

impression en 3D
impression en 3D
impression en 3D
impression en 3D
impression en 3D
impression en 3D

Le processus de fabrication des composants imprimés en 3D de cette construction pourrait avoir sa propre page de tutoriel, et en fait, c'est ce que j'avais l'habitude de faire:

www.thingverse.com/thing:2019585

J'ai inclus les fichiers ici pour plus de commodité.

Quelques notes sur cet exemple, les lames (ou feuilles) de l'iris ont en fait été produites avec une imprimante à résine utilisant les mêmes fichiers en raison des limitations de l'imprimante 3D. De plus, l'impression entière a été agrandie de 10 %. Faire travailler les pièces ensemble a demandé un travail de détail, j'ai fini par beaucoup façonner les pièces avec du papier de verre fin, un couteau tout usage et une mèche.

Autres iris que j'ai étudiés au cours de ce processus:

souzoumaker.com/blog-1/2017/8/12/mechanica…

www.instructables.com/id/How-to-make-a-12-…

Étape 2: Pièces

les pièces
les pièces
les pièces
les pièces
les pièces
les pièces

Les images montrent les pièces dont vous aurez besoin ainsi que certains des outils et matériaux que j'ai utilisés pour construire le modèle présenté dans la galerie:

- Diaphragme à iris imprimé en 3D

- Servomoteur Futaba S3003

- Micro-contrôleur Arduino UNO

- Résistance dépendante de la lumière: résistance sombre 1M ohm / résistance légère 10 ohm – 20k ohm

- Potentiomètre analogique 10k ohms

- Résistance de 500 ohms

- PCB (circuit imprimé)

- en-têtes (cinq)

- fil: noir, rouge, blanc et jaune

- fils de connecteur dupont (deux)

- fer à souder (et soudure)

-multimètre

- des cisailles à fil

La structure qui abrite ce prototype a été fabriquée avec du MDF, du contreplaqué 3/4 de pouce, de la colle à bois, un pistolet à colle chaude, du fil rigide (provenant d'un cintre et d'un trombone), ainsi que diverses perceuses et mèches, une scie à table et un scie à ruban, ponceuse électrique et beaucoup d'essais et d'erreurs. L'objet des photos est la troisième itération.

Étape 3: Construire le circuit/logement

Construction du circuit/logement
Construction du circuit/logement
Construction du circuit/logement
Construction du circuit/logement
Construction du circuit/logement
Construction du circuit/logement

J'ai eu une énigme de style "poulet et œuf" lors de la conception de cet aspect. Comme je n'ai pas d'expérience avec les schémas électroniques, je préfère penser au circuit en termes de configuration réelle, ou pseudo-schéma. J'ai découvert que l'architecture du boîtier en MDF/contreplaqué et du câblage se contraignaient mutuellement de manière inattendue. J'ai essayé de trouver quelque chose qui soit visuellement simple et autonome.

-Le potentiomètre était une idée tardive lors du brainstorming pour ajouter un ajusteur de "sensibilité", car les conditions d'éclairage ambiant peuvent varier considérablement, le potentiomètre et la résistance prennent ensemble la place d'une résistance normale dans l'aspect diviseur de tension du circuit. Je ne peux pas entrer dans les détails à ce sujet car je ne sais pas vraiment comment tout cela fonctionne.

-La partie verticale du boîtier (en MDF) est légèrement inclinée. Afin de tourner dans le même plan que l'iris, j'ai utilisé une ponceuse à bande montée sur table pour créer le même angle sur le support de servo en bois que j'ai collé à la base en contreplaqué.

-J'ai également trouvé que le servo préférait soulever la carte MDF de la base au lieu d'articuler l'iris, j'ai donc ajouté une agrafe de retenue de fil qui s'insère à l'avant pour verrouiller les deux pièces. Pendant que j'y étais, j'ai ajouté des broches pour la carte Arduino à partir du même fil. Soit dit en passant, le fil reliant le bras de l'actionneur au servo est un trombone.

-L'iris s'adapte parfaitement au MDF, mais même quand même, j'ai ajouté un cordon de colle chaude pour empêcher tout le boîtier de tourner dans la douille au lieu du seul bras de l'actionneur. Cela a nécessité un alignement plus précis du bras de levier du servo que ce à quoi je m'attendais. Ce qui est probablement évident pour beaucoup d'utilisateurs de ce tutoriel, bien qu'inattendu pour moi quand j'ai commencé, c'est que la rotation du servo et la rotation de l'iris est de 1:1. J'ai dû faire une petite extension de bras en plastique pour que le servo puisse atteindre le même rayon que le bras de l'actionneur d'iris. Le code tirait à l'origine pleinement parti du potentiel de rotation du servo, mais j'ai fini par mesurer la rotation réelle de l'iris, puis, par essais et erreurs, j'ai trouvé une valeur personnalisée pour les degrés de rotation du servo qui a obtenu un effet intéressant.

- La plupart des connexions de câblage importantes sont cachées sous le PCB dans les images. J'ai oublié de prendre une photo de ce côté du PCB avant de le coller à chaud sur le MDF. C'est pour le mieux, puisque personne ne doit copier le désordre que j'ai caché sous ce petit morceau de PCB. Mon objectif pour le PCB était d'avoir des en-têtes pour les connecteurs 5 volts, terre et servo afin que les pièces puissent facilement se séparer pour un dépannage imprévu à l'avenir, une fonctionnalité qui s'est avérée utile. J'ai indiqué l'orientation correcte des connecteurs d'en-tête avec un morceau de ruban adhésif sur le MDF à côté du PCB, bien que je suppose que j'aurais pu écrire directement sur le MDF… cela semblait être la bonne chose à faire à l'époque.

Étape 4: Coder

Code
Code

#include // bibliothèque d'asservissement

Servoserv; //déclaration du nom du servo

int capteurPin = A1; // sélectionne la broche d'entrée pour LDR

int sensorValue = 0; // variable pour stocker la valeur provenant du capteur

int timeOUT = 0; //variable pour le servo

angle entier = 90; //variable pour stocker les impulsions

void setup()

{

serv.attach(9); // attache le servo sur la broche 9 à l'objet servo Serial.begin (9600); //définit le port série pour la communication

}

boucle vide()

{

sensorValue = analogRead(sensorPin); // lit la valeur du capteur

Serial.println(sensorValue); //imprime les valeurs provenant du capteur sur l'écran

angle = map(sensorValue, 1023, 0, 0, 88); //convertit les valeurs numériques en degrés de rotation pour le servo

serv.write(angle); //fait bouger le servo

retard (100);

}

Conseillé: