Innehållsförteckning:

MrK Blockvader: 6 steg (med bilder)
MrK Blockvader: 6 steg (med bilder)

Video: MrK Blockvader: 6 steg (med bilder)

Video: MrK Blockvader: 6 steg (med bilder)
Video: YEAR IN REVIEW | The WWF in 1996 (Full Year Documentary) 2024, Oktober
Anonim
Image
Image
3d-utskrivning
3d-utskrivning

Under årens lopp har jag sett många intressanta 3D -tryckta roverrobotprojekt och jag älskar hur 3D -utskriftsteknologi har hjälpt robotgemenskapen att öka sin mångfald i design och materialval. Jag vill lägga till ett litet bidrag till robotgemenskapen genom att publicera MrK_Blockvader på Instructable for the Maker Community.

MrK_Blockvader är en rolig liten robot med liten summer, men låt inte det blockiga utseendet lura dig. Han kunde utrustas med färgsensorn, avståndssensorn, en radiomodul för att kommunicera med andra Blocky med samma kapacitet, med en bas eller med en styrenhet.

MrK_Blockvader kommer att vara en del av ett robotnätverk där man kan tilldelas som befälhavare till en grupp robotar för att arkivera samma mål.

Tillbehör

1 * Arduino Nano

1 * DC -motordrivrutin

2 * DC -motor med växellåda

1 * 650 mAh Venom LiPo -batteri

2 * 1/24 RC lastbilshjul

2 * vita lysdioder

1 * Avståndssensor

1 * Färgsensor

1 * nRF24 breakout board

1 * nRF24 radiokort

1 * summer

1 * Brytare

1* 26 AUG Svart tråd

1* 26 AUG Blå tråd

1* 22 AUG Svart tråd

1* 22 AUG Röd tråd

Steg 1: 3D -utskrift

Jag använder CEL Robox 3D -skrivare tryckt med kolmaterial för lätt och hållbarhet. Jag bifogar STL -filerna nedan. Kommentera gärna om du har några frågor angående 3D -utskriftsprocessen och inställningen.

Steg 2: Förbered Arduino Nano

Förbered Arduino Nano
Förbered Arduino Nano
Förbered Arduino Nano
Förbered Arduino Nano
Förbered Arduino Nano
Förbered Arduino Nano
Förbered Arduino Nano
Förbered Arduino Nano

Jag har lärt mig att utförande av förberedelser för alla elektriska komponenter är nyckeln till ett rent projekt.

Detta projekt inkluderar att koppla upp nRF24 -utbrottskortet, jag har gjort detta i ett separat projektsamtal NRF24 Wireless LED Box, det är här du kan hitta information om hur du kopplar upp nRF24 -brytkortet till en Arduino.

Obs: Jag använder tjockare 22AWG -tråd för att driva Nano och tunna 26 AWG blå och svarta ledningar för alla andra signaländamål. Jag älskar dessa 26 AWG -kablar, de är flexibla men ändå starka och ger det bästa av två världar.

Arduino Nano förberedelser:

  1. Löd signalstiftets rubrik till Arduino Nano.
  2. Blöt dessa stift med lödet kommer att göra lödningen mycket lättare senare.
  3. Löd en grupp blå tråd till 5V för att leverera ström till alla sensorer och lysdioder.
  4. Löd en grupp svart tråd till GND för att ge jord till alla sensorer och lysdioder.

Förberedelser för NRF 24 -utbrottskort:

  1. Löd 5 ledningar till nRF24 -brytkortet för signalerna.
  2. Löd 2 trådar till nRF24 -brytkortet för strömmen.
  3. Kontrollera länken för att se hur du kopplar utbrottskortet till en Arduino.
  4. Löd signal 5 -ledningarna från nRF24 till Arduino Nana.

Summerförberedelse:

  1. Löd en svart tråd till ett av summerns ben för mark.
  2. löd en blå tråd till det andra summerbenet för signalstyrning.

Fotoresistor förberedelse: (diagram finns)

  1. Löd en blå tråd till ett av fotoresistorbenet för 5V.
  2. Löd ett 10K -motstånd mot fotoresistorns andra ben.
  3. Löd en blå tråd mellan 10K -motståndet och fotoresistorn för signalen.
  4. Löd en svart tråd till 10K -motståndet för mark.

LED -förberedelser:

  1. Löd en blå tråd från den positiva högra lysdioden till den positiva vänstra lysdioden.
  2. Löd en svart ledning från den negativa högra lysdioden till den negativa vänstra lysdioden.
  3. Löd en blå kabel till den positiva högra lysdioden för signalstyrning.
  4. Löd en svart ledning till den negativa högra lysdioden för jord.

Steg 3: Förbered DC -motor, DC -motordrivrutin och sensorer

Förbered likströmsmotor, likströmsmotordrivrutin och sensorer
Förbered likströmsmotor, likströmsmotordrivrutin och sensorer
Förbered likströmsmotor, likströmsmotordrivrutin och sensorer
Förbered likströmsmotor, likströmsmotordrivrutin och sensorer

MrK_Blockvador har ett par sensoralternativ och de extra sensorerna påverkar inte den övergripande driften, men färgsensorn kommer inte att kunna installeras efter att likströmsmotorn har limmats på plats.

DC -motorförberedelse:

  1. Löd en svart och en röd tråd till likströmsmotorn.
  2. Vik in änden av motorn med inlärningstejp.
  3. Fyll området med varmt lim för att täta motorkontakterna.

DC -motorförarens förarbeten:

  1. Löd de 6 signalkablarna på motordrivrutinen.
  2. Löd signalkabeln till rätt stift på Arduino Nano.
  3. Installera 12V -kablarna för att driva motordrivrutinen från batteriet. Se till att du har trådarna tillräckligt långa för att köra ner den under och ut på baksidan av roboten.
  4. Installera 5V -kablarna för att driva Arduino Nano från motordrivrutinen.

Färgsensorförberedelse (tillval):

  1. Löd de 2 trådarna för signalen.
  2. Löd de 2 trådarna för ström.
  3. Löd 1 -ledningen för att styra den superljusa lysdioden.

Förberedelse av distanssensor: (tillval)

  1. Löd en blå tråd för signalen.
  2. Löd ytterligare en blå tråd på den positiva porten för positiv 3V.
  3. Löd en svart tråd för på den negativa porten för mark.

Steg 4: Montera

Image
Image
Montera
Montera

Efter allt förberedande arbete, nu är det ögonblick när saker och ting kommer ihop.

Obs: Jag använder varmt lim för likströmsmotorn och likströmsmotordrivrutinen eftersom varmt lim kan ge mindre stötdämpning och om du behöver ta bort det, tar lite gnidsprit bort det heta limet.

Monteringsprocess:

  1. Lim fast färgsensorn på chassit och för färgsensortråden genom kanalen. (frivillig)
  2. Hett lim DC -motorerna på chassit, se till att DC -motorn sitter i linje med chassit.
  3. Superlim Blocvader -huvudet på chassit ser till att alla ledningar går igenom.
  4. Varmlimavståndssensor. (frivillig)
  5. Hotlim -lysdioder för Blockvador -ögon.
  6. För in likströmsmotorkablarna till likströmsmotordrivrutinen hela vägen och skruva fast ordentligt.
  7. Dra 12V -strömkablarna från DC -drivrutinen ner under och ut på baksidan av chassit för på/av -omkopplaren.
  8. Se till att alla ledningar från alla sensorer är klara innan du limer fast likströmsmotordrivrutinen.
  9. Ladda upp testkoden och felsök om det finns någon.

Steg 5: Kod

Image
Image
Vad nästa?
Vad nästa?

Grundkod:

Roboten använder sin fotoresistor och detekterar ljusets nivå i rummet och reagerar om det ändras ljusnivå över tiden

Hjärtat i koden:

void loop () {lightLevel = analogRead (Photo_Pin); Serial.print ("Ljusnivå:"); 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 ("Aktivt läge");}}

Roboten kan styras med hjälp av en styrenhet och växla till partiellt autonomt läge med hjälp av styrenheten.

Hjärtat i koden:

void loop () {int debug = 0; lightLevel = analogRead (Photo_Pin); Dis = analogRead (Dis_Pin); // Kontrollera om det finns data som ska tas emot om (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; Autonomous_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 ");} Serial.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); fördröjning (felsökning*10); } lastReceiveTime = millis (); // För tillfället har vi fått data} // Kontrollera om vi fortsätter att ta emot data, eller om vi har en anslutning mellan de två modulerna currentTime = millis (); if (currentTime - lastReceiveTime> 1000) // Om den aktuella tiden är mer än 1 sekund sedan vi har tagit emot den senaste informationen, {// betyder det att vi har tappat anslutningen resetData (); // Om anslutningen avbryts, återställ data. Det förhindrar oönskat beteende, till exempel om en drönare har gasreglaget uppe och vi tappar anslutningen kan den fortsätta flyga om vi inte återställer värdena}}

Steg 6: Vad nästa?

Detta projekt är början på ett större projekt, där ett nätverk av dessa små killar arbetar tillsammans för att arkivera ett gemensamt mål.

Dessa robotar skulle dock behöva rapportera sin status till en kommunikationsstation och sedan skulle denna station kombinera alla rapporter från alla robotar för att sedan fatta beslut om vad som skulle bli nästa nödvändiga åtgärd.

Av den anledningen skulle nästa fas av projektet vara en controller som fungerar som en kommunikationsstation. Detta kommer att hjälpa till med att utveckla projektet ytterligare.

Kontrollenheten i sig är en robot, men den är mer passiv än Blockader. Därför överger kontrollanten sin egen instruerbara artikel, så ställ in för ett framtida projekt; D

Rekommenderad: