Kassipalli laskur: 9 sammu (piltidega)
Kassipalli laskur: 9 sammu (piltidega)
Anonim
Kassi palli laskur
Kassi palli laskur

Vajalikud materjalid

1 x RFID -andur/ kaugjuhtimispult

1 x Arduino uno

2 x alalisvoolumootorit

1 x 180 servo

1 x 360 servo

mitu juhtmest

Karp/konteiner projekti ehitamiseks

toru palli söötmiseks

Samm: looge vooluahel mootorite ja kaugjuhtimispuldi toiteks

Looge ahel mootorite ja kaugjuhtimispuldi toiteks
Looge ahel mootorite ja kaugjuhtimispuldi toiteks
Looge ahel mootorite ja kaugjuhtimispuldi toiteks
Looge ahel mootorite ja kaugjuhtimispuldi toiteks

Ringkonnakohtu ehitamine

ehitage ülaltoodud ahel ja ühendage samade tihvtidega, et kasutada täpselt sama koodi

Samm: looge baas kahele mootorile

Looge baas kahele mootorile
Looge baas kahele mootorile

peate vahtplaati kasutama, et lõigata külgedele 4, 5 tolli 2 tolli ristkülikuid. seejärel lõigake välja 2, 5 x 5 tolli ruudud, mida kasutada ülemise ja alumise osana. Järgmiseks vajavad mootorid kohta, kus istuda, nii et lõigake 2 auku läbimõõduga 23 mm ja üksteisest 39 mm kaugusel, et anda ruumi palli laskmiseks. seejärel tehke alumisele ruudule koht või paar auku, et mootorite juhtmed saaksid vooluahelasse ühenduda.

Samm: lisage servo mootorite põhja

Lisage servo mootorite põhja
Lisage servo mootorite põhja

liimige ettevaatlikult 180 või 360 servo ruudu põhja (keskele). me teeme seda, et saaksime puldiga suunda käsitsi muuta või juhuslikult, nii et pall laseb eri suundades

Samm 4: lõigake avad suurde konteinerisse

Lõika aukud suures konteineris
Lõika aukud suures konteineris
Lõika aukud suures konteineris
Lõika aukud suures konteineris
Lõika aukud suures konteineris
Lõika aukud suures konteineris

võtke suur konteiner ja lõigake auk ette ja taha, see ei pea olema täpne, kuid ees peaks see olema päris suur, nagu pildil näha, et palli saaks erinevates suundades servo liigutamisel lasta. ja konteineri tagakülg lõikasid väiksema augu, et juhtmed saaksid välja tulla ja vooluahela osad paigutada või vajadusel vooluringi muuta. eespool liimige servo ühe anuma kaane külge ja seejärel toe jaoks anuma alusele, vaadake viiteid teisel pildil

Samm: toru

Toru
Toru

tehke või ostke 1 meetri pikkune pvc -toru, eelistatavalt kõveraga, et pall saaks sisse veereda, seejärel lõigake 1,5 -tolline peice sisse, et pall sisse saaks

6. samm: punker

Hopper
Hopper
Hopper
Hopper
Hopper
Hopper

lõikasin välja 4 võrdset trapetsit, need võivad olla valikulised, kuid minu omad olid 5 tolli pikad ja torule pannes veidi viltu, siis lõikas vahtplaaditükk allservas piisavalt suure augu, et pingpongi pall läbi käia. seejärel liimige need kokku, moodustades hüppe, et kõik pallid saaksid sisse istuda. hiljem liimime selle toru ülaossa, kus auk lõigatakse

7. samm: punkri, toru ja mootorite paigutamine

Punkri, toru ja mootorite paigutamine
Punkri, toru ja mootorite paigutamine

soovite asetada toru mahuti sisse, mis asub mootorite jaoks valmistatud valge kasti serval, nii et pall tuleb välja ja ratastega surutakse. nüüd saate punkri liimida toru ülaossa

8. samm: viimane servo

Lõplik servo
Lõplik servo
Lõplik servo
Lõplik servo

see servo on liimitud punkri põhja/ sinna, kuhu toru lõikasin, et see jääks piisavalt väljapoole, kus pingipallid ei kukuks läbi enne, kui nuppu klõpsatakse ja servo liigub

9. toiming: tööosade testimiseks lisage kood

Lisage tööosade testimiseks kood
Lisage tööosade testimiseks kood

// Kassi fikseerija

// importige teegid, et kasutada käske kogu koodi ulatuses, näiteks nööpnõelte deklareerimine servodeks ja IR -puldi seadistamine #include #include

// muutujate seadistamine alalisvoolumootorite kiiruste määramiseks int onspeed = 255; int madalam kiirus = 100; int offpeed = 0;

// infrapuna vastuvõtja tihvti ja kahe mootori tihvti seadistamine int IR_Recv = 2; int mootor1 = 10; int mootor2 = 11;

// muutujate deklareerimine servodeks, et programm teaks, et see on servo kasutada konkreetseid käske Servo klapp; Servo nurk;

// IR -pin -i deklareerimine sisendite vastuvõtmiseks kaugjuhtimispultidelt // saab tulemused kaug -IRrecv irrecv (IR_Recv); decode_results tulemused;

tühine seadistus () {

Seriaalne algus (9600); // käivitab jadaühenduse irrecv.enableIRIn (); // Käivitab vastuvõtja

klapp.kinnitus (7); // kinnitab servoklapi tihvti 7 külge, et saaksime seda hiljem programmi nurgas kasutada.attach (4); // kinnitab servonurga tihvtile 4, et saaksime seda hiljem programmis pinMode (mootor1, OUTPUT) kasutada; // määrake mootor1 väljundiks, et saaksime nupule vajutamisel sisestada kiirused pinMode (motor2, OUTPUT); // seadistage mootor2 väljundiks, et saaksime nupule vajutamisel kiirused sisse saata

}

void loop () {

klapp.kirjutage (0); // seadistage pallisööturit juhtiv servo 0 kraadi, et mitte ühtegi palli läbi lasta

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

lüliti (results.value) {

juhtum 0xFFA25D: // võimsus analoogWrite (mootor1, kiirus); analogWrite (mootor2, kiirus); viivitus (7000); klapp.kirjutada (90); viivitus (500); klapp.kirjutage (0); viivitus (2000); analogWrite (mootor1, teisaldamine); analoogkirjutamine (mootor2, teisendus); murda;

juhtum 0xFFE01F: // EQ

analogWrite (mootor1, kiirus); analogWrite (mootor2, aeglane kiirus); viivitus (7000); klapp.kirjutada (90); viivitus (500); klapp.kirjutage (0); viivitus (2000); analogWrite (mootor1, teisaldamine); analoogkirjutus (mootor2, teisendus);

murda;

juhtum 0xFF629D: // režiim

analogWrite (mootor1, aeglane kiirus); analogWrite (mootor2, kiirus); viivitus (7000); klapp.kirjutada (90); viivitus (500); klapp.kirjutage (0); viivitus (2000); analogWrite (mootor1, teisaldamine); analoogkirjutus (mootor2, teisendus);

murda;

korpus 0xFF30CF: // seadistus 1, 90 kraadi

nurk.kirjutada (30);

murda;

juhtum 0xFF18E7: // seadistus 2, 0 kraadi

nurk.kirjutada (90);

murda;

korpus 0xFF7A85: // seadistus 3, 180 kraadi

nurk.kirjutada (150);

murda;

} } }