Tartalomjegyzék:

Cat Ball Shooter: 9 lépés (képekkel)
Cat Ball Shooter: 9 lépés (képekkel)

Videó: Cat Ball Shooter: 9 lépés (képekkel)

Videó: Cat Ball Shooter: 9 lépés (képekkel)
Videó: Котик в шаурме🐱 #симбочка #анимация #cat 2024, November
Anonim
Cat Ball Shooter
Cat Ball Shooter

Szükséges anyagok

1 x RFID érzékelő/ távirányító

1 x Arduino uno

2 x egyenáramú motor

1 x 180 szervó

1 x 360 szervó

több vezeték

Doboz/konténer a projekt építéséhez

cső a labda átvezetéséhez

1. lépés: Hozza létre az áramkört a motorok és a távirányító táplálásához

Hozza létre az áramkört a motorok és a távirányító táplálásához
Hozza létre az áramkört a motorok és a távirányító táplálásához
Hozza létre az áramkört a motorok és a távirányító táplálásához
Hozza létre az áramkört a motorok és a távirányító táplálásához

Az áramkör építése

építse fel az áramkört fent, és csatlakozzon ugyanazokhoz a csapokhoz, hogy pontosan ugyanazt a kódot használja

2. lépés: Hozzon létre alapot a két motorhoz

Hozzon létre alapot a két motor számára
Hozzon létre alapot a két motor számára

a hablap segítségével 4, 5 hüvelyk x 2 hüvelykes téglalapokat kell vágni az oldalakhoz. majd vágjon ki 2, 5 x 5 hüvelyk négyzeteket, amelyeket felül és alul használhat. ezután a motoroknak helyet kell találniuk, ezért vágjunk ki 2 lyukat, amelyek átmérője 23 mm, és egymástól 39 mm -es távolság, hogy helyet biztosítsanak a labda lövéséhez. majd készítsen egy foltot vagy néhány lyukat az alsó négyzeten, hogy a motorok vezetékei bekapcsolódhassanak az áramkörbe.

3. lépés: Adja hozzá a szervót a motorok aljához

Adja hozzá a szervót a motorok aljához
Adja hozzá a szervót a motorok aljához

óvatosan ragasztja a 180 vagy 360 szervót a négyzet aljára (középre). ezt úgy tesszük, hogy a távirányítóval kézzel vagy véletlenszerűen megváltoztathatjuk az irányt, így a labda különböző irányokban lő

4. lépés: Vágjon lyukakat a nagy tartályban

Vágjon lyukakat a nagy tartályban
Vágjon lyukakat a nagy tartályban
Vágjon lyukakat a nagy tartályban
Vágjon lyukakat a nagy tartályban
Vágjon lyukakat a nagy tartályban
Vágjon lyukakat a nagy tartályban

vegye a nagy tartályt, és vágjon egy lyukat elöl és hátul, nem kell pontosnak lennie, de elöl elég nagynak kell lennie, mint a képen látható, hogy lehetővé tegye a labda különböző irányokba való lövését a szervó mozgatásával. és a tartály hátulja kisebb lyukat vágott, hogy a vezetékek kijöhessenek, és az áramköri részeket behelyezhessék, vagy ha szükséges, változtassák meg az áramkört. az elülső oldalon ragassza fel a szervót az egyik tartály fedelére, majd a tartály aljára, hogy megtámassza, lásd a második képet referenciaként

5. lépés: A cső

A cső
A cső

készítsen vagy vásároljon 1 láb hosszú PVC -csövet, lehetőleg görbével, hogy a golyó be tudjon gurulni, majd vágjon egy 1,5 cm -es peice -t, hogy a labda bejusson

6. lépés: A garat

A Hopper
A Hopper
A Hopper
A Hopper
A Hopper
A Hopper

kivágott 4 egyenlő trapézot, választható, de az enyém 5 magas volt, és kissé ferde volt, amikor a csőre helyezték, majd az alján lévő habszivacsdarab elég nagy lyukat vágott ahhoz, hogy egy pingpong labda áthaladjon. majd ragasszuk össze őket, így ugrálunk, hogy az összes golyó beférjen. később a cső tetejére ragasztjuk, ahol a lyukat elvágják

7. lépés: A garat, a cső és a motorok elhelyezése

A garat, a cső és a motorok elhelyezése
A garat, a cső és a motorok elhelyezése

a csövet a tartály belsejébe kell helyezni, éppen a motorokhoz készített fehér doboz szélén ülve, hogy a labda kijöjjön, és a kerekek tolják. most ragaszthatja a garatot a cső tetejére

8. lépés: Az utolsó szervo

Az utolsó szervó
Az utolsó szervó
Az utolsó szervó
Az utolsó szervó

ez a szervó a garat aljára van ragasztva/ ahol a cső, amelyet levágtam, hogy eléggé kilógjon onnan, ahol a ping golyók nem esnek át, amíg a gombra nem kattintanak és a szervó el nem mozdul

9. lépés: Kód hozzáadása a munkaalkatrészek teszteléséhez

Kód hozzáadása a működő alkatrészek teszteléséhez
Kód hozzáadása a működő alkatrészek teszteléséhez

// Macska rögzítő

// importálja a könyvtárakat, hogy parancsokat használjon az egész kódban, például a csapokat szervóként deklarálja, és beállítja az infravörös távirányítót #include #include

// változók beállítása az egyenáramú motorok fordulatszámának beállításához int onspeed = 255; int alacsony sebesség = 100; int offspeed = 0;

// az infravörös vevőcsap és a két motorcsap beállítása int IR_Recv = 2; int motor1 = 10; int motor2 = 11;

// a változók szervóként való deklarálása, hogy a program tudja, hogy szervó, ha specifikus parancsokat használ Servo flap; Szervo szög;

// IR pin deklarálása a távvezérlőkről érkező bemenetek fogadásához // az eredményeket a távoli IRrecv irrecv (IR_Recv) -ről kapja; decode_results eredmények;

void setup () {

Sorozat.kezdet (9600); // soros kommunikációt indít irrecv.enableIRIn (); // Elindítja a vevőt

flap.csatlakozó (7); // a szervólapot a 7 -es csaphoz rögzíti, hogy később a programszögben használhassuk.attach (4); // a szervo szöget a 4 -es tüskéhez csatolja, hogy később használhassuk a programban pinMode (motor1, OUTPUT); // állítsa a motor1 -et egy kimenetre, hogy sebességet küldhessünk be a gomb megnyomásakor pinMode (motor2, OUTPUT); // állítsa a motor2 -t egy kimenetre, hogy a gomb megnyomásakor sebességet küldhessünk be

}

void loop () {

flap.write (0); // állítsa a labdaadagolót vezérlő szervót 0 fokra, hogy ne engedjen át golyókat

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

switch (results.value) {

eset 0xFFA25D: // teljesítmény analógWrite (motor1, sebesség); analogWrite (motor2, sebesség); késleltetés (7000); flap.write (90); késleltetés (500); flap.write (0); késleltetés (2000); analogWrite (motor1, eltolt); analogWrite (motor2, eltolt); szünet;

eset 0xFFE01F: // EQ

analogWrite (motor1, sebesség); analogWrite (motor2, alacsony sebesség); késleltetés (7000); flap.write (90); késleltetés (500); flap.write (0); késleltetés (2000); analogWrite (motor1, eltolt); analogWrite (motor2, eltolt);

szünet;

eset 0xFF629D: // mód

analogWrite (motor1, alacsony sebesség); analogWrite (motor2, sebesség); késleltetés (7000); flap.write (90); késleltetés (500); flap.write (0); késleltetés (2000); analogWrite (motor1, eltolt); analogWrite (motor2, eltolt);

szünet;

tok 0xFF30CF: // 1. beállítás, 90 fok

szög.írás (30);

szünet;

eset 0xFF18E7: // 2. beállítás, 0 fok

szög.írás (90);

szünet;

tok 0xFF7A85: // 3. beállítás, 180 fok

szög.írás (150);

szünet;

} } }

Ajánlott: