Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

melchisedech333/laser-scanning-microscopy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

29 Commits

Repository files navigation





Note: this document is written in PT-BR


Caso seja de sua preferencia, voce tambem pode ler este texto no TabNews, ou no Medium.


Este projeto foi feito por pura diversao. A ideia dele e simplesmente capturar uma imagem de alguma coisa em escala microscopica, e olhar pra ela com um belo sorriso no rosto, porque e legal.

Como amostra utilizei uma lamina de silicio com a litografia de um microchip exposta. Onde foram capturadas imagens mostrando os pontos de contato do microchip.


IMAGE 1 IMAGE 2 IMAGE 3

Tendo em vista que em um espaco de 2mm cabem mais ou menos 10 pontos de contato (como mostra na imagem acima). Convertendo de milimetros para micrometros, temos entao 2000 micrometros. Dividindo 2000 micrometros por 10, temos o valor de 200 micrometros por ponto de contato. Podemos entao dizer que a imagem 1 capturada possui mais ou menos 200 micrometros.


O truque aqui e compreender o conceito de CLSM e entender que as coisas refletem luz, e que podemos capturar essa luz e com ela montar uma imagem em grayscale.


Vamos para o experimento...

O Conceito

Para conseguir realizar essa brincadeirinha divertida vamos ter que reproduzir o conceito de (CLSM) Confocal Laser Scanning Microscope. Portanto, para esclarecer as coisas, vamos ter em mente do que se trata este conceito.


Tudo comeca no laser, ele emite um feixe de luz que se choca com o chamado Beam Splitter, que e apenas um vidro transparente. Veja na imagem ao lado o que acontece quando uma luz de um laser se choca com um vidro.

Como e um vidro transparente, parte da luz simplesmente atravessa o vidro, mas outra parte e refletida, pois o vidro, mesmo transparente, tambem funciona em parte como um espelho.

Image: ibidi.com Esta luz que saiu do laser e foi refletida pelo Beam Splitter seguira indo na direcao da Objective Lens, que e nossa lente objetiva, utilizada para focar o feixe da luz do laser num unico ponto.

Logo abaixo de nossa lente objetiva, estara nossa amostra, ou seja, o material que queremos capturar uma imagem microscopica. Portanto, e importante que o laser esteja devidamente focalizado na amostra para que o dispositivo possa funcionar.

Isto que acabamos de descrever se resume na imagem ao lado. Observe o caminho que a luz faz, simbolizado pelas setas em azul.

Image: ibidi.com Agora observe nesta imagem ao lado. Ela nos mostra o que acontece apos a luz do laser bater sobre nossa amostra.

A luz e refletida novamente para cima, atravessando novamente a lente objetiva, depois atravessando tambem nosso Beam Splitter, ate atingir um sensor.

Importante tambem observar que antes da luz atingir o sensor (que no caso e um sensor de luminosidade), ela primeiro atravessa o chamado Pinhole, que trata-se de um obstaculo para passar pouca luz (isto ajuda a remover ruidos).

Portanto, resumindo tudo, a luz que sai de nosso laser e refletida pelo Beam Splitter, depois atravessa nossa lente objetiva responsavel por realizar o foco em nossa amostra. Apos a luz incidir sobre nossa amostra, a mesma e refletida para cima, atravessando nossa lente objetiva e atingindo novamente nosso Beam Spliter, mas agora fazendo o caminho inverso. Se tratando nosso Beam Splitter de um simples vidro transparente, parte da luz ira atravessa-lo, passando posteriormente por nosso obstaculo (Pinhole) e atingindo nosso sensor de luminosidade.

Desta maneira, utilizando algo como um sensor LDR convencional, teremos no maximo um ponto focalizado em nossa amostra, mas o que queremos e uma imagem. Logo, temos que ter algum mecanismo que nos permita realizar uma varredura nos eixos X,Y. Sendo este o nosso tao querido Scanner.

Desta maneira e possivel realizar a varredura nos eixos X,Y de alguma amostra, e a cada ponto focalizado do laser, capturamos a intensidade luminosa com um sensor de luminosidade. Vamos entao armazenando esses valores em algum software, para posteriormente gerar uma imagem com base nesses dados.

Estando claro o conceito descrito acima, vamos para a parte pratica



Materiais

A primeira coisa que vamos precisar fazer e ir em algum site e comprar um Arduino e alguns componentes basicos, como resistores, capacitores, jumpers e coisas do tipo. Depois vamos precisar ir em algum ferro-velho e procurar alguns drivers de DVD. Segue abaixo a lista dos materiais.

Importante deixar claro que para construir este projeto, e necessario algumas nocoes basicas de eletronica e programacao.


Materiais comprados em lojas online:

  • Uma protoboard e jumpers
  • Arduino UNO
  • Capacitores de 10k uf
  • Resistores 330 ohms, 1k ohms, 10k ohms
  • Sensor de luz LDR
  • Transistores MOSFET (NPN)
  • Um laser potente

Materiais comprados no ferro-velho:

  • Drivers de DVD (eu usei 4, mas 2 servem)

Claro, coisas como cola-quente, papelao e isopor podem ajudar muito. Tambem e importante deixar claro que para este projeto e necessario um bom laser, o que utilizei eu comprei no Mercado Livre, e e este da imagem abaixo.


O Scanner

Sendo talvez a nossa parte mais importante do projeto, precisamos do scanner para realizar a varredura nos eixos X e Y. E isso nos faremos com as bobinas de foco das lentes dos proprios drivers de DVD.


Note que pegamos um pedaco de fio um pouco rigido e colamos a ponta dele no local onde fica a lente de foco do leitor de DVD. Isso nos permitira, ao controlar a bobina responsavel pelo foco da lente, realizar o movimento para frente e para tras.

Este sera nosso eixo Y.
Utilizando a mesma nocao acima, mas agora controlando a bobina que realiza o movimento para as laterais, vamos ter nosso eixo X.

Em seguida vamos precisar criar algumas perninhas para sustentar nosso dispositivo, ficando como nas imagens abaixo.


Note que os fios utilizados nas perninhas sao na verdade fios de cabo de rede (os famosos RJ45). Desta maneira e possivel movimentar toda nossa "mesinha" (sim, vamos chamar ela de mesinha daqui pra frente) com o controlador do eixo Y. Tendo assim o controle dos eixos X e Y.

Alem desta ideia utilizando as bobinas dos driver de DVD, tambem e possivel utilizar alto-falante para controlar os respectivos eixos X e Y.

Em todo caso o que necessitamos e realizar uma varredura nos citados eixos.


Controle do eixo Z

Para que consigamos focar a luz do laser devidamente sobre nossa amostra e necessario termos controle do eixo Z, para regula-lo corretamente, de modo que apos estar focado, comecemos nossa varredura.

Como voce pode ver na imagem ao lado, utilizei a propria peca do driver para ser o controlador. Colei um pedaco de regua nele, onde na ponta desta regua ira ficar minha amostra.

O que faco e girar vagarosamente aquela engrenagem lateral, para fazer a amostra subir e descer, e assim ter um bom (e manual) controle do eixo Z.

Se voce tiver um suporte de microscopio optico convencional, voce tambem pode utiliza-lo, mas caso voce nao tenha, fica ai a dica para construir algo equivalente.

O Sensor LDR

De modo semelhante ao controle do eixo Z, tambem fiz um para ajustar devidamente meu sensor LDR. Lembrando que aqui e muito melhor utilizar um suporte de "Lupa multifuncao de mesa", mas como eu estava sem, fiz desta maneira.

Tenha em mente que meu sensor de luminosidade LDR esta dentro deste tubinho branco, a ideia e fazer a luz refletida do laser entrar ali dentro, para esta luz ser capturada e o devido sinal enviado para o Arduino.

O Pinhole

Nesse caso eu utilizei um pedaco de latinha de refrigerante/cerveja, mas voce pode utilizar um papel aluminio se preferir.

O anteparo

Voce pode utilizar o que quiser, ele nos sera util para ajustar o foco.

Atencao, pois este ponto e importante e decisivo para fazer seu projeto funcionar: quando a luz do laser incidida sobre sua amostra for refletida, se tratando de uma lente optica (a lente do DVD), o que ocorrera e que varios pontos da superficie da amostra e que serao refletidos. Isto significa que voce tera uma imagem inteira refletida. A ideia deste anteparo e para voce conseguir visualizar esta imagem, e assim identificar quando a sua imagem realmente esta focalizada. Pois quando estiver, voce podera realizar sua varredura.

Muitos tem dificuldade neste ponto para conseguir encontrar o foco, e no meu caso foi bem dificil tambem, ate que meu irmao me fez perceber que eu poderia utilizar a propria imagem refletida como meio de encontrar o foco. E funcionou perfeitamente.

Juntando tudo

Pegando tudo dito acima e juntando em uma caixa, fica mais ou menos como nessa imagem abaixo.



Note que nesta segunda imagem, fiz um suporte para o laser incidir de cima para baixo, onde ele atingira a peca de DVD da nossa "mesinha". Tendo isto em mente, voce ja deve ter percebido que o projeto esta com uma diferenca. No caso a unica diferenca em relacao ao conceito do CLSM abordado anteriormente, e que trocamos os lugares do laser e do sensor. Ficando nosso laser incidindo de cima pra baixo, e nosso sensor capturando a luz refletida pela lateral.

Note tambem que para controlar o laser fiz uma ligacao direta (cuidado para nao queimar seu laser, verifique os limites dele). Onde usei um segundo Arduino so para servir de Power Supply.


O controle do dispositivo

Antes de tudo tenhamos em mente que estamos controlando exatamente estas coisas:

  • A bobina do eixo Y
  • A bobina do eixo X
  • O sinal lido pelo sensor LDR

E bem sabido que para variar um sinal no Arduino basta fazer uso da funcao analogWrite, e utilizar algum pino para enviar o sinal. Logo, tudo que precisamos e de um simples circuito eletronico para realizar amplificacao de sinal, coisa que fazemos com o uso de transistores, resistores e capacitores (existem muitos tutoriais na internet a respeito disso). Tendo isto em mente, tudo que voce precisa fazer e criar um circuito que controle (e varie) o sinal enviado para suas bobinas, para assim faze-las movimentar.

No Arduino teremos o seguinte codigo (arduino.c):

#define PIN_X 9
#define PIN_Y 3
#define PIN_LDR A0

void setup()
{
pinMode(PIN_X, OUTPUT);
pinMode(PIN_Y, OUTPUT);
pinMode(PIN_LDR, INPUT);

Serial.begin(115200);
delay(100);
Serial.println("Jesus Amor");
}

int delayTime = 23;
int limit = 256;
int increment = 1;

void loop()
{
if (Serial.available() > 0)
{
String command = Serial.readStringUntil('\n');
command.trim();
char receivedChars[256];
memset(receivedChars, '\0', 256);
command.toCharArray(receivedChars, 256);

// Read line.
if (strstr(receivedChars, "read:"))
{
char *ptr = &receivedChars[ strlen("read:") ];
char currentYCh[256];
int currentY = 0;

memset(currentYCh, '\0', 256);

for (int a=0; ptr[a]!='\0' && ptr[a]!='\n'; a++)
{
if (ptr[a] == '-')
{
currentY = atoi(currentYCh);
break;
}

currentYCh[a] = ptr[a];
}

// Control: X, Y.
Serial.print("startline");
analogWrite(PIN_Y, currentY);
delay(50);

for (int x=0; x<limit; x+=increment)
{
analogWrite(PIN_X, x);
delay(delayTime);

int LDR = analogRead(PIN_LDR) / 4;
Serial.print(LDR, DEC);
Serial.print(",");
}

Serial.print("endline");
delay(100);
}
}
}

Tenha em mente que o codigo acima recebe uma entrada de dados pelo cabo USB, no caso o texto "read:Y-", onde o valor de Y equivale a linha que esta sendo processada. Em seguida o mesmo faz a bobina movimentar-se para a devida posicao, para em seguida comecar a leitura. Ou seja, a bobina do eixo X ira movimentar-se de 0 a 256, onde a cada incremento e realizada a leitura do sensor de luminosidade. Tudo e enviado para o programa que esta recebendo estes dados.

No computador executamos o programa read-data.php, onde o papel dele e simplesmente realizar essa comunicacao com o Arduino, iniciar e controlar a leitura, armazenar os dados localmente para com eles gerar uma imagem em grayscale.


Esclarecendo alguns pontos

Importante mencionar que nossa peca do driver de DVD faz o papel do Beam Splitter. Ou seja, o mecanismo do driver de DVD ja tem quase tudo pronto para usarmos, basta alguns ajustes para com ele termos nosso microscopio.

Na imagem abaixo voce pode ver um prototipo operando. Observe que a luz do quarto esta desligada, pois como todo o dispositivo esta exposto, nao e legal que exista interferencia luminosa.


Amostra

Para utilizar como amostra eu dei um jeito de retirar uma lamina de silicio de dentro de um microchip convencional (isso deu trabalho). De uma olhada nas imagens abaixo.

Utilizando lentes opticas eu consegui um zoom grande para assim ter uma fotografia optica de minha amostra, para que eu pudesse ver como sao meus microchip.

ITEM 1 ITEM 2 ITEM 3

Os itens 1 e 2 sao apenas para dar uma nocao de proporcao e tamanho.

O item 3 e a fotografia optica que consegui (para ela usei uma lente tambem de driver de DVD, mas acoplada na camera do celular). O bom de termos uma fotografia optica e para confirmar se nossa imagem gerada pelo dispositivo esta correta.


Complicacoes e ajustes

O erro mais comum de quem tenta reproduzir este experimento e nao conseguir ajustar o foco devidamente, quando isso ocorre sua imagem de saida ficara semelhante a esta. Ou seja, um lixo.
Quando voce comeca a conseguir corrigir o foco, ja comeca aparecer algumas formas legais, como esta, onde ja comeca a aparecer alguns terminais de contato do microchip.

Em resumo, voce deve ir ajustando seu dispositivo para ficar o melhor possivel, pois qualquer coisinha torta, ruido nas leituras, interferencias luminosas, travamentos das pecas (caso os driver de DVD forem velhos demais), tremores (um carro passando la na esquina da sua casa ira afetar os seus resultados), e coisas semelhantes afetam em seu resultado final.


Resultados

Observe que na parte de cima das imagens geradas ha sempre uma distorcao, pelo que entendi isso se deve ao meu mecanismo estar meio duro no comeco da leitura. Depois ele fica normal e segue ate o fim. Como eu disse, qualquer coisinha torta ja afeta no seu resultado. No entanto ja comecam a aparecer imagens legais.


Retirando a parte distorcida de nossa leitura, as imagens ficam assim:


Colocando nossa lamina de silicio ao lado das nossas imagens, conseguimos ter melhor uma nocao de proporcao. Se fosse encontrar um numero para nos dar uma aproximacao satisfatoria do tamanho da imagem que conseguimos capturar, chegaremos ao valor de mais ou menos 200 micrometros.


Finalizacao

Como voce pode notar, tudo isso e apenas uma diversao. Logo, e claro que ha pontos e coisas que podem ser melhoradas (sempre ha). Em todo caso, espero que tenha gostado

Fique com Jesus e nossa Mae Maria Santissima

Ate a proxima!


Links e Referencias

http://www.gaudi.ch/GaudiLabs/?page_id=652

https://www.instructables.com/Laser-Scanning-Microscope/

https://www.instructables.com/Scanning-Laser-Microscope-With-Arduino/

https://bitesizebio.com/19958/what-is-confocal-laser-scanning-microscopy/

https://ibidi.com/content/216-confocal-microscopy

https://bitesizebio.com/19958/what-is-confocal-laser-scanning-microscopy/


Autor

Patrocinar: melchisedech333
Twitter: Melchisedech333
LinkedIn: Melchisedech Rex
Blog: melchisedech333.github.io


Licenca

BSD-3-Clause license

Sponsor this project

Contributors