Indholdsfortegnelse:

MrK Blockvader: 6 trin (med billeder)
MrK Blockvader: 6 trin (med billeder)

Video: MrK Blockvader: 6 trin (med billeder)

Video: MrK Blockvader: 6 trin (med billeder)
Video: YEAR IN REVIEW | The WWF in 1996 (Full Year Documentary) 2024, November
Anonim
Image
Image
3D -udskrivning
3D -udskrivning

I årenes løb har jeg set mange interessante 3D -printede rover -robotprojekter, og jeg elsker, hvordan 3D -printteknologi har hjulpet robotmiljøet til at vokse mere mangfoldighed i design og valg af materialer. Jeg vil tilføje et lille bidrag til robotsamfundet ved at udgive MrK_Blockvader på Instructable for the Maker Community.

MrK_Blockvader er en sjov lille robot med en lille summer, men lad ikke det blokede udseende fjolle dig. Han kunne udstyres med farvesensoren, afstandssensoren, et radiomodul til at kommunikere med andre Blocky med samme kapacitet, med en base eller med en controller.

MrK_Blockvader vil være en del af et robotnetværk, hvor man kan blive tildelt som kommandør til en gruppe robotter for at arkivere det samme mål.

Forbrugsvarer

1 * Arduino Nano

1 * DC motor driver

2 * DC motor med gearkasse

1 * 650 mAh Venom LiPo batteri

2 * 1/24 RC lastbil hjul

2 * hvide lysdioder

1 * Afstandssensor

1 * farvesensor

1 * nRF24 breakout board

1 * nRF24 radiokort

1 * summer

1 * Skift

1* 26 AUG Sort ledning

1* 26 AUG Blå ledning

1* 22 AUG Sort ledning

1* 22 AUG Rød ledning

Trin 1: 3D -udskrivning

Jeg bruger CEL Robox 3D -printeren trykt med kulstof til letvægts og holdbarhed. Jeg vedhæfter STL -filerne herunder. Skriv venligst kommentaren, hvis du har spørgsmål til 3D -udskrivningsprocessen og indstillingen.

Trin 2: Forbered Arduino Nano

Forbered Arduino Nano
Forbered Arduino Nano
Forbered Arduino Nano
Forbered Arduino Nano
Forbered Arduino Nano
Forbered Arduino Nano
Forbered Arduino Nano
Forbered Arduino Nano

Jeg har lært, at udførelse af forberedelse til alle de elektriske komponenter er nøglen til et rent projekt.

Dette projekt omfatter tilslutning af nRF24 breakout board, jeg har gjort dette i et separat projekt kaldet NRF24 Wireless LED Box, det er her du kan finde informationen om, hvordan du opretter nRF24 breakout board til en Arduino.

Bemærk: Jeg bruger tykkere 22AWG -ledning til at drive Nano og tynde 26 AWG blå og sorte ledninger til alle andre signalformål. Jeg elsker disse 26 AWG -ledninger, de er fleksible, men alligevel stærke, giver det bedste fra begge verdener.

Arduino Nano forarbejde:

  1. Lod lod signalstikhovedet til Arduino Nano.
  2. Våd disse stifter med loddetøjet vil gøre lodningen meget lettere senere.
  3. Lod en gruppe af blå ledninger til 5V for at levere strøm til alle sensorer og lysdioder.
  4. Lod en gruppe sort ledning til GND for at give jord til alle sensorer og lysdioder.

Forberedelse af NRF 24 breakout board:

  1. Lod 5 ledninger til nRF24 breakout -kortet til signalerne.
  2. Lod 2 ledninger til nRF24 breakout board for strømmen.
  3. Kontroller linket for at sikre, hvordan du leder udbryderbrættet til en Arduino.
  4. Lod lod signal 5 -ledningerne fra nRF24 til Arduino Nana.

Summer forberedelse arbejde:

  1. Lod en sort ledning til et af summerens ben til jord.
  2. lod en blå ledning til det andet summerben til signalstyring.

Fotoresistor klargøringsarbejde: (diagram tilgængelig)

  1. Lod en blå ledning til et af fotoresistorbenet til 5V.
  2. Lod en 10K modstand til det andet ben af fotoresistoren.
  3. Lod en blå ledning mellem 10K modstanden og fotoresistoren til signalet.
  4. Lod en sort ledning til 10K modstanden til jord.

Forberedelse af LED'er:

  1. Lod en blå ledning fra den positive højre LED til den positive venstre LED.
  2. Lod en sort ledning fra den negative højre LED til den negative venstre LED.
  3. Lod en blå ledning til den positive højre LED til signalstyring.
  4. Lod en sort ledning til den negative højre LED til jord.

Trin 3: Forbered DC -motor, DC -motordriver og sensorer

Forbered DC -motor, DC -motordriver og sensorer
Forbered DC -motor, DC -motordriver og sensorer
Forbered DC -motor, DC -motordriver og sensorer
Forbered DC -motor, DC -motordriver og sensorer

MrK_Blockvador har et par sensorindstillinger, og de ekstra sensorer påvirker ikke den generelle drift, men farvesensoren kan ikke installeres, efter at DC -motoren er limet på plads.

DC motor forberedelse arbejde:

  1. Lod en sort og en rød ledning til DC -motoren.
  2. Pak enden af motoren ind med indlæringsbånd.
  3. Fyld området med varm lim for at forsegle motorstikkene.

DC motor driver forberedelse arbejde:

  1. Lod de 6 signaltråde på motordriveren.
  2. Lod lod signalkablet til den korrekte pin på Arduino Nano.
  3. Installer 12V -ledningerne for at drive motordriveren fra batteriet. Sørg for, at du har ledningerne lange nok til at køre den ned under og ud bag på robotten.
  4. Installer 5V -ledningerne for at drive Arduino Nano fra motordriveren.

Farvesensor forberedelse (valgfrit):

  1. Lod de 2 ledninger til signalet.
  2. Lod de 2 ledninger til strøm.
  3. Lod den 1 ledning for at styre den super lyse LED.

Afstandssensor forberedelse: (valgfrit)

  1. Lod en blå ledning til signalet.
  2. Lod en anden blå ledning på den positive port for positiv 3V.
  3. Lod en sort ledning til på den negative port til jorden.

Trin 4: Saml

Image
Image
Samle
Samle

Efter alt forarbejde er nu det øjeblik, hvor tingene hænger sammen.

Bemærk: Jeg bruger varm lim til DC -motoren og DC -motordriveren, fordi varm lim kan give mindre stødabsorbering, og hvis du har brug for at fjerne den, får en lille smule sprit alkohol den varme lim af.

Samlingsproces:

  1. Hot lim farvesensoren til chassiset, og før farvesensortråden gennem kanalen. (valgfri)
  2. Hot lim DC -motorerne til chassiset, sørg for at DC -motoren sidder i plan med chassiset.
  3. Super lim Blocvader -hovedet til chassiset, sørg for at alle ledninger løber igennem.
  4. Varm limafstandssensor. (valgfri)
  5. Varmlim -LED'er til Blockvador -øjne.
  6. Sæt jævnstrømsmotorledningerne til jævnstrømsmotordriveren hele vejen, og skru fast.
  7. Kør 12V -strømkablerne fra DC -driveren ned under og ud bag på chassiset til tænd/sluk -kontakten.
  8. Sørg for, at alle ledninger fra alle sensorer er klare, før du limer DC -motordriveren ned.
  9. Upload testkode, og fejlfind, hvis der er nogen.

Trin 5: Kode

Image
Image
Hvad er det næste?
Hvad er det næste?

Grundlæggende kode:

Robotten bruger sin fotoresistor og registrerer lysets niveau i rummet og reagerer, hvis der ændres lysniveau over tid

Hjertet i koden:

void loop () {lightLevel = analogRead (Photo_Pin); Serial.print ("Lysniveau:"); Serial.println (lightLevel); Serial.print ("Current light:"); 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 ("Aktiv tilstand");}}

Robotten kan styres ved hjælp af en controller og skifte til delvis autonom tilstand ved hjælp af controlleren.

Hjertet i koden:

void loop () {int debug = 0; lightLevel = analogRead (Photo_Pin); Dis = analogRead (Dis_Pin); // Kontroller, om der er data, der skal modtages, hvis (radio.available ()) {radio.read (& data, sizeof (Data_Package)); hvis (data. C_mode == 0) {Trim_Value = 10; Direct_drive ();} hvis (data. C_mode == 1) {Trim_Value = 0; Autonomous_mode ();} hvis (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 ");} Seriel.print ("\ 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); forsinkelse (fejlfinding*10); } lastReceiveTime = millis (); // I øjeblikket har vi modtaget data} // Kontroller, om vi bliver ved med at modtage data, eller om vi har en forbindelse mellem de to moduler currentTime = millis (); if (currentTime - lastReceiveTime> 1000) // Hvis den aktuelle tid er mere end 1 sekund siden vi har modtaget de sidste data, {// betyder det, at vi har mistet forbindelsen resetData (); // Hvis forbindelsen går tabt, skal data nulstilles. Det forhindrer uønsket adfærd, for eksempel hvis en drone har en gasspjæld op, og vi mister forbindelsen, kan den blive ved med at flyve, medmindre vi nulstiller værdierne}}

Trin 6: Hvad så?

Dette projekt er begyndelsen på et større projekt, hvor et netværk af disse små fyre arbejder sammen for at arkivere et fælles mål.

Disse robotter skulle imidlertid rapportere deres status til en kommunikationsstation, derefter ville denne station derefter kombinere alle rapporterne fra alle bots for derefter at tage en beslutning om, hvad der ville være den næste nødvendige handling.

Af den grund ville den næste fase af projektet være en controller til at fungere som en kommunikationsstation. Dette vil hjælpe med at udvikle projektet yderligere.

Controlleren i sig selv er en robot, men den er mere passiv end Blockader. Derfor forlader controlleren sin egen instruerbare artikel, så stil ind på et fremtidigt projekt; D

Anbefalede: