Ter robôs fazendo tarefas rotineiras para nós é algo bem interessante, ainda mais na parte da limpeza. Portanto, neste post, veremos uma forma simples de criar um robô aspirador de pó.

Informações básicas

O que é o projeto

O projeto que mostrarei consiste de um simples robozinho de duas rodas capaz de aspirar pequenas sujeiras. Como a ideia é criar algo simples, o robô não vai ter autonomia ou inteligência para decidir onde limpar. Por conta disso, o foco do post é mais o aprendizado do que mostrar algo realmente útil.

De toda forma, com os passos que mostrarei, você deve conseguir implementar melhorias e adaptar o projeto às suas necessidades.

Observações e limitações

Meu objetivo com esse projeto é dar um ponta pé inicial no desenvolvimento de um robô aspirador de pó realmente funcional. Por conta disso, algumas coisas que mostrarei ficaram com cara de improviso. E acho importante deixar claro que o aspirador só consegue aspirar pequenas partículas (pó de fato) em uma região bem pequena.

Criando robô aspirador de pó

Materiais necessários

Adiante estão listados os componentes que utilizei para montar o projeto:

  • Arduino UNO.
    • Pode ser outro Arduino.
  • Kit chassi 2WD redondo.
    • Além da própria estrutura, o kit vêm com 2 motores, rodas normais, rodas bobas, fios e suporte de 4 pilhas AAA.
  • 4 pilhas AAA.
  • Ponte H L293d.
    • Pode usar um módulo de ponte H, que é ainda mais fácil.
  • Motor DC com faixa de tensão de 3 a 6V.
    • Motor para fazer a função de aspirador de pó. O ideal é usar um motor forte para que o robô consiga puxar a sujeira sem problemas.
  • Garrafa PET.
    • Empregada na parte do aspirador de pó. 
    • Usei uma de desinfetante, mas pode ser de refrigerante.
  • Papelão.
    • Empregado na parte do aspirador de pó.
  • Hélice de ventilador.
    • Resolvi imprimir uma na impressora 3D. Tentei buscar algumas online, mas acabei decidindo criar uma hélice.
    • Ao invés de imprimir, você pode tentar improvisar uma com uma chapa metálica.
  • Tubo/mangueira de plástico pequeno(a) (comprimento cerca de 10 cm).
    • Posicionado na parte de baixo do robô e é ligado ao compartimento do aspirador de pó.
  • Protoboard pequena.
    • Seria melhor usar uma plaquinha ilhada e soldar todos os componentes nela. Mas, como disse no início do post, construí esse projeto mais para testes.
  • Fios para as ligações.

E em relação às ferramentas, você vai precisar de:

  • Ferro de solda.
    • Usado para soldar os fios dos motores.
  • Alicate ou estilete para cortar os fios.
  • Pistola de cola quente.

Circuito

Vejamos os detalhes de cada parte do circuito:

  • Alimentação:
    • Alimentarei o circuito todo com os 6V que vêm das 4 pilhas AAA ligadas em série.
  • Motor do aspirador de pó:
    • O motor que tenho funciona de 3 a 6V, então basta ligá-lo em paralelo à tensão de 6V das pilhas.
  • Motores das rodas:
    • O ideal é que os motores das rodas possam ser controlados de forma a variar o sentido de rotação e a velocidade. Para resolver isso, podemos empregar uma ponte H. Aqui no site tem um post detalhando a ponte H e a ligação do CI L293d que usaremos, então remendo ler para entender os detalhes.

A partir de tudo que foi dito acima, o circuito final está mostrado na imagem abaixo. Achei que a imagem ficou com muito fio e um pouco difícil de entender. Então, também coloquei uma imagem do esquemático, que está mais limpo e mais fácil de entender.

Circuito do robô aspirador de pó
Esquemático do robô aspirador de pó

Se você reparar, também adicionei um capacitor de 10 μF entre o pino de reset do Arduino e o GND. Fiz isso, porque o Arduino estava reiniciando toda vez que ele tentava acionar os motores. Não averiguei o problema de perto, mas acredito que tenha relação com a alta corrente de partida dos motores que provoca uma queda de tensão momentânea, a qual é percebida pelo Arduino, que reage resetando. Assim, o capacitor de 10 μF ajuda a estabilizar a tensão e previne o Arduino de ficar resetando.

Possivelmente esse problema tem relação com as pilhas, pois toda fonte de tensão tem uma resistência interna que apresenta uma queda de tensão considerável quando a corrente que sai da fonte é grande. Talvez se eu tivesse utilizado uma bateria mais apropriada (menor resistência interna), esse problema do reset não teria aparecido.

Montagem do chassi 2WD

O processo de montar o chassi 2WD é a primeira etapa para a criação do robozinho, e ele é até bem simples. Não pretendo detalhá-lo aqui. Então, sugiro que você assista esse vídeo para aprender a montar. Esse foi o mesmo vídeo que segui para montar o meu.

Lógica de funcionamento do aspirador de pó

Essencialmente, o tipo de aspirador que construiremos consiste de um compartimento com apenas uma entrada e uma saída de ar. Nesse cenário, um motor com uma hélice é colocado para empurrar o ar para fora do compartimento em direção à saída de ar. Uma vez que o ar sai, cria-se um vácuo temporário no compartimento.

Devido ao vácuo e à entrada de ar que existe, a pressão vai empurrar ar para dentro do compartimento. Sob outra óptica, é como se o compartimento sugasse o ar de fora. E é justamente esse ar entrando que vai carregar as partículas de sujeira de fora para dentro do compartimento.

Esse processo é contínuo: o motor empurra ar para fora a todo momento e o ar fica circulando.

Montagem do aspirador

Após montar o chassi, podemos passar para o aspirador. Vamos aos passos:

  • 1 – Corte a parte de baixo da garrafa PET fora.
    • Como se tivesse removendo a tampa de baixo dela.
  • 2 – Com a garrafa sem a parte de baixo, corte novamente ela no meio de forma a obter duas partes que podem ser encaixadas uma na outra. Para deixar mais claro, vou chamar a parte da garrafa que ficou com a tampinha de parte A, e a parte de baixo que ficou toda aberta, vou chamar de parte B.
  • 3 – Corte um pedaço de papelão em formato de disco com diâmetro igual ao diâmetro interno da parte B.
  • 4 – No meio desse pedaço de papelão, crie um furo de mesmo diâmetro do motor.
  • 5 – Ainda no papelão, crie furos para permitir a passagem de ar.

Veja como ficou o papelão no meu caso (nada simétrico hehe).

Rodela de papelão que sustenta o motor do aspirador de pó
  • 6 – Encaixe a hélice no motor e fixe com cola quente se necessário.
  • 7 – Encaixe o motor no papelão e prenda com cola quente. A imagem abaixo mostra o motor encaixado, mas a cola quente só poderá ser vista na outra imagem seguinte:
Papelão com motor encaixado
  • 8 – Prenda e fixe o papelão no meio da parte B da garrafa PET com cola quente. É importante que a hélice fique virada para a parte de baixo da garrafa (onde era a base da garrafa).
  • 9 – Aproveite e solde fios nos terminais do motor.
  • 10 – Para passar os fios para fora da garrafa, faça um pequeno furo na lateral dela. Lembrete importante: não passe os fios pela hélice, faça o furo na lateral da garrafa logo ao lado dos terminais.
Parte B do aspirador de pó

Deixe a parte B de lado e pegue apenas a tampinha da garrafa PET.

  • 11 – Faça um furo na tampinha da garrafa que seja do diâmetro do cano de plástico.
  • 12 – Fixe, com cola quente, a tampinha no meio do chassi 2WD com o furo dela posicionado justamente no furo que existe no meio do chassi.
  • 13 – Passe a mangueira de plástico pelo furo da tampinha e direcione ela até a parte de baixo do robô.
    • Você também pode passar a mangueira antes de fixar a tampinha. Se fizer isso, a cola quente vai tampar as frestas do furo que você fez na tampinha (foi o que fiz).

Veja meus resultados abaixo:

Parte de baixo do aspirador de pó

Repare que a mangueira praticamente encosta no chão. Isso é importante, pois o aspirador não tem muita força e isso diminui a distância que o aspirador tem que puxar.

  • 14 – Agora a parte A da garrafa pode ser rosqueada na tampinha e a parte B pode ser encaixada na parte A.

Veja o resultado final abaixo:

Aspirador de pó montado

A ordem de ligação dos fios do motor do aspirador faz diferença. E só é possível descobrir a ordem certa testando. Ou seja, alimente o motor e veja se a entrada da mangueira está soprando ou puxando pequenas partículas. Obviamente, o jeito certo é quando ela estiver puxando.

Falta de filtro no aspirador

Os aspiradores de pó profissionais têm um filtro para impedir que a sujeira entre no compartimento onde o motor está localizado. Isso, porque ela pode acabar acumulando dentro do motor ou na hélice e provocar um defeito no aspirador.

Diante disso, seria interessante ter colocado um filtro entre a parte A e B da garrafa PET. Não fiz isso, porque reparei que o aspirador não tem força suficiente para puxar as sujeiras até o topo. O que reparei é que a sujeira descia logo após o tubo de plástico e ficava na tampa.

Restante da montagem

O restante da montagem envolve apenas a disposição dos componentes do circuito, isto é: Arduino UNO e protoboard. Como estou apenas testando o projeto, não fixei nenhum deles. Mas, você pode fazer isso utilizando cola quente.

Codigo completo

O código adiante é beeem bobinho, pois apenas comanda os motores para andarem para frente de forma indefinida. Caso você queira fazer alterações, eu adicionei funções que facilitam a programação dos motores. No caso, são as funções motor_direcao e motor_velocidade. Leia o código para entender os detalhes.

Obs: se um dos seus motores estiver invertido em relação ao outro, inverta os pinos IN (IN1 com IN2 p/ motor 1 ou IN3 com IN4 p/ motor 2). A inversão pode ser tanto via programação quanto por mudança dos fios.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
// ----- Definições -----
#define PIN_IN3 2
#define PIN_IN4 3
#define PIN_IN2 4
#define PIN_IN1 5
#define PIN_EN  6

#define MOTOR_DIRECAO_FRENTE  0
#define MOTOR_DIRECAO_TRAS    1
#define MOTOR_ESQUERDO        0
#define MOTOR_DIREITO         1

#define VELOCIDADE_BASE       220

// ----- Protótipo das funções -----
void motor_direcao(uint8_t lado, uint8_t dir);
void motor_velocidade(uint8_t vel);


void setup ()
{
  uint8_t i;

  // Inicializa os pinos do motor
  pinMode(PIN_IN1, OUTPUT);
  pinMode(PIN_IN2, OUTPUT);
  pinMode(PIN_IN3, OUTPUT);
  pinMode(PIN_IN4, OUTPUT);
  pinMode(PIN_EN, OUTPUT);

  // Inicializa o motor
  motor_velocidade(0);
  motor_direcao(MOTOR_ESQUERDO, MOTOR_DIRECAO_FRENTE);
  motor_direcao(MOTOR_DIREITO, MOTOR_DIRECAO_FRENTE);
 
  // Espera 1 segundo e aumenta a velocidade dos motores gradualmente
  delay(1000);
  for(i = 0; i < VELOCIDADE_BASE; i++)
  {
    motor_velocidade(VELOCIDADE_BASE);
    delay(10);
  }
 
}

void loop()
{
}


/*
 * Muda a direção de rotação de um motor
 *  lado: MOTOR_DIREITO ou MOTOR_ESQUERDO
 *  dir: MOTOR_DIRECAO_FRENTE ou MOTOR_DIRECAO_TRAS
 */

void motor_direcao(uint8_t lado, uint8_t dir)
{
  if(lado)
  {
    digitalWrite(PIN_IN3, dir);
    digitalWrite(PIN_IN4, !dir);
  }
  else
  {
    digitalWrite(PIN_IN1, dir);
    digitalWrite(PIN_IN2, !dir);
  }
}


/*
 * Define a velocidade dos motores
 *  vel - Velocidade (0 a 255)
 */

void motor_velocidade(uint8_t vel)
{
  analogWrite(PIN_EN, vel);
}

Resultados

Após fazer a montagem do robô, obtive o seguinte resultado:

Robô aspirador de pó finalizado

E abaixo está um vídeo do robô funcionando e sofrendo para limpar farinha de trigo do chão.

Teoricamente, era pro robô andar reto, porque o código que usei é o mesmo do tópico anterior. Mas ele fica andando em círculo, porque, involuntariamente, um motor gira mais que a outro (o direito no caso). Para resolver isso, teríamos que ligar o pino Enable dos motores separadamente para poder controlar a velocidade de forma individual e corrigir essa diferença.

Enfim, pelo vídeo ficou claro que o robô é bem ruinzinho. Ao menos ele deu conta de pegar alguma sujeira igual mostrei no fim do vídeo.

Observações finais

Com certeza o projeto tem muita possibilidade de melhoria e a ideia é desenvolver uma versão 2 futuramente. Adiante estão alguns pontos que acho válido fazer para melhorar:

  • Criar uma PCB própria para o robozinho (sem usar o Arduino).
  • Melhorar a hélice.
  • Diminuir o tamanho do compartimento do aspirador.
    • Isso deve melhorar bastante a capacidade dele de sugar as sujeiras.
  • Melhorar a estabilidade da tensão do circuito (talvez usar uma bateria mais adequada).
  • Adicionar sensores de distância para permitir o robô enxergar o ambiente.
  • Aplicar técnicas de robótica e controle para deixar o robô inteligente.