Spisu treści:

Cat Ball Shooter: 9 kroków (ze zdjęciami)
Cat Ball Shooter: 9 kroków (ze zdjęciami)

Wideo: Cat Ball Shooter: 9 kroków (ze zdjęciami)

Wideo: Cat Ball Shooter: 9 kroków (ze zdjęciami)
Wideo: Ludzie, którzy zamienili się w zwierzęta 😲🤔 2024, Listopad
Anonim
Strzelanka kocia kula
Strzelanka kocia kula

Potrzebne materiały

1 x czujnik/pilot RFID

1 x Arduino

2 x silniki prądu stałego

1x180 serwo

1x360 serwo

wiele przewodów

Pudełko/pojemnik do zbudowania projektu

rura do podawania piłki

Krok 1: Utwórz obwód do zasilania silników i zdalnego

Utwórz obwód do zasilania silników i zdalnego
Utwórz obwód do zasilania silników i zdalnego
Utwórz obwód do zasilania silników i zdalnego
Utwórz obwód do zasilania silników i zdalnego

Budowanie obwodu

zbuduj obwód powyżej i podłącz do tych samych pinów, aby użyć dokładnie tego samego kodu;

Krok 2: Utwórz bazę dla dwóch silników

Stwórz bazę dla dwóch silników
Stwórz bazę dla dwóch silników

będziesz musiał użyć płyty piankowej, aby wyciąć prostokąty o wymiarach 4, 5 cala na 2 cale na boki. następnie wytnij kwadraty o wymiarach 2, 5 na 5 cali, aby wykorzystać je jako górną i dolną część. następnie silniki będą potrzebowały miejsca do siedzenia, więc wytnij 2 otwory o średnicy 23 mm i oddalone od siebie o 39 mm, aby zrobić miejsce na wystrzelenie piłki. następnie zrób miejsce lub kilka otworów na dolnym kwadracie, aby umożliwić podłączenie przewodów z silników do obwodu.

Krok 3: Dodaj serwo do dolnej części silników

Dodaj serwo do dolnej części silników
Dodaj serwo do dolnej części silników

ostrożnie przyklej serwo 180 lub 360 na dole (w środku) kwadratu. robimy to, aby zmienić kierunek ręcznie za pomocą pilota lub losowo, aby piłka wystrzeliła w różnych kierunkach

Krok 4: Wytnij otwory w dużym pojemniku

Wytnij otwory w dużym pojemniku
Wytnij otwory w dużym pojemniku
Wytnij otwory w dużym pojemniku
Wytnij otwory w dużym pojemniku
Wytnij otwory w dużym pojemniku
Wytnij otwory w dużym pojemniku

weź duży pojemnik i wytnij dziurę z przodu iz tyłu, nie musi to być dokładne, ale z przodu powinien być dość duży, jak widać na zdjęciu, aby piłka mogła wystrzelić w różnych kierunkach z poruszającym się serwomechanizmem. a tył pojemnika wyciąć mniejszy otwór, aby umożliwić wyjście przewodów i umieszczenie części obwodu lub zmianę obwodu w razie potrzeby. z przodu przyklej serwo do pokrywy jednego z pojemników, a następnie do podstawy pojemnika w celu podparcia, patrz drugie zdjęcie jako odniesienie

Krok 5: Fajka

Rura
Rura

zrób lub kup rurę pcv o długości 1 stopy, najlepiej z krzywizną, aby piłka mogła się toczyć, a następnie odetnij kawałek 1,5 , aby piłka weszła

Krok 6: Zasobnik

Zasobnik
Zasobnik
Zasobnik
Zasobnik
Zasobnik
Zasobnik

wyciąć 4 równe trapezy, mogą być do wyboru, ale moje miały 5 cali wysokości i były nieco pochylone po nałożeniu na rurę, a następnie kawałek płyty piankowej na dole wyciąć otwór wystarczająco duży, aby mogła przejść piłka do ping ponga. następnie sklej je ze sobą tworząc podskok, w którym wszystkie kulki się usiądą. później przykleimy to do górnej części rury, w której wycinany jest otwór

Krok 7: Umieszczanie zasobnika, rury i silników

Umieszczanie zasobnika, rury i silników
Umieszczanie zasobnika, rury i silników

będziesz chciał umieścić rurę w pojemniku, siedząc tuż na krawędzi białego pudełka wykonanego dla silników, aby kulka wyszła i była popychana przez koła. możesz teraz przykleić lej do górnej części rury

Krok 8: Ostateczne Servo

Ostateczny serwo
Ostateczny serwo
Ostateczny serwo
Ostateczny serwo

to serwo jest przyklejone na dnie leja zasypowego / gdzie rura, którą wyciąłem, aby wystawała na tyle, aby kulki pingujące nie wpadły, dopóki nie klikniesz przycisku i serwo się poruszy

Krok 9: Dodaj kod, aby przetestować części robocze

Dodaj kod, aby przetestować części robocze
Dodaj kod, aby przetestować części robocze

//Naprawiacz kotów

//importuj biblioteki, aby używać poleceń w całym kodzie, na przykład deklarowanie pinów jako serwomechanizmów i konfigurowanie pilota na podczerwień #include #include

//ustawianie zmiennych do ustawiania prędkości dla silników prądu stałego int onspeed = 255; int niska prędkość = 100; int offspeed = 0;

//konfigurowanie pinu odbiornika podczerwonego i dwóch pinów silnika int IR_Recv = 2; int motor1 = 10; int motor2 = 11;

//deklarowanie zmiennych jako serw, aby program wiedział, że jest to serwo do użycia określonych poleceń Servo flap; Kąt serwa;

//deklarowanie pinu IR do odbierania danych wejściowych z pilotów //pobieranie wyników z pilota IRrecv irrecv(IR_Recv); decode_results wyniki;

pusta konfiguracja () {

Serial.początek(9600); //rozpoczyna komunikację szeregową irrecv.enableIRIn(); // Uruchamia odbiornik

zaczep.klap(7); //przyczepia klapkę serwomechanizmu do pinu 7, dzięki czemu możemy jej później użyć w programie angle.attach(4); //dołącza kąt serwomechanizmu do pinu 4, dzięki czemu możemy go później użyć w programie pinMode(motor1, OUTPUT); //ustaw motor1 na wyjście, abyśmy mogli wysyłać prędkości do in po naciśnięciu przycisku pinMode(motor2, OUTPUT); //ustaw motor2 na wyjście, abyśmy mogli wysyłać prędkości do in po naciśnięciu przycisku

}

pusta pętla () {

klapa.zapis(0); //ustaw serwo sterujące podajnikiem piłek na 0 stopni, aby nie przepuszczały piłek

if (irrecv.decode(&results)){ long int decCode = results.value; Serial.println(kod dec); nieodzysk.wznowienie();

switch(wyniki.wartość) {

case 0xFFA25D: //power analogWrite(motor1, onspeed); zapis analogowy (silnik2, onspeed); opóźnienie(7000); klapa.zapis(90); opóźnienie (500); klapa.zapis(0); opóźnienie (2000); zapis analogowy(silnik1, obniżona prędkość); zapis analogowy (silnik2, offspeed); przerwa;

przypadek 0xFFE01F: //EQ

zapis analogowy(silnik1, onspeed); zapis analogowy (silnik2, niska prędkość); opóźnienie(7000); klapa.zapis(90); opóźnienie (500); klapa.zapis(0); opóźnienie (2000); zapis analogowy(silnik1, obniżona prędkość); zapis analogowy (silnik2, offspeed);

przerwa;

przypadek 0xFF629D: //tryb

zapis analogowy (silnik1, niska prędkość); zapis analogowy (silnik2, onspeed); opóźnienie(7000); klapa.zapis(90); opóźnienie (500); klapa.zapis(0); opóźnienie (2000); zapis analogowy(silnik1, obniżona prędkość); zapis analogowy (silnik2, offspeed);

przerwa;

przypadek 0xFF30CF: //ustawienie 1, 90 stopni

kąt.zapisu(30);

przerwa;

przypadek 0xFF18E7: //ustawienie 2, 0 stopni

kąt.zapisu(90);

przerwa;

przypadek 0xFF7A85: //ustawienie 3, 180 stopni

kąt.zapisu(150);

przerwa;

} } }

Zalecana: