Мазмуну:

MrK Blockvader: 6 кадам (сүрөттөр менен)
MrK Blockvader: 6 кадам (сүрөттөр менен)

Video: MrK Blockvader: 6 кадам (сүрөттөр менен)

Video: MrK Blockvader: 6 кадам (сүрөттөр менен)
Video: YEAR IN REVIEW | The WWF in 1996 (Full Year Documentary) 2024, Ноябрь
Anonim
Image
Image
3D басып чыгаруу
3D басып чыгаруу

Бул жылдар аралыгында мен көптөгөн 3D басылган ровер робот долбоорлорун көрдүм жана 3D басып чыгаруу технологиясы робот коомчулугуна дизайн жана материалдык тандоолордо ар түрдүүлүктү өстүрүүгө жардам бергенин жакшы көрөм. MrK_Blockvaderди Instructable for Maker Community үчүн жарыялоо менен робот коомчулугуна кичинекей салым кошкум келет.

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

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

Жабдуулар

1 * Arduino Nano

1 * DC моторунун айдоочусу

2 * Редуктору бар DC мотору

1 * 650 мАч Venom LiPo батареясы

2 * 1/24 RC жүк ташуучу дөңгөлөктөрү

2 * Ак LED

1 * аралык сенсор

1 * Түс сенсору

1 * nRF24 үзүлүү тактасы

1 * nRF24 радио тактасы

1 * Зумзер

1 * которуштуруу

1* 26 AUG Кара зым

1* 26 AUG Көк зым

1* 22 AUG Кара зым

1* 22 AUG Кызыл зым

1 -кадам: 3D басып чыгаруу

Мен жеңил жана чыдамкайлык үчүн көмүр материал менен басылган CEL Robox 3D принтерин колдоном. Мен төмөндө STL файлдарын тиркейм. 3D басып чыгаруу процесси жана жөндөө боюнча суроолоруңуз болсо, комментарийге жазыңыз.

2 -кадам: Arduino Nano даярдаңыз

Arduino Nano даярдаңыз
Arduino Nano даярдаңыз
Arduino Nano даярдаңыз
Arduino Nano даярдаңыз
Arduino Nano даярдаңыз
Arduino Nano даярдаңыз
Arduino Nano даярдаңыз
Arduino Nano даярдаңыз

Бардык электр компоненттерине даярдык иштерин аткаруу таза долбоордун ачкычы экенин билдим.

Бул долбоор nRF24 сынык тактасын өткөрүүнү камтыйт, мен муну NRF24 Wireless LED Box деп аталган өзүнчө долбоордо жасадым, бул жерден nRF24 сындыруучу тактасын Arduinoго кантип туташтыруу керектиги жөнүндө маалыматты таба аласыз.

Эскертүү: Мен Nano кубаттуулугу үчүн коюу 22AWG зымын жана башка бардык сигналдык максаттар үчүн ичке 26 AWG көк жана кара зымдарды колдоном. Мен бул 26 AWG өлчөмүндөгү зымдарды жакшы көрөм, алар ийкемдүү, бирок күчтүү, бирок эки дүйнөнүн эң жакшысын камсыз кылат.

Arduino Nano даярдык иштери:

  1. Ардуино Наного сигналдын пин башын кошуңуз.
  2. Бул казыктарды ширетүүчү менен нымдоо кийинчерээк ширетүүнү кыйла жеңилдетет.
  3. Бардык сенсорлорду жана диоддорду энергия менен камсыз кылуу үчүн 5Вга көк зымдын тобун кошуңуз.
  4. Бардык сенсорлорго жана светодиоддорго негиз берүү үчүн GNDге кара зымдын тобун кошуңуз.

NRF 24 сынык тактасы даярдоо иштери:

  1. Сигналдар үчүн nRF24 үзүлүү тактасына 5 зымдарды.
  2. NRF24 сындыруучу тактасына 2 зымдарды бийликке кошуу.
  3. Шилтемени текшерип, үзүлүү тактасын Arduino менен кантип туташтыруу керек экендигин текшериңиз.
  4. NRF24тен Arduino Nana'га 5 зым сигналын туташтырыңыз.

Зумзерди даярдоо иштери:

  1. Жер үчүн зымыраган буттардын бирине кара зымды ээрчиңиз.
  2. сигналды башкаруу үчүн башка зыңылдаган бутуна көк зымды ээрчиңиз.

Фоторезисторду даярдоо иштери: (диаграмма бар)

  1. 5В үчүн фоторезистордун бир бутуна көк зымды кошуңуз.
  2. Фоторезистордун экинчи бутуна 10K каршылыгын кошуңуз.
  3. Сигнал үчүн 10K каршылыгы менен фоторезистордун ортосунда көк зымды ээрчиңиз.
  4. Жер үчүн 10K каршылыгына кара зым менен ширетүү.

LED даярдык иштери:

  1. Позитивдүү оң LEDдан оң сол LEDга чейин көк зымды ээрчиңиз.
  2. Кара терс оң терс LEDдан терс солго чейин.
  3. Сигналды башкаруу үчүн оң оң LEDга көк зымды кошуңуз.
  4. Жер үчүн терс оң LEDга кара зымды кошуңуз.

3 -кадам: DC моторун, DC моторунун айдоочусун жана сенсорлорун даярдаңыз

DC моторун, DC моторунун айдоочусун жана сенсорлорун даярдаңыз
DC моторун, DC моторунун айдоочусун жана сенсорлорун даярдаңыз
DC моторун, DC моторунун айдоочусун жана сенсорлорун даярдаңыз
DC моторун, DC моторунун айдоочусун жана сенсорлорун даярдаңыз

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

DC моторун даярдоо иштери:

  1. DC моторуна кара жана кызыл зымдарды туташтырыңыз.
  2. Мотордун учун лента менен ороп алыңыз.
  3. Мотор коннекторлорун мөөрлөө үчүн аймакты ысык клей менен толтуруңуз.

DC мотор айдоочусунун даярдык иштери:

  1. Мотор драйвериндеги 6 сигнал зымын ширетүү.
  2. Сигнал зымын Arduino Nanoдогу туура пинге туташтырыңыз.
  3. Батареядан мотор драйверин иштетүү үчүн 12В зымдарды орнотуңуз. Зымдардын роботтун артына жана астына түшүрүү үчүн жетишерлик узун экениңизди текшериңиз.
  4. Arduino Nano моторунун айдоочусун иштетүү үчүн 5V зымдарын орнотуңуз.

Түс сенсорунун даярдык иштери (милдеттүү эмес):

  1. Сигнал үчүн 2 зымдарды ээрчиңиз.
  2. Бийлик үчүн 2 зымды ширеткиле.
  3. Супер жаркыраган LEDди көзөмөлдөө үчүн 1 зым.

Алыстык сенсорунун даярдык иштери: (милдеттүү эмес)

  1. Сигнал үчүн көк зымды ээрчиңиз.
  2. Позитивдүү 3V үчүн позитивдүү портко дагы бир көк зымды кошуңуз.
  3. Жер үчүн терс портто үчүн кара зым Solder.

4 -кадам: чогултуу

Image
Image
Чогулт
Чогулт

Бардык даярдык иштери бүткөндөн кийин, азыр баары биригип турган учур.

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

Монтаждоо процесси:

  1. Түс сенсорун шассиге ысык желим менен чаптап, түс сенсорунун зымын канал аркылуу өткөрүңүз. (милдеттүү эмес)
  2. DC моторлорун шассиге ысык желим менен чаптаңыз, DC мотору шасси менен сыйпалашып турушу керек.
  3. Супер клей Blocvader анын шасси менен баардык зымдар аркылуу өтөрүн текшерет.
  4. Ысык клей аралык сенсор. (милдеттүү эмес)
  5. Blockvador көздөрү үчүн ысык желим диоддор.
  6. DC моторунун зымдарын DC моторунун драйверине толугу менен салып, бекем бурап салыңыз.
  7. DC драйверлеринин 12В электр зымдарын иштетүү/өчүрүү үчүн шассидин арткы ылдый жагына жана ылдый түшүрүңүз.
  8. DC моторунун айдоочусун жабыштыруудан мурун, бардык сенсорлордун бардык зымдары ачык экенин текшериңиз.
  9. Сыноо кодун жүктөңүз жана эгер бар болсо, көйгөйдү чечиңиз.

5 -кадам: Код

Image
Image
Кийинкиси эмне?
Кийинкиси эмне?

Негизги код:

Робот фоторезисторун колдонуп, бөлмөнүн жарык деңгээлин аныктайт жана убакыттын өтүшү менен жарыктын деңгээли өзгөрсө реакция кылат

Коддун жүрөгү:

void loop () {lightLevel = analogRead (Photo_Pin); Serial.print ("Жарык деңгээли:"); Serial.println (lightLevel); Serial.print ("Учурдагы жарык:"); Serial.println (Current_Light); if (lightLevel> = 200) {Chill_mode (); analogWrite (eyes_LED, 50); Serial.println ("Chill mode");} if (lightLevel <180) {Active_mode (); analogWrite (eyes_LED, 150); Serial. println ("Активдүү режим");}}

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

Коддун жүрөгү:

void loop () {int debug = 0; lightLevel = analogRead (Photo_Pin); Dis = analogRead (Dis_Pin); // Алына турган маалыматтын бар -жогун текшериңиз, эгер (radio.available ()) {radio.read (& data, sizeof (Data_Package)); if (data. C_mode == 0) {Trim_Value = 10; Direct_drive ();} if (data. C_mode == 1) {Trim_Value = 0; Autonom_mode ();} if (data. C_mode == 2) {Trim_Value = 0; Chill_mode ();} if (debug> = 1) {if (data. R_SJoy_State == 0) {Serial.print ("R_SJoy_State = HIGH;");} if (data. R_SJoy_State == 1) {Serial.print ("R_SJoy_State = LOW;");} if (data. S_Switch_State == 0) {Serial.print ("S_Switch_State = HIGH;");} if (data. S_Switch_State == 1) {Serial.print ("S_Switch_State = LOW; ");} if (data. M_Switch_State == 0) {Serial.println (" M_Switch_State = HIGH ");} if (data. M_Switch_State == 1) {Serial.println (" M_Switch_State = LOW ");} Сериал.принтер ("\ n"); Serial.print ("Rover Mode:"); Serial.println (data. C_mode); Serial.print ("L_XJoy_Value ="); Serial.print (data. L_XJoy_Value); Serial.print ("; L_YJoy_Value ="); Serial.print (data. L_YJoy_Value); Serial.print ("; R_YJoy_Value ="); Serial.print (data. R_YJoy_Value); Serial.print ("; Throtle_Value ="); Serial.println (data. Throtle_Value); кечигүү (мүчүлүштүктөрдү оңдоо*10); } lastReceiveTime = millis (); // Азыркы учурда биз маалыматтарды алдык} // Дайындарды алууну улантып жатканыбызды текшерип көрүңүз, же эки модулдун ортосунда currentTime = millis (); if (currentTime - lastReceiveTime> 1000) // Эгерде биз акыркы маалыматты алганыбыздан бери учурдагы убакыт 1 секунддан ашык болсо, {// бул байланышты жоготконубузду билдирет resetData (); // Эгерде байланыш үзүлүп калса, маалыматты баштапкы абалга келтирүү. Бул керексиз жүрүм -турумдун алдын алат, мисалы, дрондун дроссели бар болсо жана биз байланышты үзүп койсок, эгер биз баалуулуктарды баштапкы абалга келтирмейинче учууну уланта алат}}

6 -кадам: Андан кийин эмне болот?

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

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

Ушул себептен улам, долбоордун кийинки этабы байланыш станциясынын милдетин аткаруучу контролер болмокчу. Бул долбоорду андан ары өнүктүрүүгө жардам берет.

Контроллер өзү робот, бирок ал Блокадерге караганда пассивдүү. Андыктан контролер өзүнүн көрсөтмөлүү макаласынан баш тартат, андыктан келечектеги долбоорго көңүл буруңуз; D

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