Cuprins:

MrK Blockvader: 6 pași (cu imagini)
MrK Blockvader: 6 pași (cu imagini)

Video: MrK Blockvader: 6 pași (cu imagini)

Video: MrK Blockvader: 6 pași (cu imagini)
Video: YEAR IN REVIEW | The WWF in 1996 (Full Year Documentary) 2024, Noiembrie
Anonim
Image
Image
printare 3d
printare 3d

De-a lungul anilor, am văzut multe proiecte interesante de robot rover imprimate 3D și îmi place cum tehnologia de imprimare 3D a ajutat comunitatea robotică să crească mai multă diversitate în design și alegeri de materiale. Vreau să adaug o mică contribuție la comunitatea robotică, publicând MrK_Blockvader în Instructable for the Maker Community.

MrK_Blockvader este un mic robot distractiv cu buzzer minuscul, dar nu lăsa aspectul blocat să te păcălească. El ar putea fi echipat cu senzor de culoare, senzor de distanță, un modul radio pentru a comunica cu alte Blocky cu capacitate similară, cu o bază sau cu un controler.

MrK_Blockvader va face parte dintr-o rețea de roboți unde unul poate fi atribuit ca comandant unui grup de roboți pentru a arhiva același obiectiv.

Provizii

1 * Arduino Nano

1 * driver motor DC

2 * motor DC cu cutie de viteze

1 * 650 mAh Venom LiPo baterie

2 * 1/24 roți de camion RC

2 * LED-uri albe

1 * Senzor de distanță

1 * Senzor de culoare

1 * placă de ieșire nRF24

1 * placa radio nRF24

1 * Buzzer

1 * Comutator

1 * 26 AUG Sârmă neagră

1 * 26 AUG Sârmă albastră

1 * 22 AUG Sârmă neagră

1 * 22 AUG Sârmă roșie

Pasul 1: Imprimare 3D

Folosesc imprimanta 3D CEL Robox tipărită cu material din carbon pentru ușurință și durabilitate. Voi atașa fișierele STL de mai jos. Vă rugăm să puneți comentariul dacă aveți întrebări cu privire la procesul și setarea de imprimare 3D.

Pasul 2: Pregătiți Arduino Nano

Pregătește Arduino Nano
Pregătește Arduino Nano
Pregătește Arduino Nano
Pregătește Arduino Nano
Pregătește Arduino Nano
Pregătește Arduino Nano
Pregătește Arduino Nano
Pregătește Arduino Nano

Am aflat că efectuarea lucrărilor de pregătire pentru toate componentele electrice este cheia unui proiect curat.

Acest proiect include cablarea plăcii de separare nRF24, am făcut acest lucru într-un proiect separat care numește NRF24 Wireless LED Box, aici puteți găsi informații despre cum să conectați placa de separare nRF24 la un Arduino.

Notă: Folosesc fire mai groase de 22AWG pentru alimentarea firelor Nano și subțiri de 26 AWG albastre și negre pentru toate celelalte scopuri de semnal. Îmi plac aceste fire de 26 AWG, sunt flexibile, dar totuși puternice oferă cele mai bune din ambele lumi.

Lucrul de pregătire Arduino Nano:

  1. Lipiți antetul pinului de semnal pe Arduino Nano.
  2. Udați ace ace cu ajutorul lipirii va face lipirea mult mai ușoară mai târziu.
  3. Lipiți un grup de fire albastre la 5V pentru a furniza energie tuturor senzorilor și LED-urilor.
  4. Lipiți un grup de sârmă neagră către GND pentru a furniza la masă toți senzorii și LED-urile.

Lucrări de pregătire a panoului NRF 24:

  1. Lipiți 5 fire pe placa de rupere nRF24 pentru semnale.
  2. Lipiți 2 fire la placa de rupere nRF24 pentru alimentare.
  3. Verificați legătura pentru a vă asigura cum să conectați placa de rupere la un Arduino.
  4. Lipiți semnalul de 5 fire de la nRF24 la Arduino Nana.

Pregătirea buzzerului:

  1. Lipiți un fir negru pe unul dintre picioarele soneriei pentru a fi împământat.
  2. lipiți un fir albastru la celălalt picior de sonerie pentru controlul semnalului.

Lucrare de pregătire a fotorezistorului (diagramă disponibilă)

  1. Lipiți un fir albastru la unul dintre piciorul fotorezistorului pentru 5V.
  2. Lipiți un rezistor de 10K pe celălalt picior al fotorezistorului.
  3. Lipiți un fir albastru între rezistorul 10K și fotorezistor pentru semnal.
  4. Lipiți un fir negru la rezistorul de 10K pentru împământare.

Lucrările de pregătire a LED-urilor:

  1. Lipiți un fir albastru de la LED-ul pozitiv dreapta la LED-ul pozitiv stâng.
  2. Lipiți un fir negru de la LED-ul negativ din dreapta la LED-ul negativ din stânga.
  3. Lipiți un fir albastru la LED-ul pozitiv din dreapta pentru controlul semnalului.
  4. Lipiți un fir negru la LED-ul negativ din dreapta pentru împământare.

Pasul 3: Pregătiți motorul DC, driverul motorului DC și senzorii

Pregătiți motorul DC, driverul motorului DC și senzorii
Pregătiți motorul DC, driverul motorului DC și senzorii
Pregătiți motorul DC, driverul motorului DC și senzorii
Pregătiți motorul DC, driverul motorului DC și senzorii

MrK_Blockvador are câteva opțiuni de senzori, iar senzorii suplimentari nu afectează funcționalitatea generală, cu toate acestea, senzorul de culoare nu va putea fi instalat după ce motorul de curent continuu este lipit în poziție.

Pregătirea motorului de curent continuu:

  1. Lipiți un fir negru și roșu la motorul DC.
  2. Înfășurați capătul motorului cu bandă de învățare.
  3. Umpleți zona cu adeziv fierbinte pentru a sigila conectorii motorului.

Lucrarea de pregătire a conducătorului auto DC:

  1. Lipiți cele 6 fire de semnal de pe driverul motorului.
  2. Lipiți firul de semnal pe pinul corect de pe Arduino Nano.
  3. Instalați firele de 12V pentru a alimenta driverul motorului de la baterie. Asigurați-vă că aveți firele suficient de lungi pentru a le lăsa în jos și în spatele robotului.
  4. Instalați firele de 5V pentru a alimenta Arduino Nano de la driverul motorului.

Pregătirea senzorului de culoare (opțional):

  1. Lipiți cele 2 fire pentru semnal.
  2. Lipiți cele 2 fire pentru alimentare.
  3. Lipiți 1 fir pentru a controla LED-ul super luminos.

Pregătirea senzorului de distanță: (opțional)

  1. Lipiți un fir albastru pentru semnal.
  2. Lipiți un alt fir albastru pe portul pozitiv pentru 3V pozitiv.
  3. Lipiți un fir negru pentru pe portul negativ pentru masă.

Pasul 4: Asamblați

Image
Image
Asambla
Asambla

După toate lucrările de pregătire, acum este momentul în care lucrurile se reunesc.

Notă: Folosesc adeziv fierbinte pentru motorul de curent continuu și driverul motorului de curent continuu, deoarece adezivul fierbinte poate oferi o absorbție minoră a șocurilor și, dacă trebuie să îl eliminați, un pic de alcool de frecare va scoate adezivul fierbinte imediat.

Procesul de asamblare:

  1. Lipiți senzorul de culoare pe șasiu și rulați firul senzorului de culoare prin canal. (opțional)
  2. Lipiți la cald motorele de curent continuu pe șasiu, asigurați-vă că motorul de curent continuu stă la același nivel cu șasiul.
  3. Capul Blocvader super lipit pe șasiu asigură că toate firele trec.
  4. Senzor de distanță a lipiciului fierbinte. (opțional)
  5. LED-uri cu adeziv fierbinte pentru ochii Blockvador.
  6. Introduceți firele motorului continuu la driverul motorului continuu până la capăt și înșurubați ferm.
  7. Rulați firele de alimentare de 12V de la driverul DC în jos și în afară din spatele șasiului pentru comutatorul de pornire / oprire.
  8. Asigurați-vă că toate firele de la toți senzorii sunt liberi înainte de a lipi șoferul motorului de curent continuu.
  9. Încărcați codul de test și depanați dacă există.

Pasul 5: Cod

Image
Image
Ce urmează?
Ce urmează?

Cod de bază:

Robotul utilizează fotorezistorul său și detectează nivelul de lumină al camerei și reacționează dacă există o schimbare a nivelului de lumină în timp

Inima codului:

bucla void () {lightLevel = analogRead (Photo_Pin); Serial.print ("Nivel lumină:"); Serial.println (lightLevel); Serial.print ("Lumina curentă:"); 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 („Mod activ”);}}

Robotul poate fi controlat cu ajutorul unui controler și trecerea la modul parțial autonom cu ajutorul controlerului.

Inima codului:

bucla void () {int debug = 0; lightLevel = analogRead (Photo_Pin); Dis = analogRead (Dis_Pin); // Verificați dacă există date de primit dacă (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 (depanare> = 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 ");} Serial.print ("\ n"); Serial.print ("Mod Rover:"); 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); întârziere (depanare * 10); } lastReceiveTime = millis (); // În acest moment am primit datele} // Verifică dacă continuăm să primim date sau dacă avem o conexiune între cele două module currentTime = millis (); if (currentTime - lastReceiveTime> 1000) // Dacă ora curentă este mai mare de 1 secundă de când am primit ultimele date, {// asta înseamnă că am pierdut conexiunea resetData (); // Dacă conexiunea se pierde, resetați datele. Previne comportamentul nedorit, de exemplu, dacă o dronă are accelerația ridicată și pierdem conexiunea, poate continua să zboare dacă nu resetăm valorile}}

Pasul 6: Ce urmează?

Acest proiect este începutul unui proiect mai amplu, în care o rețea a acestor băieți mici lucrează împreună pentru a arhiva un obiectiv comun.

Cu toate acestea, acești roboți ar trebui să raporteze starea lor la o stație de comunicații, apoi această stație ar combina apoi toate rapoartele de la toți roboții pentru a lua apoi o decizie cu privire la care ar fi următoarea acțiune necesară.

Din acest motiv, următoarea fază a proiectului ar fi un controler care să acționeze ca o stație de comunicații. Acest lucru va ajuta la dezvoltarea proiectului în continuare.

Controlerul în sine este un robot, cu toate acestea, este mai pasiv decât Blockader-ul. Prin urmare, controlorul renunță la propriul articol instructiv, deci acordați-vă un viitor proiect; D

Recomandat: