Cuprins:

Cat Ball Shooter: 9 pași (cu imagini)
Cat Ball Shooter: 9 pași (cu imagini)

Video: Cat Ball Shooter: 9 pași (cu imagini)

Video: Cat Ball Shooter: 9 pași (cu imagini)
Video: CUM SUTEAZA LA 7 ANI 🔥 2024, Septembrie
Anonim
Cat Ball Shooter
Cat Ball Shooter

Materiale necesare

1 x senzor RFID / telecomandă

1 x Arduino uno

2 x motoare de curent continuu

1 x 180 servo

1 x 360 servo

fire multiple

Cutie / container pentru construirea proiectului

conductă pentru a alimenta mingea prin

Pasul 1: Creați circuitul pentru a alimenta motoarele și telecomanda

Creați circuitul pentru a alimenta motoarele și telecomanda
Creați circuitul pentru a alimenta motoarele și telecomanda
Creați circuitul pentru a alimenta motoarele și telecomanda
Creați circuitul pentru a alimenta motoarele și telecomanda

Construirea circuitului

construiți circuitul de mai sus și conectați-vă la aceiași pini pentru a utiliza exact același cod

Pasul 2: Creați baza pentru cele două motoare

Creați o bază pentru cele două motoare
Creați o bază pentru cele două motoare

va trebui să utilizați placa de spumă pentru a tăia dreptunghiuri de 4, 5 inch cu 2 inch pentru părți. apoi decupați pătrate de 2, 5 pe 5 inci pentru a le folosi ca sus și jos. apoi motoarele vor avea nevoie de un loc pentru așezare, deci tăiați 2 găuri cu un diametru de 23 mm și distanță de 39 mm una de cealaltă pentru a da spațiu mingii care va fi împușcată. apoi faceți un punct sau câteva găuri pe pătratul inferior pentru a permite firelor de la motoare să se conecteze la circuit.

Pasul 3: Adăugați Servo în partea inferioară a motoarelor

Adăugați Servo în partea inferioară a motoarelor
Adăugați Servo în partea inferioară a motoarelor

lipiți cu atenție servo-ul 180 sau 360 pe partea inferioară (în mijloc) a pătratului. facem acest lucru, astfel încât să putem schimba direcția manual cu telecomanda sau aleator, astfel încât mingea să tragă în direcții diferite

Pasul 4: Tăiați găurile în containerul mare

Tăiați găurile în recipientul mare
Tăiați găurile în recipientul mare
Tăiați găurile în recipientul mare
Tăiați găurile în recipientul mare
Tăiați găurile în recipientul mare
Tăiați găurile în recipientul mare

luați recipientul mare și tăiați o gaură în față și în spate, nu trebuie să fie exact, dar în față ar trebui să fim destul de mari, așa cum se vede în imagine, pentru a permite mingii să fie împușcată în direcții diferite cu servo-ul în mișcare. iar partea din spate a containerului a tăiat o gaură mai mică pentru a permite firelor să iasă și pentru a plasa piesele circuitului sau pentru a schimba circuitul dacă este necesar. în lipiciul frontal, servo-ul la capacul unuia dintre containere și apoi pe baza containerului pentru sprijin, a se vedea a doua imagine pentru referință

Pasul 5: Țeava

Conducta
Conducta

faceți sau cumpărați o țeavă din pvc care are o lungime de 1 picior, de preferință cu o curbă pentru a lăsa mingea să se rostogolească, apoi tăiați o bucată de 1,5 pentru a lăsa mingea să intre

Pasul 6: Buncărul

Buncărul
Buncărul
Buncărul
Buncărul
Buncărul
Buncărul

decupați 4 trapezoide egale, pot fi la alegere, dar ale mele aveau o înălțime de 5 și oarecum înclinate când erau așezate pe țeavă, apoi bucata de placă de spumă din partea de jos a tăiat o gaură suficient de mare pentru ca o bilă de ping pong să treacă. apoi lipiți-le împreună formând o săritură pentru ca toate bilele să se așeze. Mai târziu vom lipi acest lucru în partea superioară a țevii unde gaura este tăiată

Pasul 7: Amplasarea buncărului, a țevii și a motoarelor

Amplasarea buncărului, țevii și motoarelor
Amplasarea buncărului, țevii și motoarelor

veți dori să așezați conducta în interiorul containerului așezat chiar pe marginea cutiei albe făcute pentru motoare, astfel încât bila să iasă și să fie împinsă de roți. acum puteți lipi pe buncăr până la vârful conductei

Pasul 8: Servo-ul final

Servo-ul final
Servo-ul final
Servo-ul final
Servo-ul final

acest servo este lipit de partea inferioară a buncărului / unde conducta pe care am tăiat-o pentru a o lovi suficient de mult până unde bilele de ping nu vor cădea până când butonul nu este apăsat și servo-ul se mișcă

Pasul 9: Adăugați cod pentru a testa piesele de lucru

Adăugați cod pentru a testa piesele de lucru
Adăugați cod pentru a testa piesele de lucru

// Fixator de pisici

// import biblioteci pentru a utiliza comenzi în întregul cod, de exemplu, declararea pinilor ca servouri și configurarea telecomenzii IR #include #include

// setarea variabilelor pentru a seta viteze pentru motoarele de curent continuu int onspeed = 255; int lowspeed = 100; int offspeed = 0;

// setarea pinului receptorului infared și a celor doi pini ai motorului în IR_Recv = 2; int motor1 = 10; int motor2 = 11;

// declararea variabilelor ca servouri, astfel încât programul să știe că este un servo pentru a utiliza comenzi specifice Servo flap; Unghiul servo;

// declararea pinului IR pentru a primi intrări de la telecomenzi // obține rezultatele de la telecomanda IRrecv irrecv (IR_Recv); rezultate decode_results;

configurare nulă () {

Serial.begin (9600); // pornește comunicarea în serie irrecv.enableIRIn (); // Pornește receptorul

flap.attach (7); // atașează clapeta servo la pinul 7, astfel încât să o putem folosi mai târziu în unghiul de program.attach (4); // atașează unghiul servo la pinul 4, astfel încât să îl putem folosi mai târziu în programul pinMode (motor1, OUTPUT); // setați motor1 la o ieșire, astfel încât să putem trimite viteze la când butonul este apăsat pinMode (motor2, OUTPUT); // setați motor2 la o ieșire, astfel încât să putem trimite viteze la când butonul este apăsat

}

bucla nulă () {

flap.write (0); // setați servo-ul care controlează alimentatorul de bilă la 0 grade pentru a nu lăsa să treacă bilele

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

switch (results.value) {

caz 0xFFA25D: // putere analogWrite (motor1, onspeed); analogWrite (motor2, onspeed); întârziere (7000); flap.write (90); întârziere (500); flap.write (0); întârziere (2000); analogWrite (motor1, offspeed); analogWrite (motor2, offspeed); pauză;

caz 0xFFE01F: // EQ

analogWrite (motor1, onspeed); analogWrite (motor2, viteză mică); întârziere (7000); flap.write (90); întârziere (500); flap.write (0); întârziere (2000); analogWrite (motor1, offspeed); analogWrite (motor2, offspeed);

pauză;

caz 0xFF629D: // modul

analogWrite (motor1, viteză mică); analogWrite (motor2, onspeed); întârziere (7000); flap.write (90); întârziere (500); flap.write (0); întârziere (2000); analogWrite (motor1, offspeed); analogWrite (motor2, offspeed);

pauză;

caz 0xFF30CF: // setng 1, 90 grade

angle.write (30);

pauză;

caz 0xFF18E7: // setare 2, 0 grade

angle.write (90);

pauză;

caz 0xFF7A85: // setare 3, 180 grade

angle.write (150);

pauză;

} } }

Recomandat: