Inhoudsopgave:

Cat Ball Shooter - Ajarnpa
Cat Ball Shooter - Ajarnpa

Video: Cat Ball Shooter - Ajarnpa

Video: Cat Ball Shooter - Ajarnpa
Video: Real Life Voodoo Doll Walks... 2024, November
Anonim
Cat Ball Shooter
Cat Ball Shooter

Benodigde materialen

1 x RFID-sensor / afstandsbediening

1 x Arduino-uno

2 x DC-motoren

1 x 180 servo

1 x 360-servo

meerdere draden

Doos/container om project te bouwen

pijp om de bal door te voeren

Stap 1: Creëer het circuit om de motoren en afstandsbediening van stroom te voorzien

Creëer het circuit om de motoren en afstandsbediening van stroom te voorzien
Creëer het circuit om de motoren en afstandsbediening van stroom te voorzien
Creëer het circuit om de motoren en afstandsbediening van stroom te voorzien
Creëer het circuit om de motoren en afstandsbediening van stroom te voorzien

Het circuit bouwen

bouw het bovenstaande circuit en maak verbinding met dezelfde pinnen om exact dezelfde code te gebruiken

Stap 2: Creëer een basis voor de twee motoren

Creëer een basis voor de twee motoren
Creëer een basis voor de twee motoren

je moet het foamboard gebruiken om rechthoeken van 4, 5 inch bij 2 inch voor de zijkanten te snijden. knip vervolgens vierkanten van 2, 5 bij 5 inch uit om als boven- en onderkant te gebruiken. vervolgens hebben de motoren een plaats nodig om op te zitten, dus snijd 2 gaten met een diameter van 23 mm en een onderlinge afstand van 39 mm om ruimte te geven voor de bal die moet worden geschoten. maak vervolgens een plek of een paar gaten op het onderste vierkant zodat de draden van de motoren op het circuit kunnen worden aangesloten.

Stap 3: Voeg de servo toe aan de onderkant van de motoren

Voeg de servo toe aan de onderkant van de motoren
Voeg de servo toe aan de onderkant van de motoren

lijm de 180 of 360 servo voorzichtig op de onderkant (in het midden) van het vierkant. we doen dit zodat we de richting handmatig kunnen veranderen met de afstandsbediening of willekeurig zodat de bal in verschillende richtingen schiet

Stap 4: Snijd gaten in de grote container

Gaten snijden in de grote container
Gaten snijden in de grote container
Gaten snijden in de grote container
Gaten snijden in de grote container
Gaten snijden in de grote container
Gaten snijden in de grote container

neem de grote container en knip een gat aan de voor- en achterkant, het hoeft niet exact te zijn, maar aan de voorkant moeten we behoorlijk groot zijn zoals te zien op de foto om de bal in verschillende richtingen te laten schieten terwijl de servo beweegt. en de achterkant van de container snijdt een kleiner gat om de draden naar buiten te laten komen en om de circuitonderdelen erin te plaatsen of het circuit te veranderen indien nodig. aan de voorkant lijm de servo op het deksel van een van de containers en vervolgens op de bodem van de container voor ondersteuning, zie de tweede afbeelding voor referentie

Stap 5: De pijp

De pijp
De pijp

maak of koop een pvc-pijp die 1 voet lang is, bij voorkeur met een bocht om de bal naar binnen te laten rollen en knip dan een stuk van 1,5 inch in om de bal binnen te laten komen

Stap 6: De hopper

De Hopper
De Hopper
De Hopper
De Hopper
De Hopper
De Hopper

knip 4 gelijke trapezoïden uit, kan naar keuze zijn, maar de mijne waren 5 lang en liepen een beetje schuin toen ze op de pijp werden geplaatst, en toen sneed het stuk schuimplaat aan de onderkant een gat dat groot genoeg was voor een pingpongbal om er doorheen te gaan. lijm ze vervolgens aan elkaar en vorm een huppeltje zodat alle ballen erin kunnen zitten. later lijmen we dit aan de bovenkant van de pijp waar het gat wordt gesneden

Stap 7: Het plaatsen van de trechter, pijp en motoren

De trechter, pijp en motoren plaatsen
De trechter, pijp en motoren plaatsen

je wilt de pijp in de container plaatsen, net op de rand van de witte doos die voor de motoren is gemaakt, zodat de bal naar buiten komt en door de wielen wordt geduwd. je kunt nu de trechter op de bovenkant van de pijp lijmen

Stap 8: De laatste servo

De laatste servo
De laatste servo
De laatste servo
De laatste servo

deze servo is op de bodem van de trechter gelijmd / waar de pijp die ik heb gesneden om hem net genoeg uit te steken zodat de ping-ballen er niet doorheen vallen totdat de knop wordt ingedrukt en de servo beweegt

Stap 9: Code toevoegen om de werkende delen te testen

Code toevoegen om de werkende delen te testen
Code toevoegen om de werkende delen te testen

//Kattenreparateur

//importeer bibliotheken om opdrachten in de hele code te gebruiken, bijvoorbeeld pinnen als servo's declareren en de IR-afstandsbediening instellen #include #include

// variabelen instellen om snelheden in te stellen voor de DC-motoren int onspeed = 255; int lage snelheid = 100; int offspeed = 0;

// instellen van de infared-ontvangerpin en de twee motorpinnen int IR_Recv = 2; int motor1 = 10; int motor2 = 11;

// de variabelen declareren als servo's zodat het programma weet dat het een servo is om specifieke commando's te gebruiken Servo flap; Servohoek;

// IR-pin declareren om invoer van afstandsbedieningen te ontvangen // krijgt de resultaten van de externe IRrecv irrecv (IR_Recv); decode_results resultaten;

ongeldige setup() {

Serieel.begin(9600); //start seriële communicatie irrecv.enableIRIn(); // Start de ontvanger

flap.attach(7); // bevestigt de servoklep aan pin 7 zodat we deze later in het programma angle.attach (4) kunnen gebruiken; // hecht de servohoek aan pin 4 zodat we deze later in het programma pinMode (motor1, OUTPUT) kunnen gebruiken; // stel motor1 in op een uitgang zodat we snelheden kunnen sturen naar wanneer de knop wordt ingedrukt pinMode (motor2, OUTPUT); // stel motor2 in op een uitgang zodat we snelheden kunnen sturen naar binnen wanneer op de knop wordt gedrukt

}

lege lus() {

flap.schrijven(0); // zet de servo die de balaanvoer regelt op 0 graden om geen ballen door te laten

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

switch(resultaten.waarde) {

case 0xFFA25D: // power analogWrite (motor1, onspeed); analogWrite(motor2, op snelheid); vertraging (7000); flap.write(90); vertraging (500); flap.schrijven(0); vertraging (2000); analogWrite(motor1, offspeed); analogWrite(motor2, offspeed); pauze;

geval 0xFFE01F: //EQ

analogWrite(motor1, op snelheid); analogWrite(motor2, lage snelheid); vertraging (7000); flap.write(90); vertraging (500); flap.schrijven(0); vertraging (2000); analogWrite(motor1, offspeed); analogWrite(motor2, offspeed);

pauze;

geval 0xFF629D: //modus

analogWrite(motor1, lage snelheid); analogWrite(motor2, op snelheid); vertraging (7000); flap.write(90); vertraging (500); flap.schrijven(0); vertraging (2000); analogWrite(motor1, offspeed); analogWrite(motor2, offspeed);

pauze;

geval 0xFF30CF: // instelling 1, 90 graden

hoek.schrijven(30);

pauze;

geval 0xFF18E7: // instelling 2, 0 graden

hoek.schrijven(90);

pauze;

geval 0xFF7A85: // instelling 3, 180 graden

hoek.schrijven(150);

pauze;

} } }

Aanbevolen: