Мазмуну:

Сууга чөгүүчү унаа: 5 кадам
Сууга чөгүүчү унаа: 5 кадам

Video: Сууга чөгүүчү унаа: 5 кадам

Video: Сууга чөгүүчү унаа: 5 кадам
Video: Дачный Влог. Пропало Очень много яблок, первый сезон 2021, Подходит к концу. 2024, Июль
Anonim
Сууга чөгүүчү унаа
Сууга чөгүүчү унаа
Сууга чөгүүчү унаа
Сууга чөгүүчү унаа

**************** БУЛ КӨРСӨТҮЛГӨН ДАГЫ ИШТЕГИ ИШ

Бул Нускамалык Түштүк Флорида Университетиндеги Маккурстун долбоорунун талабын аткаруу үчүн түзүлгөн (www.makecourse.com).

Бул көрсөтмө Түштүк Флорида университетинин Макекурс классы үчүн мен иштеп чыккан жана чөгүп бара жаткан унаанын түзүлүшү жөнүндө кыскача маалымат болот. Бул Нускамада мен эсеп -кысап материалдарын, мен колдонгон Arduino Uno үчүн башкаруучу кодду жана суу астын кантип чогултуу керектигин берем.

1 -кадам: материалдар

Материалдар
Материалдар
Материалдар
Материалдар
Материалдар
Материалдар

Мында колдонулган электроника:

1x Arduino Uno

1x mobius экшн камерасы

A/V кабелине 1x mobius аракет камерасы usb-b

1x талаа көрүнүшү 777 дисплей экраны

1x turnigy marine 50A ESC (электрондук ылдамдыкты көзөмөлдөө)

1x turnigy деңиз программалоо картасы

1x T-Motor Navigator 400kv

1x YEP 20A BEC (батареяны жок кылуу схемасы)

6x хобби падышасы HK15139 суу өткөрбөөчү серво

2x параллелдүү T-туташтыргычы ж

2x 18 дюймдук servo узартуу зымдары

6x 6 дюймдук servo узартуу зымдары

2x 1300mah 3s Lipo батареялары

2x 2500mah 4s Lipo батареялары

5x жана 12v туруктуу чыгуулары бар 1x электр бөлүштүрүү тактасы

Мында курулуш материалдары:

1х 3/16 дюйм фанера барагы

1x 6 дюймдук ID ABS жеткирүү түтүгү

1х силикон түтүк

1x банка ийкемдүү мөөр

ABS 3D принтеринин 4x катушкалары

1х 24 дюймдук суурма слайд

Жылуулукту кыскартуучу түтүк

1x 10 фут скотч бренди duraloc velcro

1x JB Weld пластикалык эпокси

1х 6,2 дюймдук диаметри акрил коопсуздук камерасынын куполу

2x IP68 ethernet өтмөктөрү

2x 24 дюймдук cat6 ethernet кабели

1x 200 фут cat6 ethernet кабели

Колдонулган аппараттык жабдыктар:

24x 1/2 дюйм жез жыгач бурамалары

24x ------ бурамалар (servo менен кошо)

Колдонулган куралдар:

Филипптин жана жалпак баштын бурагычтары

Аллен ачкыч топтому

Кандооч

Жылуулук курал

3D принтери (мен Monoprice Maker Select Plus колдондум)

2 -кадам: Программалоо

Программалоо
Программалоо
Программалоо
Программалоо
Программалоо
Программалоо
Программалоо
Программалоо

Төмөндө суу астын көзөмөлдөө үчүн жаратылган код. Мен дагы.ino файлын жүктөп алам деп тиркелдим.

Бул код Arduino Uno үчүн Arduino компиляторун колдонуу менен түзүлгөн.

/**********************************************************************************************************************************************************************

Автор: Жунус Пауэрс Дата: 11/9/2018 Максаты: Алыстан башкарылуучу суу астында жүрүүчү транспорт каражатынын көзөмөл коду ****************************** ************************************************ ************************************************ **********************************/#include // Анын ичинде Servo Library Servo roll1; // роллду servo түрмөк деп жарыялоо2; // ролл2ди servo servvo elev1 деп жарыялоо; // elev1ти servo elev2 деп жарыялоо; // elev2ди servo servo деп жарыялоо yaw1; // yaw1ди servo yaw2 деп жарыялоо; // yaw2ди servo esc деп жарыялоо Servo esc; // escти servo деп жарыялоо

int pot1 = 0; // pot1 өзгөрмөсүн бүтүн санга айландыруу жана аны 0 int pot2 = 1ге барабар кылуу; // pot2 өзгөрмөсүн бүтүн сан катары баштоо жана аны 2 int pot3 = 2ге барабар кылуу; // pot3 өзгөрмөсүн бүтүн сан катары баштоо жана аны 4 int pot4 = 3кө барабар кылуу; // pot4 өзгөрмөсүн бүтүн сан катары баштоо жана аны 5 int val1ге барабар кылуу; // val1 өзгөрмөсүн Int val2 бүтүн сан катары баштоо; // val2 өзгөрмөсүн int val3 бүтүн сан катары баштоо; // val3 өзгөрмөсүн бүтүн сан intitializing int val4; // val4 өзгөрмөсүн бүтүн сан intitializing int val5; // val5 өзгөрмөсүн Int val6 бүтүн сан катары баштоо; // val6 өзгөрмөсүн Int val7 бүтүн сан катары баштоо; // val7 өзгөрмөсүн Int val8 бүтүн сан катары баштоо; // val8 өзгөрмөсүн Int mspeed бүтүн сан катары баштоо; // mspeed өзгөрмөсүн бүтүн сан катары баштоо

void setup () {// Arduino инициализация этапы Serial.begin (9600); // Serial moniter roll1.attach (2) баштоо; // Servo roll1ди цифралык пин 2 roll2.attach (3) тиркөө; // servo roll2ди цифралык пин 3 elev1.attach (5) тиркөө; // servo elev1 санарип пин 5 elev2.attach (6) тиркөө; // servo elev2 цифралык пин 6 yaw1.attach (8) тиркөө; // Servo yaw1 санарип пин 8 yaw2.attach (9) тиркөө; // yaw2 servo цифралык пинге 9 тиркөө esc.attach (11); // Servo escти цифралык пин 11ге тиркөө roll1.write (90); // Серво түрмөгүн1 анын борборлоштурулган абалына жазуу2.write (90); // Серво түрмөктүн2 анын борборлоштурулган абалына жазуу elev1.write (90); // Серво көтөрүү1 анын борбордук абалына жазуу elev2.write (90); // servo elev2ди борборлоштурулган абалына жазуу yaw1.write (90); // Сервис yaw1ди анын борборлоштурулган абалына жазуу yaw2.write (90); // Servo yaw2 борборлоштурулган абалына жазуу esc.write (180); // Серво esc жазуу, анын борборлоштурулган абалына кечигүү (2500); // 2 секунд esc.write күтүлүүдө (90); кечигүү (5000); }

void loop () {// Негизги код чексиз болсо, анда (analogRead (pot1) <1 && analogRead (pot2) <1 && analogRead (pot3) <1 && analogRead (pot4) = 485 && val1 <= 540) {// "Джойстиктин" (потенциометрдин) борборлошконун текшерүү roll1.write (90); // Серво түрмөгүн жазуу1 борбордук позицияга roll2.write (90); // Серво ролл2 жазуу борбордук позицияга} else {// "Джойстик" борборлошпосо эмне кылуу керек val1 = карта (val1, 0, 1023, 10, 170); // Карап чыгуу val1 10дон 170ке чейин жана val1 roll1.write (val1) дайындоо; // val1 roll2.write (val1) менен аныкталган позитонго servo roll1 жазуу; // val1 тарабынан аныкталган позитонго servo roll2 жазуу}

val2 = analogRead (pot2); // Окуу pot2 (2 -аналогдук пин) жана val2 катары маанини сактоо // Серво көтөрүү1 борбордук позицияга жазуу elev2.write (90); // servo elev2 борбордук позицияга жазуу} else {// "Джойстик" борборлошпосо эмне кылуу керек val3 = карта (val2, 0, 1023, 10, 170); // 10дон 170ке чейин val2 картага түшүрүү жана val3 val4 = картага дайындоо (val2, 0, 1023, 170, 10); // 170тен 10го чейин val2 картага түшүрүү жана val4 көтөрүү1.write (val3); // val2 elev2.write (val4) менен аныкталган позитонго servo elev1 жазуу; // val4 тарабынан аныкталган позитонго servo elev2 жазуу}

val5 = analogRead (pot3); // Окуу pot3 (аналогдук пин 4) жана val5 катары маанини сактоо (val5> = 485 && val5 <= 540) {// "Джойстиктин" (потенциометрдин) yaw1.write (90) борборунда экендигин текшерүү; // yaw1 борбордук абалына yaw1 жазуу yaw2.write (90); // Сервис yaw2 борбордук позицияга жазуу} else {// "Джойстик" борборлошпосо эмне кылуу керек val6 = карта (val5, 0, 1023, 10, 170); // Val5ти 10дон 170ке чейин картага алуу жана val6 val7 = 7ге дайындоо (карта (val5, 0, 1023, 170, 10); // 10дан 170ке чейин val5 картасын түзүү жана val7 yaw1.write (val6) дайындоо; // Жазуу servo yaw1 val6 yaw2.write (val7) менен аныкталган позитонго. // val7 тарабынан аныкталган позитонго yaw2 servo жазуу}

val8 = analogRead (pot4); // Окуу казаны4 (аналогдук пин 5) жана val8 катары маанини сактоо 80) кечигүү (1000); // 1000 миллисекунд күтүүдө} esc.write (val8); // val8 mspeed = val8 тарабынан аныкталган ылдамдыкка servo esc жазуу; // Салыштыруу үчүн учурдагы ылдамдыкты сактоо}} Serial.print ("дроссель"); // "Throttle" сөзүн көрсөтүү үчүн Serial Printти колдонуу Serial.println (val8); // Serial Printти колдонуу, дроссель Serial.print ("түрмөк") деп коюлганын көрсөтүү үчүн; // "Roll" сөзүн көрсөтүү үчүн Serial Printти колдонуу Serial.println (val1); // Serial Printти колдонуу, роллдун Serial.print ("кадам") коюлганын көрсөтүү үчүн; // "Pitch" сөзүн көрсөтүү үчүн Serial Printти колдонуу Serial.println (val3); // Serial Printти колдонуу pitch1дин Serial.println (val4) деп коюлган маанисин көрсөтүү үчүн; // Serial Printти колдонуу pitch2дин Serial.print ("yaw") деп коюлган маанисин көрсөтүү үчүн; // "Yaw" сөзүн көрсөтүү үчүн Serial Printти колдонуу Serial.println (val6); // Serial Printти колдонуу yaw1дин Serial.println (val7) деп коюлган маанисин көрсөтүү үчүн; // Serial Printти колдонуу yaw2 коюлган маанини көрсөтүү үчүн}

3 -кадам: Circuitry

Сууга чөмүлүүчү аппараттын айланасындагы фото тиркелет.

Мен зымымды жөнөкөйлөтүү үчүн Arduino үчүн атайын калкан жасадым. Мен Eagle Schematic & Board файлдарын калканга жүктөдүм. Мен тактаны тегирмендөө үчүн LPKF S63 колдондум. көзөмөлдөөчү роллдун маңдайындагы серволор Arduinoго туташтырылат

контроллердин ичиндеги схеманын сүрөтү тиркелет.

4 -кадам: 3D басылган бөлүктөр

Мен бул файлдардын бардыгын Monoprice Maker Select Plusке басып чыгардым. Мен Esun ABS 1.75mm жипчесин колдондум. Менин басып чыгаруу жөндөөлөрүм басып чыгаруу температурасы үчүн 105 градус жана экструдердин температурасы үчүн 255 градус С. Ар бир бөлүктөн бирөө гана керек, болгону алдыңкы канаттын 6 нускасы керек болот. Белгилей кетсек, бул бөлүктөр дубалдын калыңдыгы 1000 ммге чейин басылган. Бул бөлүктөр 100% толтуруу менен басып чыгарылышы үчүн жасалды, андыктан алар терс калкып чыгат.

5 -кадам: Ассамблея

********************************* КЕЛЕ ЖАКЫНДА *************** *******************

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