Innehållsförteckning:

Cat Ball Shooter: 9 steg (med bilder)
Cat Ball Shooter: 9 steg (med bilder)

Video: Cat Ball Shooter: 9 steg (med bilder)

Video: Cat Ball Shooter: 9 steg (med bilder)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, November
Anonim
Cat Ball Shooter
Cat Ball Shooter

Material behövs

1 x RFID -sensor/ fjärrkontroll

1 x Arduino uno

2 x likströmsmotorer

1 x 180 servo

1 x 360 servo

flera ledningar

Låda/container för att bygga projekt

rör för att mata bollen igenom

Steg 1: Skapa kretsen för att driva motorerna och fjärrkontrollen

Skapa kretsen för att driva motorerna och fjärrkontrollen
Skapa kretsen för att driva motorerna och fjärrkontrollen
Skapa kretsen för att driva motorerna och fjärrkontrollen
Skapa kretsen för att driva motorerna och fjärrkontrollen

Bygga kretsen

bygg kretsen ovan och anslut till samma stift för att använda exakt samma kod

Steg 2: Skapa bas för de två motorerna

Skapa bas för de två motorerna
Skapa bas för de två motorerna

du måste använda skumbrädan för att skära 4, 5 tum med 2 tum rektanglar för sidorna. skär sedan ut 2, 5 x 5 tum rutor som ska användas som topp och botten. nästa motorer kommer att behöva en plats att sitta på så skär 2 hål som är 23 mm i diameter och 39 mm från varandra för att ge plats för bollen att skjutas. gör sedan en plats eller ett par hål på den nedre rutan så att ledningarna från motorerna kan anslutas till kretsen.

Steg 3: Lägg till servon i botten av motorerna

Lägg till servon i botten av motorerna
Lägg till servon i botten av motorerna

lim försiktigt 180 eller 360 servon på botten (i mitten) av torget. vi gör detta så att vi kan ändra riktningen manuellt med fjärrkontrollen eller slumpmässigt så att bollen skjuter åt olika håll

Steg 4: Skär hål i den stora behållaren

Skär hål i den stora behållaren
Skär hål i den stora behållaren
Skär hål i den stora behållaren
Skär hål i den stora behållaren
Skär hål i den stora behållaren
Skär hål i den stora behållaren

ta den stora behållaren och skär ett hål fram och bak, det behöver inte vara exakt men framåt ska vi vara ganska stora som på bilden så att bollen kan skjutas i olika riktningar med servon i rörelse. och baksidan av behållaren skär ett mindre hål så att ledningarna kan komma ut och för att placera kretsdelarna i eller ändra kretsen om det behövs. limma servon i fronten på locket på en av behållarna och sedan på behållarens botten för stöd, se den andra bilden för referens

Steg 5: Röret

Röret
Röret

gör eller köp ett PVC -rör som är 1 fot långt, helst med en kurva för att låta bollen rulla in och skär sedan en bit 1,5 för att låta bollen komma in

Steg 6: Hopparen

Hopparen
Hopparen
Hopparen
Hopparen
Hopparen
Hopparen

klipp ut 4 lika stora trapets, kan väljas men mina var 5 långa och snedställda lite när de sattes på röret, sedan skärde skumbrädan längst ner ett hål som var tillräckligt stort för att en pingisboll skulle gå igenom. limma sedan ihop dem och bilda en hoppning för alla bollar att sitta i. senare klistrar vi fast det på toppen av röret där hålet skärs

Steg 7: Placera behållaren, röret och motorerna

Placering av behållare, rör och motorer
Placering av behållare, rör och motorer

du kommer att vilja placera röret inuti behållaren som sitter precis på kanten av den vita lådan för motorerna så att bollen kommer ut och skjuts av hjulen. du kan nu limma på behållaren till rörets ovansida

Steg 8: Den sista servon

Den sista servon
Den sista servon
Den sista servon
Den sista servon

denna servo är limmad på botten av behållaren/ där röret jag skär för att bara sticka ut tillräckligt mycket där pingbollarna inte kommer att falla igenom förrän knappen klickas och servon rör sig

Steg 9: Lägg till kod för att testa arbetsdelarna

Lägg till kod för att testa arbetsdelarna
Lägg till kod för att testa arbetsdelarna

// Kattfixare

// importera bibliotek för att använda kommandon i hela koden, till exempel deklarera stift som servon och konfigurera IR -fjärrkontrollen #inkludera #inkludera

// ställa in variabler för att ställa in hastigheter för DC -motorerna int onspeed = 255; int låg hastighet = 100; int offspeed = 0;

// att ställa in den infared mottagarstiftet och de två motorstiften int IR_Recv = 2; int motor1 = 10; int motor2 = 11;

// deklarera variablerna som servon så att programmet vet att det är en servo att använda specifika kommandon Servoflik; Servovinkel;

// att deklarera IR -stift för att ta emot ingångar från fjärrkontroller // hämtar resultaten från fjärrkontrollen IRrecv irrecv (IR_Recv); resultat avkodningsresultat;

void setup () {

Serial.begin (9600); // startar seriell kommunikation irrecv.enableIRIn (); // Startar mottagaren

klaff. fäst (7); // fäster servoklaffen till stift 7 så att vi kan använda den senare i programvinkeln. fäst (4); // fäster servovinkeln till stift 4 så att vi kan använda den senare i programmet pinMode (motor1, OUTPUT); // ställ in motor1 på en utgång så att vi kan skicka hastigheter till in när knappen trycks in pinMode (motor2, OUTPUT); // ställ in motor2 på en utgång så att vi kan skicka hastigheter till in när knappen trycks in

}

void loop () {

flap.write (0); // ställ in servon som styr bollmataren till 0 grader för att inte släppa igenom några bollar

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

switch (results.value) {

fall 0xFFA25D: // effekt analogWrite (motor1, onspeed); analogWrite (motor2, onspeed); fördröjning (7000); flap.write (90); fördröjning (500); flap.write (0); fördröjning (2000); analogWrite (motor1, offspeed); analogWrite (motor2, offspeed); ha sönder;

fall 0xFFE01F: // EQ

analogWrite (motor1, onspeed); analogWrite (motor2, låg hastighet); fördröjning (7000); flap.write (90); fördröjning (500); flap.write (0); fördröjning (2000); analogWrite (motor1, offspeed); analogWrite (motor2, offspeed);

ha sönder;

fall 0xFF629D: // läge

analogWrite (motor1, låg hastighet); analogWrite (motor2, onspeed); fördröjning (7000); flap.write (90); fördröjning (500); flap.write (0); fördröjning (2000); analogWrite (motor1, offspeed); analogWrite (motor2, offspeed);

ha sönder;

fall 0xFF30CF: // inställning 1, 90 grader

vinkel.skriv (30);

ha sönder;

fall 0xFF18E7: // inställning 2, 0 grader

vinkel.skriv (90);

ha sönder;

fall 0xFF7A85: // inställning 3, 180 grader

vinkel.skriv (150);

ha sönder;

} } }

Rekommenderad: