Introdução

O nosso projeto consiste na ideia de criar um digitalizador de objetos tridimensionais, ou seja, algo que tenha a possibilidade de transformar um objeto físico num desenho tridimensional para que possa ser visualizado e até editado em qualquer computador.

Um digitalizador de objetos tridimensionais, mais conhecido como scanner 3D, é uma tecnologia ainda muito recente e pouco explorada, sendo que são pouco comuns e apresentam custos elevados, poucos modelos estão ao alcance de um utilizador doméstico.

O projeto desenvolvido pelo nosso grupo é composto por uma camera que irá captar a forma e cor do objeto, com o auxílio da projeção de dois lasers lineares que irão capturar a geometria e textura do mesmo. Para que o objeto seja digitalizado por completo e não apenas uma das suas faces, irá ser colocado em rotação sobre uma base giratória integrada na estrutura, movimentada por um motor de passo.

Os componentes que constituem o projeto irão ser conectados e controlados pelo microprocessador Arduino Uno completado com uma placa de expansão ZUM Scan. As placas de controlo e os restantes componentes irão ser alimentados por 12V, fornecidos por uma fonte de alimentação.

A estrutura do digitalizador é totalmente da nossa autoria, projetada com o objetivo de criar um modelo portátil e compacto. Foi desenhada com o auxílio de um software de modelagem 3D gratuito, “123D Design” e, mais tarde foi fabricada em PLA numa impressora 3D.

Para realizar a digitalização de um objeto é indispensável a existência de um software adequado instalado no computador. Tivemos diversas opções de possíveis softwares em consideração, mas após alguma pesquisa decidimos que o programa que melhor se enquadrava no nosso projeto seria o Horus. O Horus é um software Open Source, que permite digitalizar um objeto físico, assim como calibrar o nosso digitalizador e controlar os componentes que o constituem.

Estrutura

Nós projetámos o design do nosso digitalizador de objetos tridimensionais à volta da ideia de portabilidade, criando uma estrutura compacta com todos os componentes no seu interior. Nós tivemos a ideia de criar uma estrutura que abrisse e fechasse apenas com o toque de um botão. Quando queremos utilizar o digitalizador pressionamos o botão lateral azul e a estrutura abre e, em seguida, os suportes dos lasers deslocam-se para fora.

O digitalizador está agora pronto a utilizar. Após este passo podemos dar início ao controlo através do computador e realizar a digitalização.

Assim que terminarmos a utilização, pressionamos o mesmo botão azul e os suportes dos lasers voltam para dentro e, em seguida, a estrutura fecha. O digitalizador está agora fechado e pronto a arrumar de modo a ocupar o mínimo espaço possível.

Este movimento é criado por múltiplos servos que se encontram no interior da estrutura. Temos dois servos MG996R na zona onde a estrutura dobra com uma pequena roda dentada no seu eixo.

Para mover os suportes dos lasers para fora, adicionámos dois micro servos TG9e em cada um dos suportes. No eixo dos servos, está uma pequena roda dentada responsável por girar a peça principal dos suportes dos lasers, movendo-os assim para dentro ou para fora da estrutura.

Para que o digitalizador tenha a capacidade de digitalizar objetos de diferentes dimensões sem diminuir a qualidade de digitalização, tivemos a ideia de criar um mecanismo controlado por dois botões. Enquanto pressionamos o botão de cima, as peças que suportam a camera e os lasers movem-se para cima, de modo a digitalizar objetos mais altos; enquanto pressionamos o botão de baixo, ele vai movendo-se para baixo, permitindo digitalizar objetos de dimensões mais reduzidas.

Controlo de Luminosidade

Como o digitalizador poderá vir a ser utilizado tanto em salas bem iluminadas como em espaços mais escuros, tivemos a ideia de adicionar leds brancos para iluminarem o objeto a ser digitalizador, garantindo que a camera tem luminosidade suficiente para capturar a forma e cor do objeto com a máxima qualidade possível.

Ao utilizar o digitalizador numa sala bem iluminada é desnecessária a utilização dos leds. Por isso, chegámos à conclusão que o melhor era dar ao utilizador a possibilidade de controlar a intensidade do brilho emitido pelos leds, consoante a necessidade. Para tal, criámos um circuito que permite controlar a luminosidade com recurso a um potenciómetro de deslizar. Na parte lateral do digitalizador vai estar uma pequena patilha saída que pertence ao potenciómetro de deslizar que se encontra no interior da estrutura.

Ao mover a patilha para a direita, a intensidade do brilho dos leds vai aumentando, de modo a iluminar o objeto a ser digitalizado numa sala escura. Ao mover a patilha para a direita, a intensidade vai diminuindo até chegar ao ponto em que desligam. Desta forma conseguimos escolher a luminosidade ideal para digitalizar em qualquer sítio.

Circuitos

Controlo de Luminosidade

O objetivo deste circuito é garantir que o objeto a ser digitalizado está suficientemente iluminado de modo a permitir à camera captar corretamente a sua forma e cor. Para tal, vamos utilizar oito leds brancos em cada um dos lados da camera, um total de 16 leds, colocados a uma amplitude de 30º em relação a ela, criando um feixe de luz paralelo aos dos lasers.

Componentes necessários

  • Leds brancos de alto brilho (16 unidades)
  • Potenciómetro de deslizar com uma resistência total de 10kΩ
  • Resistência de 33Ω

Controlo dos servos

A função deste circuito é controlar os servos responsáveis pelo movimento da estrutura, tanto para abrir e fechar a estrutura, como para movimentar o suporte da camera e dos lasers para cima ou para baixo.

Componentes necessários

  • Arduino Uno
  • Servos MG996R (3 unidades)
  • Servos TG9e (2 unidades)
  • Regulador de tensão 7805
  • Condensadores eletrolíticos com 1uF e 10uF
  • Botões momentâneos de diferentes feitios (3 unidades)
  • Resistências de 10kΩ (3 unidades)
  • Pinos machos
  • Bloco de dois terminais

Os servos são controlados através de botões momentâneos que vão ser colocados na parte lateral do digitalizador. Vamos utilizar três botões – dois deles vão ser responsáveis por controlar um servo que vai movimentar o suporte da camera para cima ao pressionar num dos botões e para baixo ao pressionar no outro.

O terceiro botão vai controlar quatro servos, dois responsáveis por abrir e fechar a estrutura e outros dois por movimentar os suportes dos lasers para fora da estrutura.

Nós chegámos à conclusão que para este circuito a nossa melhor opção seria criar uma placa de expansão que se encaixa nos pinos do Arduino Uno. Para tal, criámos o circuito impresso numa placa de cobre.

Código Arduino


 #include 

    const int buttonPin1 = 2;
    const int buttonPin2 = 3;
    const int buttonPin3 = 4;

    int buttonState = 0;
    int directionState = 0;

    Servo servo1;
    Servo servo2;
    Servo servo3;

    int pos1 = 90;
    int pos2 = 0;

 void setup() {

   servo1.attach(8);
   servo2.attach(9);
   servo3.attach(10);

   pinMode(buttonPin1, INPUT);
   pinMode(buttonPin2, INPUT);
   pinMode(buttonPin3, INPUT);
 }

  void loop(){
  
     if (digitalRead(buttonPin2) == HIGH && pos1 < 200)
    {
      pos1++;
      servo1.write(pos1);
      delay(15);
    }
     if (digitalRead(buttonPin3) == HIGH && pos1 > 0)
     {
      pos1--;
      servo1.write(pos1);
      delay(15);

   buttonState = digitalRead(buttonPin1);

   if (directionState == 0)
   {
     if (buttonState == HIGH)
     {
       directionState = 1;

       for(pos2 = 0; pos2 < 180; pos2=pos2+1)
       {
         servo2.write(pos2);
         delay(20);
       }
         servo3.write(pos2);
         delay(20);
     }
   }

   else if (directionState == 1)
   {  
     if (buttonState == HIGH)
     {
       directionState = 0; 
       
       for(pos2 = 180; pos2 >= 1; pos2=pos2-1 )
       {
         servo3.write(pos2);
         delay(20);
       }
         servo2.write(pos2);
         delay(20);                  
   }
 }
								

Criadores

Este projeto foi desenvolvido em âmbito escolar, como Prova de Aptidão Profissional de três alunos do curso Profissional de Gestão e Manutenção de Equipamentos Informáticos da escola Secundária João de Barros, localizada em Corroios.

O Projeto de Aptidão Profissional, ou PAP, consiste no projeto realizado no final do último ano de curso, com o objetivo de demonstrar através de um trabalho mais prático os conhecimentos adquiridos ao longo dos três anos de curso.

O nosso grupo de trabalho é constítuido por três elementos:

  • Carlos Antunes, 18 anos
  • Carlos Pimentel, 20 anos
  • Leonel Pã, 19 anos