Sommario:

Iris sensibile alla luce: 4 passaggi
Iris sensibile alla luce: 4 passaggi

Video: Iris sensibile alla luce: 4 passaggi

Video: Iris sensibile alla luce: 4 passaggi
Video: IL MISTERO DELLA CREMA AMICA E I MESSAGGI BRUTTI DI JOHNNY. (il processo, giorno 2) 2024, Novembre
Anonim
Image
Image
Iris sensibile alla luce
Iris sensibile alla luce

Questo tutorial mostra come creare un diaframma a iride che, come l'iride umana, si dilata in condizioni di scarsa illuminazione e si restringe in ambienti con luce intensa.

Passaggio 1: stampa 3D

Stampa 3D
Stampa 3D
Stampa 3D
Stampa 3D
Stampa 3D
Stampa 3D

Il processo di produzione per i componenti stampati in 3D di questa build potrebbe avere una propria pagina tutorial, e infatti, è quello che ho usato per realizzarli:

www.thingiverse.com/thing:2019585

Ho incluso i file qui per comodità.

Alcune note su questo esempio, le lame (o foglie) dell'iride sono state effettivamente prodotte con una stampante in resina utilizzando gli stessi file a causa delle limitazioni della stampante 3D. Inoltre, l'intera stampa è stata ingrandita del 10%. Far lavorare insieme i pezzi ha richiesto un po' di lavoro sui dettagli, ho finito per modellare molto i pezzi con carta vetrata fine, un taglierino e una punta da trapano.

Altre iridi che ho studiato durante questo processo:

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

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

Passaggio 2: parti

Parti
Parti
Parti
Parti
Parti
Parti

Le immagini mostrano le parti di cui avrai bisogno così come alcuni degli strumenti e dei materiali che ho usato per costruire il modello mostrato nella galleria:

- Diaframma ad iride stampato in 3D

- Servomotore Futaba S3003

- Micro controller Arduino UNO

- Resistenza dipendente dalla luce: resistenza al buio 1M ohm / resistenza alla luce 10 ohm – 20k ohm

- Potenziometro analogico da 10k ohm

- Resistenza da 500 ohm

- PCB (circuito stampato)

- intestazioni (cinque)

- filo: nero, rosso, bianco e giallo

- fili del connettore dupont (due)

- saldatore (e saldatore)

-multimetro

- cesoie per fili

La struttura che ospita questo prototipo è stata realizzata con MDF, compensato da 3/4 di pollice, colla per legno, pistola per colla a caldo, filo rigido (da un appendiabiti e una graffetta), oltre a vari trapani e punte, una sega da tavolo e un sega a nastro, levigatrice elettrica e molti tentativi ed errori. L'oggetto delle foto è la terza iterazione.

Passaggio 3: costruzione del circuito/alloggiamento

Costruzione del circuito/alloggiamento
Costruzione del circuito/alloggiamento
Costruzione del circuito/alloggiamento
Costruzione del circuito/alloggiamento
Costruzione del circuito/alloggiamento
Costruzione del circuito/alloggiamento

Ho avuto un enigma in stile "uovo e pollo" durante la progettazione di questo aspetto. Dal momento che non ho esperienza con gli schemi elettronici, preferisco pensare al circuito in termini di configurazione effettiva o pseudo-schematico. Ho scoperto che l'architettura sia dell'alloggiamento in MDF/compensato che del cablaggio si limitavano a vicenda in modi inaspettati. Ho cercato di inventare qualcosa che fosse visivamente semplice e autonomo.

-Il potenziometro era un'idea in fase avanzata durante il brainstorming per aggiungere un regolatore di "sensibilità", poiché le condizioni di illuminazione ambientale possono variare notevolmente, il potenziometro e il resistore insieme prendono il posto di un normale resistore nell'aspetto del divisore di tensione del circuito. Non posso entrare nei dettagli su questo perché non so davvero come funziona.

-La parte verticale dell'alloggiamento (in MDF) è leggermente inclinata. Per ruotare sullo stesso piano dell'iride, ho usato una levigatrice a nastro da tavolo per creare lo stesso angolo sul supporto del servo in legno che ho incollato alla base in compensato.

-Ho anche scoperto che il servo preferiva sollevare la scheda MDF dalla base invece di articolare l'iride, quindi ho aggiunto una graffa fermacavi che si inserisce nella parte anteriore per bloccare i due pezzi. Già che ci ero, ho aggiunto i pin per la scheda Arduino dallo stesso filo. A proposito, il filo che collega il braccio dell'attuatore al servo è una graffetta.

-L'iride si adatta perfettamente all'MDF, ma ho anche aggiunto una goccia di colla a caldo per evitare che l'intero alloggiamento ruoti nella presa invece del solo braccio dell'attuatore. Ciò ha richiesto un allineamento più preciso del braccio della leva del servo di quanto mi aspettassi. Ciò che è probabilmente ovvio per molti usando questo tutorial, anche se inaspettato per me quando ho iniziato, è che la rotazione del servo e la rotazione dell'iride è 1:1. Ho dovuto realizzare una piccola estensione del braccio di plastica per il servo per ottenere lo stesso raggio del braccio dell'attuatore dell'iride. Il codice originariamente sfruttava appieno il potenziale di rotazione del servo, ma alla fine ho misurato la rotazione effettiva dell'iride, quindi, attraverso tentativi ed errori, ho trovato un valore personalizzato per i gradi di rotazione del servo che ha ottenuto un effetto interessante.

- Molte delle connessioni di cablaggio importanti sono nascoste sotto il PCB nelle immagini. Ho dimenticato di scattare una foto di quel lato del PCB prima di incollarlo a caldo sull'MDF. Questo è per il meglio, dal momento che nessuno dovrebbe copiare il casino che ho nascosto sotto quel piccolo pezzo di PCB. Il mio obiettivo per il PCB era quello di avere intestazioni per i connettori da 5 volt, terra e servo in modo che i pezzi potessero facilmente staccarsi per la risoluzione dei problemi imprevisti in futuro, una caratteristica che è stata utile. Ho indicato l'orientamento corretto per i connettori dell'intestazione con un pezzo di nastro adesivo sull'MDF accanto al PCB, anche se suppongo che avrei potuto scrivere direttamente sull'MDF… mi sembrava la cosa giusta da fare in quel momento.

Passaggio 4: codice

Codice
Codice

#include // libreria servo

Servo servizio; //dichiarazione del nome del servo

int sensorePin = A1; // seleziona il pin di input per LDR

int valoresensore = 0; // variabile per memorizzare il valore proveniente dal sensore

int timeOUT = 0; //variabile per servo

int angolo = 90; //variabile per memorizzare gli impulsi

configurazione nulla()

{

serv.attach(9); // collega il servo sul pin 9 all'oggetto servo Serial.begin(9600); //imposta la porta seriale per la comunicazione

}

ciclo vuoto()

{

sensorValue = analogRead(sensorPin); // legge il valore dal sensore

Serial.println(sensorValue); //stampa sullo schermo i valori provenienti dal sensore

angolo = map(sensorValue, 1023, 0, 0, 88); // converte i valori digitali in gradi di rotazione per il servo

serv.write(angolo); //fa muovere il servo

ritardo(100);

}

Consigliato: