Мазмұны:

MrK Blockvader: 6 қадам (суреттермен)
MrK Blockvader: 6 қадам (суреттермен)

Бейне: MrK Blockvader: 6 қадам (суреттермен)

Бейне: MrK Blockvader: 6 қадам (суреттермен)
Бейне: Новый режим многозадачности iPad Stage Manager 2024, Қараша
Anonim
Image
Image
3D басып шығару
3D басып шығару

Осы жылдар ішінде мен көптеген қызықты 3D -ровер -робот жобаларын көрдім және 3D басып шығару технологиясы робот қауымдастығына дизайн мен материал таңдауда әртүрлілікті арттыруға көмектескенін ұнатамын. Мен MrK_Blockvader -ді Instructable for Maker қауымдастығында жариялау арқылы робот қауымдастығына аз ғана үлес қосқым келеді.

MrK_Blockvader - бұл кішкентай дыбысы бар көңілді робот, бірақ бұйра көріністің сізді алдауына жол бермеңіз. Ол түстер сенсорымен, қашықтық сенсорымен, басқа блокпен бірдей мүмкіндігі бар, негізі немесе контроллері бар радио модульмен жабдықталуы мүмкін.

MrK_Blockvader бір мақсатты мұрағаттау үшін роботтар тобына командир ретінде тағайындалуы мүмкін робот желісінің бөлігі болады.

Жабдықтар

1 * Ардуино Нано

1 * тұрақты ток қозғалтқышының драйвері

2 * беріліс қорабы бар тұрақты ток қозғалтқышы

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

2 * 1/24 RC жүк көлігінің доңғалақтары

2 * ақ жарық диодтары

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 сымсыз жарықдиодты қорап деп аталатын бөлек жобада жасадым, мұнда nRF24 ажырату тақтасын Arduino -ға қалай жалғау керектігі туралы ақпаратты таба аласыз.

Ескерту: Мен наноды қосу үшін қалың 22AWG сымын және басқа сигналдық мақсаттар үшін 26 AWG көк және қара жұқа сымдарды қолданамын. Мен 26 AWG өлшемді сымдарды жақсы көремін, олар икемді, бірақ күшті, бірақ олар екі әлемнің ең жақсысын қамтамасыз етеді.

Arduino Nano дайындық жұмысы:

  1. Сигнал түйреуішінің тақырыбын Arduino Nano -ға дәнекерлеңіз.
  2. Бұл түйреуіштерді дәнекермен сулаңыз, кейінірек дәнекерлеуді едәуір жеңілдетеді.
  3. Барлық датчиктер мен светодиодтарға қуат беру үшін көк сымның тобын 5В -қа дәнекерлеңіз.
  4. Барлық датчиктер мен жарықдиодты жерге қосу үшін қара сым тобын GND -ге дәнекерлеңіз.

NRF 24 тарату тақтасына дайындық жұмыстары:

  1. NRF24 сигналдарына арналған 5 сымдарды дәнекерлеңіз.
  2. Қуат үшін nRF24 ажырату тақтасына 2 сым дәнекерлеңіз.
  3. Ардуиноға тақтаны қалай қосуға болатынын білу үшін сілтемені тексеріңіз.
  4. NRF24 сигналынан 5 сымды Arduino Nana сигналына дәнекерлеңіз.

Дыбыстық сигналға дайындық жұмыстары:

  1. Қара сымды жерге қою үшін дыбыстық аяқтардың біріне дәнекерлеңіз.
  2. көгілдір сымды сигналды басқару үшін басқа дыбыстық аяққа дәнекерлеңіз.

Фоторезисторға дайындық жұмыстары: (диаграмма бар)

  1. Көк сымды 5В үшін фоторезисторлық аяқтың біріне дәнекерлеңіз.
  2. 10К резисторды фоторезистордың екінші аяғына дәнекерлеңіз.
  3. Сигнал үшін 10К резистор мен фоторезистор арасындағы көк сымды дәнекерлеңіз.
  4. Қара сымды жерге қосу үшін 10К резисторға дәнекерлеңіз.

Светодиодты дайындау жұмыстары:

  1. Оң светодиодтан оң солға қарай көк сымды дәнекерлеңіз.
  2. Қара сымды теріс оң жарықдиодтан теріс сол жарықдиодқа дәнекерлеңіз.
  3. Оң жақ жарықдиодты сигналды басқару үшін көк сымды дәнекерлеңіз.
  4. Қара сымды жерге қосу үшін теріс оң жақ жарық диодқа дәнекерлеңіз.

3 -қадам: тұрақты ток қозғалтқышын, тұрақты ток қозғалтқышының драйверін және сенсорларын дайындаңыз

Тұрақты ток қозғалтқышы, тұрақты ток қозғалтқышы мен датчиктерді дайындаңыз
Тұрақты ток қозғалтқышы, тұрақты ток қозғалтқышы мен датчиктерді дайындаңыз
Тұрақты ток қозғалтқышы, тұрақты ток қозғалтқышы мен датчиктерді дайындаңыз
Тұрақты ток қозғалтқышы, тұрақты ток қозғалтқышы мен датчиктерді дайындаңыз

MrK_Blockvador -да сенсордың бірнеше нұсқасы бар және қосымша сенсорлар жалпы жұмысқа әсер етпейді, алайда тұрақты ток қозғалтқышы желімделгеннен кейін түс сенсоры орнатылмайды.

Тұрақты ток қозғалтқышын дайындау жұмыстары:

  1. Тұрақты ток қозғалтқышына қара және қызыл сымды дәнекерлеңіз.
  2. Қозғалтқыштың ұшын таспамен ораңыз.
  3. Қозғалтқыш коннекторларын тығыздау үшін аймақты ыстық желіммен толтырыңыз.

Тұрақты ток қозғалтқышының драйверіне дайындық жұмыстары:

  1. Мотор драйверіндегі 6 сигналдық сымдарды дәнекерлеңіз.
  2. Сигнал сымын Arduino Nano дұрыс түйреуішіне дәнекерлеңіз.
  3. Мотор драйверін батареядан қуаттандыру үшін 12В сымдарды орнатыңыз. Роботтың артқы және астынан өтетін сымдардың жеткілікті екеніне көз жеткізіңіз.
  4. Arduino Nano мотор драйверінен қуат алу үшін 5В сымдарды орнатыңыз.

Түс сенсорының дайындық жұмыстары (міндетті емес):

  1. Сигналға арналған 2 сымды дәнекерлеңіз.
  2. Қуат үшін 2 сымды дәнекерлеңіз.
  3. Жарық диодты басқару үшін 1 сымды дәнекерлеңіз.

Қашықтық сенсорының дайындық жұмыстары: (міндетті емес)

  1. Сигнал үшін көк сымды дәнекерлеңіз.
  2. Позитивті 3В үшін оң портқа басқа көк сымды дәнекерлеңіз.
  3. Теріс порттағы қара сымды жерге қосу.

4 -қадам: жинау

Image
Image
Жинау
Жинау

Барлық дайындық жұмыстары аяқталғаннан кейін, қазір заттардың бірігу сәті.

Ескерту: Мен тұрақты ток қозғалтқышы мен тұрақты ток қозғалтқышы үшін ыстық желімді қолданамын, себебі ыстық желім шамалы амортизацияны қамтамасыз етеді, ал егер оны алып тастау қажет болса, алкогольмен аздап ыстық желім бірден шығады.

Жинау процесі:

  1. Түс датчигін шассиге ыстық желіммен жабыңыз және түс сенсорының сымын арна арқылы өткізіңіз. (міндетті емес)
  2. Тұрақты ток қозғалтқыштарын шассиге ыстық желіммен бекітіңіз, тұрақты ток қозғалтқышы шассиге сәйкес келетініне көз жеткізіңіз.
  3. Blocvader супер желімі шассиіне қарай барлық сымдар өтетініне көз жеткізіңіз.
  4. Ыстық желімнің қашықтық сенсоры. (міндетті емес)
  5. Blockvador көзіне арналған ыстық желім светодиодтары.
  6. Тұрақты ток қозғалтқышының сымдарын тұрақты ток қозғалтқышының драйверіне толығымен енгізіп, мықтап бұраңыз.
  7. Тұрақты ток драйверінен 12 В қуат сымдарын қосу/өшіру қосқышы үшін шассидің артқы жағының астына және астына шығарыңыз.
  8. Тұрақты ток қозғалтқышының драйверін жаппас бұрын, барлық сенсорлардың барлық сымдары таза екеніне көз жеткізіңіз.
  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 («Салқындату режимі»);} 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

Ұсынылған: