Geautomatiseerde Tinder & Bumble Swiper met Arduino UNO en Stappenmotor
Onderdelen en Benodigdheden
| Arduino UNO | × | 1 |
| BYJ48 Stappenmotor | × | 1 |
| 3D-printbare bestanden | × | 1 |
| Touchscreen-stylus | × | 1 |
Apps en Online Services
- Arduino IDE
Over dit Project
Achtergrondverhaal
Mijn vrienden maakten me een Tinder-account en als de meeste mensen op de app, was ik snel teleurgesteld in hoe eentonig het was. Toen realiseerde ik me dat ik een betere ingenieur was dan potentiële partner, dus ik bouwde dit samen uit een goedkope stappenmotor die ik nog liggen had. Nu kan jij ook meer dan 800 swipes per uur maken met dit apparaat, op zowel Bumble als Tinder!
Snel Overzicht
Er zijn drie snelle stappen voor deze build: de onderdelen printen, de stappenmotor bedraden en testen, en alles samenvoegen.
Stap 1: De Onderdelen Printen
Bekijk Thingiverse voor de 3D-printbare bestanden. Het belangrijkste om te weten over deze bestanden is dat ik 50% invulling gebruikte voor de basis, om de basis te verzwaeren zodat hij niet verplaatst tijdens het swipen.
Stap 2: De Stappenmotor
Ik gebruikte een unipolaire 28-BYJ48 stappenmotor en een SBT0811 stappenmotordriver. Elke stappenmotordriver die werkt met de 28-BYJ48 is prima, zolang je hem volgens de onderstaande opstelling aan je Arduino Uno aansluit, of de code aanpast om je wijzigingen weer te geven:
- IN1 → D8
- IN2 → D9
- IN3 → D10
- IN4 → D11
- VCC → 5V
- GND → Ground
De code voor de Arduino Uno staat onderaan de pagina. Op dit moment zou je de code op je Arduino moeten kunnen uploaden en een met de klok mee draaiende stappenmotor moeten hebben! Als je de richting wilt veranderen naar tegen de klok in, verander de Direction variabele naar false.
Stap 3: Alles Samenvoegen
Op dit moment heb je alle losse onderdelen klaar en hoeven we ze alleen maar te combineren! Ga ahead en plaats eerst je stappenmotor in de swiper-basis. Ik gebruikte twee kleine houtschroeven om het in de 3D-print te bevestigen.
Daarna plaats je de swiper-hendel op de stappenmotor.
Om de hoogte te kalibreren: plaats de hele structuur boven een telefoon en steek de touchscreen-pen in de swiper-hendel tot de pen het scherm raakt.
Op dit moment neem je een korte M3-schroef en bevestig je de touchscreen-pen zodat hij niet verplaatst tijdens het swipen.
Ten Slotte: Swipen!
Plaats de hele structuur naast de telefoon, open de gewenste dating-app, zet de Arduino aan en lean back!
Ik heb dit getest op 4 verschillende telefoons en één van de telefoons had problemen om de swipes correct te registreren en ging naar het vorige scherm. Dit komt doordat de rand van de laatste geteste telefoon best wel gevoelig was. Je kunt dit oplossen door je telefoon in een hoesje met een verhoogde rand te doen, zodat de touchscreen-pen niet aan de rand van het scherm registreert.
Code
Swiper (Arduino)
Verander Direction = false naar true als je de swiperichting wilt veranderen!
/* BYJ48 Stappenmotor code
Aansluiting:
IN1 >> D8
IN2 >> D9
IN3 >> D10
IN4 >> D11
VCC >> 5V
GND >> GND
Geschreven door: 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; // verander naar true voor rechts swipe
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);
// delay(1000);
}
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;
}
}
Productieproces
- Raspoulette: Zonnestroom-gevoede Autonome Koeienpoort Systeem Prototype
- Simple Pi Robot – Bouw een 2-WD Autonome Rover met Raspberry Pi
- Zelfbouw autonom Nerf Sentry-turret – Slimme Nerf-pistool met stappenmotoren, camera en Arduino
- Uitgebreide bibliotheek voor bipolaire stappenmotoren met Arduino
- SmartWay: Complete kit voor trilmotor, RGB LED, GPS-module & Arduino MKR Fox 1200 projecten
- Arduino-gestuurde Serieel Bediende Stappenmotor-Draaibare Stand
- Lineaire motoren begrijpen: Van elektrische energie naar nauwkeurige lineaire beweging
- Servomotoren Uitgelegd: Hoe Ze Werken en Waarom Ze Belangrijk Zijn
- Servo vs Stappenmotors: De Moderne Grijze Zone Verhelderd
- Stapelmotoren: typen, kenmerken en praktische toepassingen
- Geïntegreerde drivers vereenvoudigen high-power steppermotor-ontwerp