İçindekiler:

Cat Ball Shooter: 9 Adım (Resimlerle)
Cat Ball Shooter: 9 Adım (Resimlerle)

Video: Cat Ball Shooter: 9 Adım (Resimlerle)

Video: Cat Ball Shooter: 9 Adım (Resimlerle)
Video: 61'Den Kedi Nasıl Çizilir, Kolay Sevimli Kedi Çizimi, Çocuklar için Adım Adım Sayılarla HayvanÇizmek 2024, Kasım
Anonim
Kedi Topu Atıcı
Kedi Topu Atıcı

İhtiyac duyulan malzemeler

1 x RFID Sensör/uzaktan kumanda

1 x Arduino uno

2 x DC motor

1x180 servo

1x360 servo

çoklu teller

Proje inşa etmek için kutu/konteyner

topu beslemek için boru

Adım 1: Motorlara ve Uzaktan Kumandaya Güç Verecek Devreyi Oluşturun

Motorlara ve Uzaktan Kumandaya Güç Verecek Devreyi Oluşturun
Motorlara ve Uzaktan Kumandaya Güç Verecek Devreyi Oluşturun
Motorlara ve Uzaktan Kumandaya Güç Verecek Devreyi Oluşturun
Motorlara ve Uzaktan Kumandaya Güç Verecek Devreyi Oluşturun

Devreyi kurmak

yukarıdaki devreyi kurun ve aynı kodu kullanmak için aynı pinlere bağlayın

Adım 2: İki Motor için Temel Oluşturun

İki Motor için Temel Oluşturun
İki Motor için Temel Oluşturun

Kenarlar için 4, 5 inç x 2 inç dikdörtgenler kesmek için köpük levhayı kullanmanız gerekecektir. daha sonra üst ve alt olarak kullanmak için 2, 5 x 5 inç kareler kesin. daha sonra motorların oturacakları bir yere ihtiyacı olacak, bu nedenle topun atılması için yer açmak için 23 mm çapında ve 39 mm aralıklı 2 delik açın. daha sonra motorlardan gelen tellerin devreye bağlanmasını sağlamak için alt karede bir nokta veya birkaç delik açın.

Adım 3: Servoyu Motorların Altına Ekleyin

Servoyu Motorların Altına Ekleyin
Servoyu Motorların Altına Ekleyin

180 veya 360 servoyu karenin altına (ortaya) dikkatlice yapıştırın. Bunu uzaktan kumanda ile manuel olarak veya rastgele yön değiştirebilmemiz için yapıyoruz, böylece top farklı yönlere atıyor

Adım 4: Büyük Kapta Delikler Açın

Büyük Kapta Delikler Açın
Büyük Kapta Delikler Açın
Büyük Kapta Delikler Açın
Büyük Kapta Delikler Açın
Büyük Kapta Delikler Açın
Büyük Kapta Delikler Açın

büyük kabı alın ve ön ve arkada bir delik açın kesin olması gerekmez ama ön tarafta resimde görüldüğü gibi oldukça büyük olmalı ki servo hareket halindeyken topun farklı yönlere atılabilmesi için. ve kabın arkası, kabloların dışarı çıkması ve devre parçalarını yerleştirmesi veya gerekirse devreyi değiştirmesi için daha küçük bir delik açar. ön tarafta servoyu kaplardan birinin kapağına ve ardından destek için kabın tabanına yapıştırın, referans için ikinci resme bakın

Adım 5: Boru

Kamış
Kamış

1 fit uzunluğunda, tercihen topun yuvarlanmasına izin verecek bir eğriye sahip bir pvc boru yapın veya satın alın, ardından topun içeri girmesine izin vermek için 1,5 inçlik bir parça kesin

Adım 6: Hazne

hazne
hazne
hazne
hazne
hazne
hazne

4 eşit yamuk kes, seçim olabilir ama benimkiler 5 boyundaydı ve boruya takıldığında biraz eğimliydi, daha sonra alttaki köpük levha parçası bir pinpon topunun geçebileceği kadar büyük bir delik açtı. daha sonra, tüm topların oturması için bir atlama oluşturacak şekilde onları birbirine yapıştırın. daha sonra bunu, deliğin kesildiği borunun üst kısmına yapıştıracağız.

Adım 7: Hazneyi, Boruyu ve Motorları Yerleştirme

Hazne, Boru ve Motorların Yerleştirilmesi
Hazne, Boru ve Motorların Yerleştirilmesi

motorlar için yapılmış beyaz kutunun hemen kenarına oturan kabın içine boruyu yerleştirmek isteyeceksiniz ki top dışarı çıkıp tekerlekler tarafından itilsin. artık hazneyi borunun üstüne yapıştırabilirsiniz

Adım 8: Son Servo

Son Servo
Son Servo
Son Servo
Son Servo

bu servo, haznenin altına yapıştırılmıştır/kestiğim borunun, düğme tıklanana ve servo hareket edene kadar ping toplarının düşmeyeceği yere yeterince yapışmasını sağlamak için kestiğim yere

9. Adım: Çalışan Parçaları Test Etmek İçin Kod Ekleyin

Çalışan Parçaları Test Etmek İçin Kod Ekleyin
Çalışan Parçaları Test Etmek İçin Kod Ekleyin

//Kedi tamircisi

//kod boyunca komutları kullanmak için kitaplıkları içe aktarın, örneğin pinleri servo olarak bildirmek ve IR uzaktan kumandasını ayarlamak #include #include

//DC motorlar için hızları ayarlamak için değişkenleri ayarlama int onspeed = 255; int düşük hız = 100; int hız dışı = 0;

//enfared alıcı pininin ve iki motor pininin ayarlanması int IR_Recv = 2; int motor1 = 10; int motor2 = 11;

//programın servo olduğunu bilmesi için değişkenleri servo olarak bildirerek belirli komutları kullanma Servo flap; Servo açısı;

//Uzaktan girişleri almak için IR pinini bildiriyor //uzaktan gelen sonuçları alıyor IRrecv irrecv(IR_Recv); decode_results sonuçları;

geçersiz kurulum() {

Seri.başla(9600); //seri iletişimi başlatır irrecv.enableIRIn(); // Alıcıyı başlatır

flap.attach(7); //servo kanadı pim 7'ye bağlar, böylece daha sonra programda kullanabilmemiz için angle.attach(4); // servo açısını pin 4'e ekler, böylece daha sonra programda kullanabilmemiz için pinMode(motor1, OUTPUT); //motor1'i bir çıkışa ayarlayın, böylece butona basıldığında hızları gönderebilelim pinMode(motor2, OUTPUT); // motor2'yi bir çıkışa ayarlayın, böylece düğmeye basıldığında hızları gönderebiliriz

}

boşluk döngüsü () {

flap.write(0); // top besleyiciyi kontrol eden servoyu, topların geçmesine izin vermeyecek şekilde 0 dereceye ayarlayın

if (irrecv.decode(&results)){ long int decCode = sonuçlar.değer; Serial.println(decCode); irrecv.özgeçmiş();

switch(sonuçlar.değer) {

case 0xFFA25D: //güç analogWrite(motor1, onspeed); analogWrite(motor2, onspeed); gecikme(7000); flap.write(90); gecikme(500); flap.write(0); gecikme(2000); analogWrite(motor1, hız dışı); analogWrite(motor2, hız dışı); kırmak;

durum 0xFFE01F: //EQ

analogWrite(motor1, onspeed); analogWrite(motor2, düşük hız); gecikme(7000); flap.write(90); gecikme(500); flap.write(0); gecikme(2000); analogWrite(motor1, hız dışı); analogWrite(motor2, hız dışı);

kırmak;

durum 0xFF629D: //mod

analogWrite(motor1, düşük hız); analogWrite(motor2, onspeed); gecikme(7000); flap.write(90); gecikme(500); flap.write(0); gecikme(2000); analogWrite(motor1, hız dışı); analogWrite(motor2, hız dışı);

kırmak;

durum 0xFF30CF: // 1, 90 derece ayarı

açı.yaz(30);

kırmak;

case 0xFF18E7: //ayar 2, 0 derece

açı.yaz(90);

kırmak;

case 0xFF7A85: //ayar 3, 180 derece

açı.yaz(150);

kırmak;

} } }

Önerilen: