Indholdsfortegnelse:

Cat Ball Shooter: 9 trin (med billeder)
Cat Ball Shooter: 9 trin (med billeder)

Video: Cat Ball Shooter: 9 trin (med billeder)

Video: Cat Ball Shooter: 9 trin (med billeder)
Video: How to trick a cat😂 #cat #cats 2024, November
Anonim
Cat Ball Shooter
Cat Ball Shooter

Materialer nødvendige

1 x RFID -sensor/ fjernbetjening

1 x Arduino uno

2 x DC -motorer

1 x 180 servo

1 x 360 servo

flere ledninger

Kasse/container til byggeprojekt

rør til at føre bolden igennem

Trin 1: Opret kredsløbet for at drive motorerne og fjernbetjeningen

Opret kredsløbet for at drive motorerne og fjernbetjeningen
Opret kredsløbet for at drive motorerne og fjernbetjeningen
Opret kredsløbet for at drive motorerne og fjernbetjeningen
Opret kredsløbet for at drive motorerne og fjernbetjeningen

Bygger kredsløbet

bygge kredsløbet ovenfor og tilslutte de samme ben for at bruge den nøjagtig samme kode

Trin 2: Opret base for de to motorer

Opret base for de to motorer
Opret base for de to motorer

du bliver nødt til at bruge skumpladen til at skære 4, 5 tommer med 2 tommer rektangler til siderne. skær derefter 2, 5 x 5 tommer firkanter ud til brug som top og bund. næste skal motorerne have et sted at sidde på, så skær 2 huller, der er 23 mm i diameter og 39 mm fra hinanden for at give plads til bolden, der skal skydes. lav derefter et sted eller et par huller på den nederste firkant, så ledningerne fra motorerne kan tilsluttes kredsløbet.

Trin 3: Tilsæt servoen i bunden af motorerne

Tilføj servoen til bunden af motorerne
Tilføj servoen til bunden af motorerne

lim forsigtigt 180 eller 360 servoen fast på bunden (i midten) af firkanten. vi gør dette, så vi kan ændre retningen manuelt med fjernbetjeningen eller tilfældigt, så bolden skyder i forskellige retninger

Trin 4: Skær huller i den store beholder

Skær huller i den store beholder
Skær huller i den store beholder
Skær huller i den store beholder
Skær huller i den store beholder
Skær huller i den store beholder
Skær huller i den store beholder

tag den store beholder og skær et hul foran og bagpå, det behøver ikke at være nøjagtigt, men foran skal vi være ret store som set på billedet, så bolden kan skydes i forskellige retninger med servoen i bevægelse. og bagsiden af beholderen skar et mindre hul for at tillade ledningerne at komme ud og for at placere kredsløbsdelene i eller ændre kredsløbet, hvis det er nødvendigt. i fronten limes servoen til låget på en af beholderne og derefter på bunden af beholderen til støtte, se det andet billede for reference

Trin 5: Røret

Røret
Røret

lav eller køb et PVC -rør, der er 1 fod langt, gerne med en kurve til at lade bolden rulle ind, og skær derefter et stykke 1,5 ind for at lade bolden komme ind

Trin 6: Beholderen

Beholderen
Beholderen
Beholderen
Beholderen
Beholderen
Beholderen

skære 4 lige store trapezoider ud, kan vælges, men mine var 5 høje og skråt en smule, når de blev sat på røret, så skar stykket skumbræt i bunden et hul stort nok til, at en bordtennisbold kunne gå igennem. lim dem derefter sammen, så der dannes en hop til, at alle kuglerne kan sidde i. senere limer vi dette til toppen af røret, hvor hullet skæres

Trin 7: Placering af beholderen, røret og motorerne

Placering af beholderen, røret og motorerne
Placering af beholderen, røret og motorerne

du vil placere røret inde i beholderen, der sidder lige på kanten af den hvide kasse, der er lavet til motorerne, så bolden kommer ud og skubbes af hjulene. du kan nu lime på beholderen til toppen af røret

Trin 8: Den sidste servo

Den sidste servo
Den sidste servo
Den sidste servo
Den sidste servo

denne servo limes fast på bunden af beholderen/ hvor røret jeg skærer for bare at få det til at stikke nok ud til hvor pingkuglerne ikke vil falde igennem, før der klikkes på knappen og servoen bevæger sig

Trin 9: Tilføj kode for at teste arbejdsdelene

Tilføj kode for at teste arbejdsdele
Tilføj kode for at teste arbejdsdele

// Cat fixer

// importer biblioteker for at bruge kommandoer i hele koden, f.eks. erklære pins som servoer og opsætte IR -fjernbetjeningen #include #include

// opsætning af variabler til indstilling af hastigheder for DC -motorerne int onspeed = 255; int lavhastighed = 100; int offspeed = 0;

// opsætning af den infarede modtagerstift og de to motorstifter int IR_Recv = 2; int motor1 = 10; int motor2 = 11;

// deklarerer variablerne som servoer, så programmet ved, at det er en servo at bruge specifikke kommandoer Servoklap; Servovinkel;

// erklærer IR -pin for at modtage input fra fjernbetjeninger // får resultaterne fra den eksterne IRrecv irrecv (IR_Recv); decode_results resultater;

ugyldig opsætning () {

Serial.begin (9600); // starter seriel kommunikation irrecv.enableIRIn (); // Starter modtageren

klap. fastgør (7); // fastgør servoklappen til pin 7, så vi senere kan bruge den i programvinklen. vedhæfte (4); // fastgør servovinklen til pin 4, så vi senere kan bruge den i programmet pinMode (motor1, OUTPUT); // indstil motor1 til en udgang, så vi kan sende hastigheder ind, når der trykkes på knappen pinMode (motor2, OUTPUT); // indstil motor2 til en udgang, så vi kan sende hastigheder ind, når der trykkes på knappen

}

void loop () {

flap.write (0); // indstil servoen, der styrer boldfremføreren, til 0 grader for ikke at slippe nogen bolde igennem

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

switch (results.value) {

case 0xFFA25D: // power analogWrite (motor1, onspeed); analogWrite (motor2, onspeed); forsinkelse (7000); flap.write (90); forsinkelse (500); flap.write (0); forsinkelse (2000); analogWrite (motor1, offspeed); analogWrite (motor2, offspeed); pause;

sag 0xFFE01F: // EQ

analogWrite (motor1, onspeed); analogWrite (motor2, lavhastighed); forsinkelse (7000); flap.write (90); forsinkelse (500); flap.write (0); forsinkelse (2000); analogWrite (motor1, offspeed); analogWrite (motor2, offspeed);

pause;

sag 0xFF629D: // tilstand

analogWrite (motor1, lavhastighed); analogWrite (motor2, onspeed); forsinkelse (7000); flap.write (90); forsinkelse (500); flap.write (0); forsinkelse (2000); analogWrite (motor1, offspeed); analogWrite (motor2, offspeed);

pause;

sag 0xFF30CF: // sætng 1, 90 grader

vinkel.skriv (30);

pause;

sag 0xFF18E7: // indstilling 2, 0 grader

vinkel.skriv (90);

pause;

sag 0xFF7A85: // indstilling 3, 180 grader

vinkel.skriv (150);

pause;

} } }

Anbefalede: