Pucanje mačjom loptom: 9 koraka (sa slikama)
Pucanje mačjom loptom: 9 koraka (sa slikama)
Anonim
Cat Ball Shooter
Cat Ball Shooter

Potrebni materijali

1 x RFID senzor/ daljinski

1 x Arduino uno

2 x DC motora

1 x 180 servo

1 x 360 servo

više žica

Kutija/kontejner za izgradnju projekta

cijev za provlačenje loptice

Korak 1: Kreirajte krug za napajanje motora i daljinskog upravljača

Kreirajte krug za napajanje motora i daljinskog upravljača
Kreirajte krug za napajanje motora i daljinskog upravljača
Kreirajte krug za napajanje motora i daljinskog upravljača
Kreirajte krug za napajanje motora i daljinskog upravljača

Izgradnja kola

izgradite krug iznad i spojite se na iste iglice kako biste koristili potpuno isti kod

Korak 2: Stvorite bazu za dva motora

Stvorite bazu za dva motora
Stvorite bazu za dva motora

morat ćete koristiti pjenastu ploču za rezanje pravokutnika dimenzija 4,5 x 2 inča za stranice. zatim izrežite kvadrate veličine 2,5 x 5 inča koje ćete koristiti kao gornji i donji dio. zatim će motorima trebati mjesto za sjedenje pa izrežite 2 rupe promjera 23 mm i udaljenosti 39 mm jedna od druge kako biste dali prostora za ispucavanje lopte. zatim napravite mjesto ili nekoliko rupa na donjem kvadratu kako biste omogućili da se žice s motora spoje u krug.

Korak 3: Dodajte servo na dno motora

Dodajte Servo na dno motora
Dodajte Servo na dno motora

pažljivo zalijepite servo od 180 ili 360 na dno (u sredini) kvadrata. radimo ovo tako da ručno možemo promijeniti smjer daljinskim upravljačem ili nasumično tako da lopta puca u različitim smjerovima

Korak 4: Izrežite rupe u velikom spremniku

Izrežite rupe u velikom spremniku
Izrežite rupe u velikom spremniku
Izrežite rupe u velikom spremniku
Izrežite rupe u velikom spremniku
Izrežite rupe u velikom spremniku
Izrežite rupe u velikom spremniku

uzmite veliki kontejner i izrežite rupu sprijeda i straga, ne mora biti točno, ali sprijeda bi trebali biti prilično veliki kao što se vidi na slici kako bismo omogućili da se lopta ispuca u različitim smjerovima dok se servo pomiče. i stražnji dio spremnika izrezali su manju rupu kako bi omogućili izlaženje žica i postavljanje dijelova kruga u njega ili promjenu kola ako je potrebno. na prednjoj strani zalijepite servo na poklopac jednog od spremnika, a zatim na podnožje spremnika za podršku, pogledajte drugu sliku za referencu

Korak 5: Cijev

The Pipe
The Pipe

napravite ili kupite PVC cijev koja je duga 1 stopa, po mogućnosti s zavojem da se kuglica otkotrlja, a zatim izrežite peice 1,5 inča kako bi lopta ušla

Korak 6: Spremnik

The Hopper
The Hopper
The Hopper
The Hopper
The Hopper
The Hopper

izrezati 4 jednaka trapeza, mogu biti po izboru, ali moji su bili visoki 5 inča i malo nakošeni kada su ih stavili na cijev, a zatim je komad pjenaste ploče na dnu izrezao rupu dovoljno veliku za prolazak kugle za stolni tenis. zatim ih zalijepite zajedno tvoreći skakaonicu u koju će sjediti sve kuglice. kasnije ćemo ovo zalijepiti na vrh cijevi gdje je rupa izrezana

Korak 7: Postavljanje lijevka, cijevi i motora

Postavljanje lijevka, cijevi i motora
Postavljanje lijevka, cijevi i motora

poželjet ćete postaviti cijev unutar posude koja sjedi samo na rubu bijele kutije namijenjene motorima tako da će kugla izaći van i biti gurnuta kotačima. sada možete lijepiti na lijevak na vrh cijevi

Korak 8: Završni servo

Završni servo
Završni servo
Završni servo
Završni servo

ovaj servo je zalijepljen na dno lijevka/ gdje je cijev koju sam presjekao samo da bi dovoljno stršila tamo gdje ping kuglice neće pasti sve dok se ne pritisne dugme i servo ne pomakne

Korak 9: Dodajte kôd za testiranje radnih dijelova

Dodajte kôd za testiranje radnih dijelova
Dodajte kôd za testiranje radnih dijelova

// Cat fixer

// uvozimo biblioteke za korištenje naredbi u cijelom kodu, na primjer, proglašavanje pinova kao servo upravljača i postavljanje IR daljinskog upravljača #include #include

// postavljanje varijabli za podešavanje brzine za istosmjerne motore int onspeed = 255; int lowspeed = 100; int offspeed = 0;

// postavljanje pina prijemnika i dva pina motora int IR_Recv = 2; int motor1 = 10; int motor2 = 11;

// deklariranje varijabli kao servosistema kako bi program znao da je servo za korištenje posebnih naredbi Servo flap; Servo ugao;

// deklarisanje IC pina za prijem ulaza sa daljinskih upravljača // dobiva rezultate sa daljinskog IRrecv unrecv (IR_Recv); decode_results rezultati;

void setup () {

Serial.begin (9600); // započinje serijsku komunikaciju unrecv.enableIRIn (); // Pokreće prijemnik

flap.attach (7); // pričvršćuje servo poklopac na pin 7 tako da ga kasnije možemo koristiti u programskom angle.attach (4); // priključuje servo kut na pin 4 kako bismo ga kasnije mogli koristiti u programu pinMode (motor1, OUTPUT); // postavljamo motor1 na izlaz kako bismo mogli slati brzine prema unutra kada se pritisne gumb pinMode (motor2, OUTPUT); // postavite motor2 na izlaz kako bismo mogli poslati brzinu pri pritisku tipke

}

void loop () {{100} {101}

flap.write (0); // postavite servo koji kontrolira ubacivač loptice na 0 stupnjeva da ne propušta kuglice

if (unrecv.decode (& results)) {long int decCode = results.value; Serial.println (decCode); unrecv.resume ();

switch (results.value) {

slučaj 0xFFA25D: // napajanje analogWrite (motor1, onspeed); analogWrite (motor2, onspeed); kašnjenje (7000); flap.write (90); kašnjenje (500); flap.write (0); kašnjenje (2000); analogWrite (motor1, offspeed); analogWrite (motor2, offspeed); break;

slučaj 0xFFE01F: // EQ

analogWrite (motor1, onspeed); analogWrite (motor2, niska brzina); kašnjenje (7000); flap.write (90); kašnjenje (500); flap.write (0); kašnjenje (2000); analogWrite (motor1, offspeed); analogWrite (motor2, offspeed);

break;

slučaj 0xFF629D: // način

analogWrite (motor1, niska brzina); analogWrite (motor2, onspeed); kašnjenje (7000); flap.write (90); kašnjenje (500); flap.write (0); kašnjenje (2000); analogWrite (motor1, offspeed); analogWrite (motor2, offspeed);

break;

kućište 0xFF30CF: // postavljeno 1, 90 stepeni

angle.write (30);

break;

kućište 0xFF18E7: // podešavanje 2, 0 stepeni

angle.write (90);

break;

kućište 0xFF7A85: // podešavanje 3, 180 stepeni

angle.write (150);

break;

} } }

Preporučuje se: