Sisällysluettelo:

Cat Ball Shooter: 9 vaihetta (kuvilla)
Cat Ball Shooter: 9 vaihetta (kuvilla)

Video: Cat Ball Shooter: 9 vaihetta (kuvilla)

Video: Cat Ball Shooter: 9 vaihetta (kuvilla)
Video: How to Study the Bible Intentionally | Reuben A. Torrey | Christian Audiobook 2024, Marraskuu
Anonim
Kissanpallon ampuja
Kissanpallon ampuja

Tarvittavat materiaalit

1 x RFID -anturi/ kaukosäädin

1 x Arduino uno

2 x DC -moottorit

1 x 180 servoa

1 x 360 servo

useita johtoja

Laatikko/kontti projektin rakentamiseksi

putki pallon syöttämiseksi

Vaihe 1: Luo piiri moottorien ja kaukosäätimen virran saamiseksi

Luo piiri moottorien ja kaukosäätimen virran saamiseksi
Luo piiri moottorien ja kaukosäätimen virran saamiseksi
Luo piiri moottorien ja kaukosäätimen virran saamiseksi
Luo piiri moottorien ja kaukosäätimen virran saamiseksi

Piirin rakentaminen

rakenna piiri edellä ja muodosta yhteys samoihin nastoihin käyttääksesi täsmälleen samaa koodia

Vaihe 2: Luo tukikohta kahdelle moottorille

Luo perusta kahdelle moottorille
Luo perusta kahdelle moottorille

sinun on käytettävä vaahtomuovilevyä leikkaamaan 4, 5 x 2 tuuman suorakulmioita sivuille. leikkaa sitten 2, 5 x 5 tuuman neliöt käytettäväksi ylä- ja alaosana. seuraavaksi moottorit tarvitsevat istumapaikan, joten leikkaa 2 reikää, jotka ovat halkaisijaltaan 23 mm ja 39 mm toisistaan, jotta pallo voi ampua. tee sitten piste tai pari reikää alempaan neliöön, jotta moottorien johdot voivat kytkeytyä piiriin.

Vaihe 3: Lisää servo moottorien pohjaan

Lisää servo moottorien pohjaan
Lisää servo moottorien pohjaan

liimaa varovasti 180 tai 360 servo neliön pohjaan (keskelle). teemme tämän, jotta voimme muuttaa suuntaa manuaalisesti kaukosäätimellä tai satunnaisesti, jotta pallo ampuu eri suuntiin

Vaihe 4: Leikkaa reikiä suureen astiaan

Leikkaa reikiä suureen astiaan
Leikkaa reikiä suureen astiaan
Leikkaa reikiä suureen astiaan
Leikkaa reikiä suureen astiaan
Leikkaa reikiä suureen astiaan
Leikkaa reikiä suureen astiaan

Ota suuri säiliö ja leikkaa reikä eteen ja taakse, sen ei tarvitse olla tarkka, mutta edestä sen pitäisi olla melko suuri, kuten kuvassa näkyy, jotta pallo voidaan ampua eri suuntiin servon liikkuessa. ja säiliön takaosa leikkaa pienemmän reiän, jotta johdot voivat tulla ulos ja asettaa piirin osat tai muuttaa piiriä tarvittaessa. liimaa etupuolella servo yhden säiliön kanteen ja sitten säiliön pohjalle tukea varten, katso toinen kuva

Vaihe 5: Putki

Putki
Putki

tee tai osta 1 metrin pituinen PVC -putki, mieluiten kaareva, jotta pallo pääsee sisään, ja leikkaa 1,5 tuuman kuutio, jotta pallo pääsee sisään

Vaihe 6: Säiliö

Hopper
Hopper
Hopper
Hopper
Hopper
Hopper

leikkaa 4 yhtä suurta puolisuunnikasta, voi olla valinnanvaraa, mutta minun oli 5 pitkä ja kalteva hiukan putkeen kiinnitettäessä, sitten vaahtomuovilevyn palanen leikkaa reikän, joka oli tarpeeksi suuri pingispallon läpi menemiseksi. liimaa ne sitten yhteen muodostaen hyppyjä, jotta kaikki pallot istuvat sisään. myöhemmin liimaamme tämän putken yläosaan, jossa reikä leikataan

Vaihe 7: Säiliön, putken ja moottorien sijoittaminen

Säiliön, putken ja moottorien sijoittaminen
Säiliön, putken ja moottorien sijoittaminen

haluat sijoittaa putken säiliön sisälle, joka sijaitsee aivan moottorille tehdyn valkoisen laatikon reunalla, jotta pallo tulee ulos ja pyörät työntävät sitä. voit nyt liimata säiliön putken yläosaan

Vaihe 8: Viimeinen servo

Viimeinen servo
Viimeinen servo
Viimeinen servo
Viimeinen servo

tämä servo on liimattu täyttösuppilon pohjaan/ kohtaan, jossa leikkaamani putki tarttuu tarpeeksi ulos siitä, missä pingipallot eivät putoa, ennen kuin painiketta napsautetaan ja servo liikkuu

Vaihe 9: Lisää koodi testataksesi työosia

Lisää koodi testataksesi työosia
Lisää koodi testataksesi työosia

// Kissankiinnitin

// tuoda kirjastoja käyttämään komentoja koko koodissa, esimerkiksi ilmoittamalla nastat servoiksi ja määrittämällä IR -kaukosäädin #include #include

// muuttujien asettaminen tasavirtamoottoreiden nopeuksien asettamiseksi int onspeed = 255; int hidas nopeus = 100; int offpeed = 0;

// infrapunavastaanottimen ja kahden moottorin nastan asettaminen int IR_Recv = 2; int moottori1 = 10; int moottori2 = 11;

// muuttujien ilmoittaminen servoiksi, jotta ohjelma tietää olevansa servo käyttää tiettyjä komentoja Servo flap; Servokulma;

// IR -nastan ilmoittaminen vastaanottamaan tulot kaukosäätimiltä // saa tulokset kauko -ohjaimesta IRrecv irrecv (IR_Recv); decode_results tulokset;

void setup () {

Sarja.alku (9600); // aloittaa sarjaliikenteen irrecv.enableIRIn (); // Käynnistää vastaanottimen

läppä. kiinnike (7); // kiinnittää servoläpän nastaan 7, jotta voimme käyttää sitä myöhemmin ohjelman kulmassa.attach (4); // kiinnittää servokulman nastaan 4, jotta voimme käyttää sitä myöhemmin ohjelmassa pinMode (moottori1, OUTPUT); // aseta moottori1 lähtöön, jotta voimme lähettää nopeudet sisään, kun painiketta painetaan pinMode (moottori2, OUTPUT); // aseta moottori2 lähtöön, jotta voimme lähettää nopeudet sisään, kun painiketta painetaan

}

void loop () {

läppä.kirjoita (0); // aseta pallon syöttölaitetta ohjaava servo 0 asteeseen, jotta pallo ei pääse läpi

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

kytkin (results.value) {

tapaus 0xFFA25D: // power analogWrite (moottori1, nopeus); analogWrite (moottori2, nopeus); viive (7000); läppä.kirjoita (90); viive (500); läppä.kirjoita (0); viive (2000); analogWrite (moottori1, nopeus); analogWrite (moottori2, nopeus); tauko;

tapaus 0xFFE01F: // EQ

analogWrite (moottori1, nopeus); analogWrite (moottori2, hidas nopeus); viive (7000); läppä.kirjoita (90); viive (500); läppä.kirjoita (0); viive (2000); analogWrite (moottori1, nopeus); analogWrite (moottori2, nopeus);

tauko;

tapaus 0xFF629D: // -tila

analogWrite (moottori1, hidas); analogWrite (moottori2, nopeus); viive (7000); läppä.kirjoita (90); viive (500); läppä.kirjoita (0); viive (2000); analogWrite (moottori1, nopeus); analogWrite (moottori2, nopeus);

tauko;

kotelo 0xFF30CF: // asetus 1, 90 astetta

kulma.kirjoitus (30);

tauko;

tapaus 0xFF18E7: // asetus 2, 0 astetta

kulma.kirjoitus (90);

tauko;

kotelo 0xFF7A85: // asetus 3, 180 astetta

kulma.kirjoitus (150);

tauko;

} } }

Suositeltava: