Мазмуну:

Cat Ball Shooter: 9 кадам (Сүрөттөр менен)
Cat Ball Shooter: 9 кадам (Сүрөттөр менен)

Video: Cat Ball Shooter: 9 кадам (Сүрөттөр менен)

Video: Cat Ball Shooter: 9 кадам (Сүрөттөр менен)
Video: ҮШ БАЛАСЫМЕН ҚАЛҒАН ӘКЕ | Қазақша кино 2023 2024, Ноябрь
Anonim
Cat Ball Shooter
Cat Ball Shooter

Керектүү материалдар

1 х RFID сенсор/ алыстан

1 x Arduino uno

2 x DC кыймылдаткычтары

1 x 180 servo

1 x 360 servo

бир нече зымдар

Долбоорду куруу үчүн кутуча/контейнер

топту өткөрүү үчүн түтүк

1 -кадам: Моторлорду жана алыстан башкаруу үчүн схеманы түзүңүз

Моторлорду жана алыстан башкаруу үчүн схеманы түзүңүз
Моторлорду жана алыстан башкаруу үчүн схеманы түзүңүз
Моторлорду жана алыстан башкаруу үчүн схеманы түзүңүз
Моторлорду жана алыстан башкаруу үчүн схеманы түзүңүз

Районду куруу

жогорудагы схеманы куруп, так ошол кодду колдонуу үчүн ошол эле казыктарга туташыңыз

2 -кадам: Эки мотор үчүн база түзүңүз

Эки мотор үчүн база түзүү
Эки мотор үчүн база түзүү

тараптар үчүн 4, 5 дюймдан 2 дюймдук тик бурчтуктарды кесүү үчүн көбүк тактасын колдонуу керек болот. андан кийин 2 жана 5 дюймдук төрт бурчтуктарды кесип, үстү жана асты катары колдонуңуз. Андан кийин моторго отура турган жер керек болот, андыктан топту атууга орун берүү үчүн диаметри 23мм жана 39мм болгон 2 тешикти кесип салыңыз. андан кийин моторлордун зымдары чынжырга туташуусу үчүн астыңкы чарчыда бир жер же эки тешик жасаңыз.

3 -кадам: Моторлордун түбүнө Сервону кошуңуз

Моторлордун астына Сервону кошуңуз
Моторлордун астына Сервону кошуңуз

кылдаттык менен 180 же 360 сервону сквердин ылдый жагына (ортосунда) чаптаңыз. биз муну кылып жатабыз, биз багытын кол менен алыстан башкара алабыз же туш келди, ошондуктан топ ар кандай багытта атылат

4 -кадам: Чоң контейнердеги тешиктерди кесүү

Чоң контейнердеги тешиктерди кесүү
Чоң контейнердеги тешиктерди кесүү
Чоң контейнердеги тешиктерди кесүү
Чоң контейнердеги тешиктерди кесүү
Чоң контейнердеги тешиктерди кесүү
Чоң контейнердеги тешиктерди кесүү

чоң контейнерди алып, алдыңкы жана арткы тешикти кесиңиз, бул так болушу шарт эмес, бирок алдыда биз топтун servo кыймылы менен ар кандай багытта атылышына мүмкүнчүлүк берүү үчүн сүрөттө көрүнгөндөй чоңураак болушубуз керек. жана контейнердин арткы бөлүгү зымдардын чыгуусуна жана схеманын бөлүктөрүн жайгаштырууга же керек болсо схеманы өзгөртүү үчүн кичинекей тешикти кесип салышат. алдыңкы жагында сервону контейнерлердин биринин капкагына, андан кийин контейнердин түбүнө колдоо үчүн, экинчи сүрөттү караңыз

5 -кадам: түтүк

Түтүк
Түтүк

Узундугу 1 фут болгон ПВХ түтүгүн жасаңыз же сатып алыңыз, топту ийирүү үчүн ийри сызык менен, анан топтун киришине 1,5 дюймду кесип салыңыз.

6 -кадам: Хоппер

Hopper
Hopper
Hopper
Hopper
Hopper
Hopper

4 бирдей трапецияларды кесип салыңыз, бирок меники 5 дюйм болчу жана чоорго салынганда бир аз кыйшайган, андан кийин түбүндөгү көбүк тактайы пинг -понг үчүн өтө чоң тешикти кесип салган. Кийинчерээк аларды чогуу чаптап, бардык топтор отурушу үчүн секирик жасаңыз. кийинчерээк муну тешик кесилген түтүктүн чокусуна жабыштырабыз.

7 -кадам: Хопперди, түтүктү жана моторлорду жайгаштыруу

Хопперди, түтүктү жана моторлорду жайгаштыруу
Хопперди, түтүктү жана моторлорду жайгаштыруу

Сиз чоорду контейнердин ичине моторлор үчүн жасалган ак кутунун четине жайгаштыргыңыз келет, ошондо топ чыгып, дөңгөлөктөр тарабынан түртүлөт. эми бункерге чоордун үстүнө жабыштырсаңыз болот

8 -кадам: Акыркы Серво

Final Servo
Final Servo
Final Servo
Final Servo

бул серво бункердин түбүнө жабыштырылган/ ал жерде кесилген түтүк, баскыч басылмайынча жана пинг -топтор түшпөй турган жерге жабышып калышы үчүн.

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 деп жарыялоо, ошондуктан программа белгилүү бир командаларды колдонуу servo экенин билет Servo flap; Servo бурчу;

// алыстан башкаруудан кирүүлөрдү алуу үчүн IR пин жарыялоо // жыйынтыктарды алыскы IRrecv irrecv (IR_Recv) алат; decode_results жыйынтыктары;

жараксыз орнотуу () {

Serial.begin (9600); // сериялык байланышты баштайт irrecv.enableIRIn (); // Ресиверди баштайт

flap.attach (7); // servo клапанын 7 -пинге бекитет, андыктан аны кийинчерээк программанын бурчунда колдоно алабыз.attach (4); // servo бурчун 4 -пинге бекитет, андыктан биз аны кийин pinMode (motor1, OUTPUT) программасында колдоно алабыз; // motor1ди өндүрүшкө коюңуз, ошондуктан биз pinMode (motor2, OUTPUT) баскычын басканда ылдамдыкты жөнөтө алабыз; // мотор2ди өндүрүшкө коюңуз, ошондо биз баскыч басылганда ылдамдыкты жөнөтө алабыз

}

void loop () {

flap.write (0); // топту өткөргүчтү башкаруучу сервону 0 градуска коюп, эч кандай шарды өткөрбөңүз

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

которуу (results.value) {

case 0xFFA25D: // power analogWrite (мотор1, ылдамдыгы); analogWrite (мотор2, ылдамдыгы); кечигүү (7000); flap.write (90); кечигүү (500); flap.write (0); кечигүү (2000); analogWrite (мотор1, ылдамдык); analogWrite (мотор2, ылдамдык); тыныгуу;

учурда 0xFFE01F: // EQ

analogWrite (мотор1, ылдамдыгы); analogWrite (мотор2, ылдамдыгы төмөн); кечигүү (7000); flap.write (90); кечигүү (500); flap.write (0); кечигүү (2000); analogWrite (мотор1, ылдамдык); analogWrite (мотор2, ылдамдык);

тыныгуу;

учурда 0xFF629D: // режими

analogWrite (мотор1, ылдамдыгы төмөн); analogWrite (мотор2, ылдамдыгы); кечигүү (7000); flap.write (90); кечигүү (500); flap.write (0); кечигүү (2000); analogWrite (мотор1, ылдамдык); analogWrite (мотор2, ылдамдык);

тыныгуу;

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

бурч.write (30);

тыныгуу;

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

бурч.write (90);

тыныгуу;

учурда 0xFF7A85: // 3, 180 градуска коюу

бурч.write (150);

тыныгуу;

} } }

Сунушталууда: