Obsah:

Cat Ball Shooter: 9 krokov (s obrázkami)
Cat Ball Shooter: 9 krokov (s obrázkami)

Video: Cat Ball Shooter: 9 krokov (s obrázkami)

Video: Cat Ball Shooter: 9 krokov (s obrázkami)
Video: Змейка Рубика КОШКА 2 | Rubik`s Snake CAT 2 2024, November
Anonim
Strieľačka s mačacími loptičkami
Strieľačka s mačacími loptičkami

Potrebný materiál

1 x RFID senzor/ diaľkové ovládanie

1 x Arduino č

2 x jednosmerné motory

1 x 180 servo

1 x 360 servo

viac drôtov

Krabica/kontajner na stavbu projektu

potrubie na vedenie lopty

Krok 1: Vytvorte obvod na napájanie motorov a diaľkových ovládačov

Vytvorte obvod na napájanie motorov a diaľkových ovládačov
Vytvorte obvod na napájanie motorov a diaľkových ovládačov
Vytvorte obvod na napájanie motorov a diaľkových ovládačov
Vytvorte obvod na napájanie motorov a diaľkových ovládačov

Budovanie okruhu

vybudujte obvod vyššie a pripojte sa k rovnakým kolíkom, aby ste použili úplne rovnaký kód

Krok 2: Vytvorte základňu pre dva motory

Vytvorte základňu pre dva motory
Vytvorte základňu pre dva motory

budete musieť použiť penovú dosku na rezanie obdĺžnikov 4, 5 palcov x 2 palcov na boky. potom vystrihnite štvorce 2,5 x 5 palcov, ktoré použijete ako hornú a dolnú časť. Ďalej budú motory potrebovať miesto na sedenie, takže vyrežte 2 otvory s priemerom 23 mm a 39 mm od seba, aby ste získali priestor na streľbu lopty. potom urobte na spodnom štvorci bod alebo niekoľko otvorov, aby sa drôty z motorov mohli pripojiť k obvodu.

Krok 3: Pridajte servo do spodnej časti motorov

Pridajte servo do spodnej časti motorov
Pridajte servo do spodnej časti motorov

servo 180 alebo 360 opatrne prilepte na spodok (v strede) štvorca. Robíme to tak, aby sme mohli zmeniť smer manuálne pomocou diaľkového ovládača alebo náhodne, aby lopta vystrelila v rôznych smeroch

Krok 4: Vyrežte otvory vo veľkom kontajneri

Vyrežte otvory vo veľkom kontajneri
Vyrežte otvory vo veľkom kontajneri
Vyrežte otvory vo veľkom kontajneri
Vyrežte otvory vo veľkom kontajneri
Vyrežte otvory vo veľkom kontajneri
Vyrežte otvory vo veľkom kontajneri

vezmite veľký kontajner a vyrežte otvor vpredu a vzadu, nemusí byť presný, ale vpredu by mal byť dosť veľký, ako je vidieť na obrázku, aby bolo možné loptičku strieľať v rôznych smeroch s pohybujúcim sa servom. a zadná časť kontajnera vyrezala menší otvor, aby umožnil výstup drôtov a umiestnenie častí obvodu alebo v prípade potreby obvod zmenil. vpredu prilepte servo na veko jednej z nádob a potom na základňu nádoby na podoprenie, odkaz nájdete na druhom obrázku

Krok 5: Potrubie

Potrubie
Potrubie

vyrobte alebo si kúpte PVC rúrku, ktorá je dlhá 1 stopu, najlepšie s oblúkom, aby sa loptička mohla prevaliť, a potom nakrájajte na 1,5 palca, aby loptička vstúpila

Krok 6: Zásobník

Zásobník
Zásobník
Zásobník
Zásobník
Zásobník
Zásobník

vystrihnite 4 rovnaké lichobežníky, ale môže byť na výber, ale moje boli vysoké 5 palcov a pri nasadení na fajku boli trochu šikmé, potom kus penovej dosky v spodnej časti vyrezal dostatočne veľký otvor, aby ním mohla prejsť loptička na ping pong. potom ich zlepte a vytvorte poskakovanie, v ktorom budú sedieť všetky gule. Neskôr to prilepíme na vrch rúrky, kde je vyrezaný otvor

Krok 7: Umiestnenie zásobníka, potrubia a motorov

Umiestnenie násypky, potrubia a motorov
Umiestnenie násypky, potrubia a motorov

budete chcieť umiestniť rúrku do kontajnera tak, aby sedel tesne na okraji bielej skrinky vyrobenej pre motory tak, aby lopta vyšla von a bola tlačená kolesami. teraz môžete prilepiť násypku k hornej časti potrubia

Krok 8: Záverečné servo

Záverečné servo
Záverečné servo
Záverečné servo
Záverečné servo

toto servo je nalepené na spodok násypky/ kde rúrka, ktorú som prerezal, len aby dostatočne trčala tam, kde ping guľôčky neprepadnú, kým nekliknete na tlačidlo a neposunie sa servo

Krok 9: Pridajte kód na testovanie pracovných častí

Pridajte kód na testovanie funkčných častí
Pridajte kód na testovanie funkčných častí

// Opravovač mačiek

// import knižníc na používanie príkazov v celom kóde, napríklad deklarovanie pinov ako serv a nastavenie IR diaľkového ovládača #include #include

// nastavenie premenných na nastavenie rýchlostí jednosmerných motorov int onspeed = 255; int nízka rýchlosť = 100; int offspeed = 0;

// nastavenie infračerveného prijímača a dvoch kolíkov motora int IR_Recv = 2; int motor1 = 10; int motor2 = 11;

// deklarovanie premenných ako serv, aby program vedel, že ide o servo na použitie konkrétnych príkazov Servo flap; Servo uhol;

// deklarovanie IR pinu na príjem vstupov z diaľkových ovládačov // získa výsledky zo vzdialeného IRrecv ircv (IR_Recv); decode_results výsledky;

neplatné nastavenie () {

Serial.begin (9600); // zaháji sériovú komunikáciu unbcv.enableIRIn (); // Spustí prijímač

flap.attach (7); // pripája klapku serva na pin 7, aby sme ju mohli neskôr použiť v programe uhol.attach (4); // pripája uhol serva k pinu 4, aby sme ho mohli neskôr použiť v programe pinMode (motor1, OUTPUT); // nastavte motor1 na výstup, aby sme mohli posielať rýchlosti dovnútra, keď je tlačidlo stlačené pinMode (motor2, OUTPUT); // nastavte motor2 na výstup, aby sme mohli posielať rýchlosti dovnútra, keď je stlačené tlačidlo

}

prázdna slučka () {

flap.write (0); // nastavte servo ovládajúce podávač guličiek na 0 stupňov, aby neprepustili žiadne loptičky

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

prepnúť (results.value) {

skriňa 0xFFA25D: // power analogWrite (motor1, onspeed); analogWrite (motor2, rýchlosť); oneskorenie (7000); flap.write (90); oneskorenie (500); flap.write (0); oneskorenie (2000); analogWrite (motor1, offspeed); analogWrite (motor2, offspeed); prestávka;

prípad 0xFFE01F: // EQ

analogWrite (motor1, rýchlosť); analogWrite (motor2, nízka rýchlosť); oneskorenie (7000); flap.write (90); oneskorenie (500); flap.write (0); oneskorenie (2000); analogWrite (motor1, offspeed); analogWrite (motor2, offspeed);

prestávka;

prípad 0xFF629D: // režim

analogWrite (motor1, nízka rýchlosť); analogWrite (motor2, rýchlosť); oneskorenie (7000); flap.write (90); oneskorenie (500); flap.write (0); oneskorenie (2000); analogWrite (motor1, offspeed); analogWrite (motor2, offspeed);

prestávka;

prípad 0xFF30CF: // nastavenie 1, 90 stupňov

uhol.písať (30);

prestávka;

prípad 0xFF18E7: // nastavenie 2, 0 stupňov

uhol.písať (90);

prestávka;

prípad 0xFF7A85: // nastavenie 3, 180 stupňov

uhol.pis (150);

prestávka;

} } }

Odporúča: