Deslizador Automático para Tinder e Bumble com Arduino UNO e Motor de Passo
Componentes e Materiais
| Componente | Quantidade |
|---|---|
| Arduino UNO | 1 |
| Motor de Passo BYJ48 (28-BYJ48) | 1 |
| Arquivos para Impressão 3D | 1 conjunto |
| Caneta Touchscreen (Stylus) | 1 |
Aplicativos e Serviços
- Arduino IDE
Sobre o Projeto
História
Meus amigos me colocaram no Tinder e, como a maioria, decepcionei-me rapidamente com o quão monótono era. Percebi que sou um engenheiro bem melhor do que pretendente, então montei isso com um motor de passo barato que tinha guardado. Agora você também pode fazer mais de 800 deslizadas por hora no Tinder ou Bumble!
Visão Rápida
Três passos rápidos: imprimir peças, fiar e testar o motor de passo, montar tudo.
Passo 1: Imprimindo as Peças
Arquivos 3D em: Thingiverse
Importante: Usei 50% de preenchimento (infill) na base para pesá-la e evitar que se mova durante o deslize.
Passo 2: O Motor de Passo
Usei motor de passo unipolar 28-BYJ48 com driver SBT0811. Qualquer driver compatível com 28-BYJ48 serve, apenas ajuste a fiação ou o código conforme abaixo:
- IN1 → D8
- IN2 → D9
- IN3 → D10
- IN4 → D11
- VCC → 5V
- GND → GND
Código do Arduino no final da página. Faça upload e o motor girará no sentido horário! Para inverter (sentido anti-horário), mude a variável Direction para true.
Passo 3: Montando Tudo
- Coloque o motor de passo dentro da base do deslizador. Usei dois pequenos parafusos de madeira para fixá-lo na impressão 3D.
- Encaixe o braço do deslizador no eixo do motor de passo.
- Calibre a altura: coloque a estrutura sobre o celular e insira a caneta touchscreen no braço até tocar a tela.
- Prenda a caneta com um pequeno parafuso M3 para não se mover durante o deslize.
Finalmente: Comece a Deslizar!
Posicione a estrutura ao lado do celular, abra o app de namoro, ligue o Arduino e relaxe!
Testei em 4 celulares diferentes. Um teve problema: a borda da tela era muito sensível e o app voltava à tela anterior. Solução: use uma capa com borda elevada, assim a caneta não toca a borda da tela.
Código
Sketch do Deslizador (Arduino)
Mude Direction = false para true se quiser inverter a direção do deslize!
/* Código para Motor de Passo BYJ48
Conexões: IN1 >> D8, IN2 >> D9, IN3 >> D10, IN4 >> D11, VCC >> 5V, GND >> GND
Por: Mohannad Rawashdeh
https://www.instructables.com/member/Mohannad+Rawashdeh/
28/9/2013 */
#define IN1 8
#define IN2 9
#define IN3 10
#define IN4 11
int Steps = 0;
boolean Direction = false; // true = desliza direita, false = esquerda
unsigned long last_time;
unsigned long currentMillis;
int steps_left = 4095;
long time;
void setup() {
Serial.begin(115200);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
}
void loop() {
while(steps_left > 0) {
currentMillis = micros();
if(currentMillis - last_time >= 1000) {
stepper(1);
time = time + micros() - last_time;
last_time = micros();
steps_left--;
}
}
steps_left = 4095;
}
void stepper(int xw) {
for (int x = 0; x < xw; x++) {
switch(Steps) {
case 0: digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH); break;
case 1: digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); digitalWrite(IN3, HIGH); digitalWrite(IN4, HIGH); break;
case 2: digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW); break;
case 3: digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH); digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW); break;
case 4: digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH); digitalWrite(IN3, LOW); digitalWrite(IN4, LOW); break;
case 5: digitalWrite(IN1, HIGH); digitalWrite(IN2, HIGH); digitalWrite(IN3, LOW); digitalWrite(IN4, LOW); break;
case 6: digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); digitalWrite(IN3, LOW); digitalWrite(IN4, LOW); break;
case 7: digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH); break;
default: digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); digitalWrite(IN3, LOW); digitalWrite(IN4, LOW); break;
}
SetDirection();
}
}
void SetDirection() {
if(Direction == 1) Steps++;
if(Direction == 0) Steps--;
if(Steps > 7) Steps = 0;
if(Steps < 0) Steps = 7;
}
Processo de manufatura
- Motores de Passo: Tipos, Características e Aplicações Práticas
- Drivers Integrados Simplificam Design de Motores Stepper de Alta Potência
- Raspoulette: Protótipo de Sistema Autônomo de Porta de Galinheiro Alimentado por Energia Solar
- Simple Pi Robot – Construa Rover Autônomo 2-WD com Raspberry Pi
- Torretas Sentry Nerf Autônomas DIY – Construa uma Arma Nerf Inteligente com Motores de Passo, Câmera e Arduino
- Biblioteca Completa para Motor de Passo Bipolar com Arduino
- SmartWay: Kit Completo para Monitoramento de Crianças com GPS, Vibração, LED RGB e Arduino MKR Fox 1200
- Motores Servo vs Passo a Passo: Esclarecendo a Zona Cinzenta Moderna
- Entendendo Motores Lineares: Da Energia Elétrica ao Movimento Linear Preciso
- Motores Servo Explicados: Como Funcionam e Por Que Importam