Съдържание:

Стрелец с котешка топка: 9 стъпки (със снимки)
Стрелец с котешка топка: 9 стъпки (със снимки)

Видео: Стрелец с котешка топка: 9 стъпки (със снимки)

Видео: Стрелец с котешка топка: 9 стъпки (със снимки)
Видео: Детето ми се храни само със зеленчуци 2024, Юли
Anonim
Стрелец с котешка топка
Стрелец с котешка топка

Необходими материали

1 x RFID сензор/ дистанционно

1 x Arduino uno

2 x DC двигатели

1 x 180 серво

1 x 360 серво

множество проводници

Кутия/контейнер за изграждане на проект

тръба за подаване на топката

Стъпка 1: Създайте верига за захранване на двигателите и дистанционното управление

Създайте верига за захранване на двигателите и дистанционното управление
Създайте верига за захранване на двигателите и дистанционното управление
Създайте верига за захранване на двигателите и дистанционното управление
Създайте верига за захранване на двигателите и дистанционното управление

Изграждане на веригата

изградете схемата по -горе и се свържете към същите щифтове, за да използвате точно същия код

Стъпка 2: Създайте база за двата двигателя

Създайте база за двата двигателя
Създайте база за двата двигателя

ще трябва да използвате дъската от пяна, за да изрежете правоъгълници 4, 5 инча на 2 инча за страните. след това изрежете квадратчета 2, 5 на 5 инча, които да използвате като горна и долна част. След това двигателите ще се нуждаят от място за сядане, така че изрежете 2 дупки с диаметър 23 мм и 39 мм един от друг, за да дадете място за изстрелване на топката. след това направете петно или няколко дупки на долния квадрат, за да позволите на проводниците от двигателите да се свържат към веригата.

Стъпка 3: Добавете Servo към дъното на двигателите

Добавете Servo към дъното на двигателите
Добавете Servo към дъното на двигателите

внимателно залепете 180 или 360 серво на дъното (в средата) на квадрата. правим това, за да можем да променим посоката ръчно с дистанционното или на случаен принцип, така че топката да стреля в различни посоки

Стъпка 4: Изрежете дупки в големия контейнер

Изрежете дупки в големия контейнер
Изрежете дупки в големия контейнер
Изрежете дупки в големия контейнер
Изрежете дупки в големия контейнер
Изрежете дупки в големия контейнер
Изрежете дупки в големия контейнер

вземете големия контейнер и изрежете дупка отпред и отзад, не е задължително да бъде точна, но отпред трябва да сме доста големи, както се вижда на снимката, за да позволим топката да бъде изстреляна в различни посоки с движещо се серво. а задната част на контейнера изрязва по -малък отвор, за да позволи на проводниците да излязат и да поставят частите на веригата или да променят веригата, ако е необходимо. отпред залепете серво към капака на един от контейнерите и след това върху основата на контейнера за опора, вижте втората снимка за справка

Стъпка 5: Тръбата

Тръбата
Тръбата

направете или купете PVC тръба с дължина 1 фут, за предпочитане с извивка, за да оставите топката да се търкаля, след това изрежете една 1,5 см дюза, за да влезе топката

Стъпка 6: Бункерът

Бункерът
Бункерът
Бункерът
Бункерът
Бункерът
Бункерът

изрязах 4 равни трапеца, може да бъде по избор, но моите бяха 5 високи и малко наклонени, когато се поставят върху тръбата, след това парчето пяна от дъното изряза дупка, достатъчно голяма, за да може да премине топката за пинг -понг. след това ги залепете заедно, образувайки скачане, за да седнат всички топки. по -късно ще залепим това към върха на тръбата, където е отрязан отворът

Стъпка 7: Поставяне на бункера, тръбите и двигателите

Поставяне на бункера, тръбите и двигателите
Поставяне на бункера, тръбите и двигателите

ще искате да поставите тръбата в контейнера, седнал точно на ръба на бялата кутия, предназначена за двигателите, така че топката да излезе и да бъде изтласкана от колелата. вече можете да залепите върху бункера до горната част на тръбата

Стъпка 8: Последното серво

Последното серво
Последното серво
Последното серво
Последното серво

това серво е залепено към дъното на бункера/ където тръбата, която изрязах, за да може да стърчи достатъчно, където пинг топките няма да пропаднат, докато не се натисне бутона и сервото не се премести

Стъпка 9: Добавете код, за да тествате работните части

Добавете код, за да тествате работните части
Добавете код, за да тествате работните части

// Поправка за котки

// импортиране на библиотеки за използване на команди в кода, например деклариране на щифтове като серво и настройване на IR дистанционното #include #include

// настройка на променливи за задаване на скорости за DC двигателите int onspeed = 255; int lowspeed = 100; int offspeed = 0;

// настройка на щифта на приемния приемник и двата щифта на двигателя int IR_Recv = 2; int motor1 = 10; int motor2 = 11;

// деклариране на променливите като серво, така че програмата да знае, че е серво за използване на специфични команди Servo flap; Серво ъгъл;

// деклариране на IR пин за получаване на входове от дистанционни управления // получава резултатите от дистанционното IRrecv unrecv (IR_Recv); decode_results резултати;

void setup () {

Serial.begin (9600); // стартира серийна комуникация unrecv.enableIRIn (); // Стартира приемника

капак (7); // прикрепя серво клапата към щифт 7, за да можем да го използваме по -късно в програмата angle.attach (4); // прикрепя серво ъгъла към щифт 4, за да можем да го използваме по -късно в програмата pinMode (motor1, OUTPUT); // настройваме motor1 на изход, за да можем да изпращаме скорости, когато бутонът е натиснат pinMode (motor2, OUTPUT); // настройваме motor2 на изход, така че да можем да изпращаме скорости при натискане на бутона

}

void loop () {

flap.write (0); // настройте сервоуправляващото устройство за подаване на топките на 0 градуса, за да не пропускат топки

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

switch (results.value) {

случай 0xFFA25D: // захранване analogWrite (motor1, onspeed); analogWrite (motor2, onspeed); забавяне (7000); flap.write (90); забавяне (500); flap.write (0); забавяне (2000); analogWrite (motor1, offspeed); analogWrite (motor2, offspeed); прекъсване;

случай 0xFFE01F: // EQ

analogWrite (motor1, onspeed); analogWrite (мотор2, ниска скорост); забавяне (7000); flap.write (90); забавяне (500); flap.write (0); забавяне (2000); analogWrite (motor1, offspeed); analogWrite (motor2, offspeed);

прекъсване;

случай 0xFF629D: // режим

analogWrite (мотор1, ниска скорост); analogWrite (motor2, onspeed); забавяне (7000); flap.write (90); забавяне (500); flap.write (0); забавяне (2000); analogWrite (motor1, offspeed); analogWrite (motor2, offspeed);

прекъсване;

случай 0xFF30CF: // настройка 1, 90 градуса

angle.write (30);

прекъсване;

случай 0xFF18E7: // настройка 2, 0 градуса

angle.write (90);

прекъсване;

случай 0xFF7A85: // настройка 3, 180 градуса

angle.write (150);

прекъсване;

} } }

Препоръчано: