Índice:

Íris sensível à luz: 4 etapas
Íris sensível à luz: 4 etapas

Vídeo: Íris sensível à luz: 4 etapas

Vídeo: Íris sensível à luz: 4 etapas
Vídeo: Canal no dente. ASSIM que é feito !! #shorts 2024, Novembro
Anonim
Image
Image
Íris sensível à luz
Íris sensível à luz

Este tutorial mostra como criar um diafragma de íris que, como a íris humana, se dilata em ambientes com pouca luz e se contraem em ambientes com muita luz.

Etapa 1: Impressão 3D

impressao 3D
impressao 3D
impressao 3D
impressao 3D
impressao 3D
impressao 3D

O processo de fabricação dos componentes impressos em 3D desta construção poderia ter sua própria página de tutorial e, de fato, é o que costumava fazer:

www.thingiverse.com/thing:2019585

Incluí os arquivos aqui por conveniência.

Algumas notas sobre este exemplo, as lâminas (ou folhas) da íris foram na verdade produzidas com uma impressora de resina usando os mesmos arquivos devido às limitações da impressora 3D. Além disso, toda a impressão foi aumentada em 10%. Fazer as peças funcionarem juntas exigiu alguns detalhes, acabei modelando bastante as peças com lixa fina, um canivete e uma broca.

Outras íris que investiguei durante este processo:

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

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

Etapa 2: peças

Peças
Peças
Peças
Peças
Peças
Peças

As imagens mostram as peças de que você precisa, bem como algumas das ferramentas e materiais que usei para construir o modelo mostrado na galeria:

- Diafragma de íris impresso em 3D

- Servo motor Futaba S3003

- Micro crontroller Arduino UNO

- Resistor dependente de luz: resistência ao escuro 1M ohm / resistência à luz 10 ohm - 20k ohm

- Potenciômetro analógico de 10k ohm

- resistor de 500 ohms

- PCB (placa de circuito impresso)

- cabeçalhos (cinco)

- fio: preto, vermelho, branco e amarelo

- fios do conector duplo (dois)

- ferro de solda (e solda)

-multímetro

- corta-fios

A estrutura que abriga este protótipo foi feita com MDF, contraplacado de 3/4 polegadas, cola de madeira, pistola de cola quente, arame rígido (de um cabide e um clipe de papel), além de várias brocas e brocas, uma serra de mesa e um serra de fita, lixadeira elétrica e muitas tentativas e erros. O objeto das fotos é a terceira iteração.

Etapa 3: Construindo o Circuito / Alojamento

Construindo o Circuito / Habitação
Construindo o Circuito / Habitação
Construindo o Circuito / Habitação
Construindo o Circuito / Habitação
Construindo o Circuito / Habitação
Construindo o Circuito / Habitação

Eu tive um enigma do estilo "galinha e ovo" ao projetar esse aspecto. Como não tenho experiência com esquemas eletrônicos, prefiro pensar no circuito em termos de sua configuração real, ou pseudo-esquemático. Descobri que a arquitetura tanto da caixa de MDF / compensado quanto da fiação estavam restringindo uma à outra de maneiras inesperadas. Tentei criar algo que fosse visualmente simples e independente.

-O potenciômetro foi uma ideia de estágio avançado durante o brainstorming para adicionar um ajustador de "sensibilidade", uma vez que as condições de iluminação ambiente podem variar muito, o potenciômetro e o resistor juntos tomam o lugar de um resistor normal no aspecto divisor de tensão do circuito. Não posso entrar em detalhes sobre isso porque realmente não sei como tudo funciona.

-A parte vertical da caixa (em MDF) é ligeiramente inclinada. Para girar no mesmo plano da íris, usei uma lixadeira de cinta montada em mesa para criar o mesmo ângulo na montagem do servo de madeira que colei na base de madeira compensada.

-Eu também descobri que o servo preferia levantar a placa de MDF da base em vez de articular a íris, então adicionei um grampo de retenção de fio que se insere na frente para travar as duas peças. Enquanto fazia isso, adicionei pinos para a placa Arduino com o mesmo fio. A propósito, o fio que conecta o braço atuador ao servo é um clipe de papel.

-A íris se encaixa perfeitamente no MDF, mas mesmo assim eu adicionei uma gota de cola quente para evitar que todo o alojamento gire no soquete em vez de apenas o braço atuador. Isso exigiu um alinhamento mais preciso do braço da alavanca do servo do que eu esperava. O que provavelmente é óbvio para muitos que usam este tutorial, embora inesperado para mim quando comecei, é que a rotação do servo e a rotação da íris são 1: 1. Tive que fazer uma pequena extensão de braço de plástico para o servo atingir o mesmo raio do braço do atuador da íris. O código originalmente aproveitou ao máximo o potencial rotacional do servo, mas acabei medindo a rotação real da íris, então, por tentativa e erro, encontrei um valor personalizado para graus de rotação do servo que obteve um efeito interessante.

- Muitas das conexões de fiação importantes estão ocultas sob o PCB nas imagens. Esqueci de tirar uma foto desse lado da placa de circuito impresso antes de colá-la a quente no MDF. Isso é o melhor, já que ninguém deve copiar a bagunça que escondi debaixo daquele pequeno pedaço de PCB. Meu objetivo para o PCB era ter cabeçalhos para os conectores de 5 volts, aterramento e servo para que as peças pudessem ser facilmente separadas para solução de problemas imprevistos no futuro, um recurso que veio a calhar. Indiquei a orientação adequada para os conectores de cabeçalho com um pedaço de fita adesiva no MDF ao lado do PCB, embora eu suponha que poderia ter escrito diretamente no MDF … parecia a coisa certa a fazer na hora.

Etapa 4: Código

Código
Código

#include // biblioteca servo

Servo serv; // declaração do nome do servo

int sensorPin = A1; // selecione o pino de entrada para LDR

int sensorValue = 0; // variável para armazenar o valor proveniente do sensor

int timeOUT = 0; // variável para servo

ângulo interno = 90; // variável para armazenar pulsos

void setup ()

{

serv.attach (9); // conecta o servo no pino 9 ao objeto servo Serial.begin (9600); // define a porta serial para comunicação

}

void loop ()

{

sensorValue = analogRead (sensorPin); // leia o valor do sensor

Serial.println (sensorValue); // imprime os valores provenientes do sensor na tela

ângulo = mapa (sensorValue, 1023, 0, 0, 88); // converte valores digitais em graus de rotação para o servo

serv.write (ângulo); // faz o servo se mover

atraso (100);

}

Recomendado: