Inhoudsopgave:

MrK Blockvader: 6 stappen (met afbeeldingen)
MrK Blockvader: 6 stappen (met afbeeldingen)

Video: MrK Blockvader: 6 stappen (met afbeeldingen)

Video: MrK Blockvader: 6 stappen (met afbeeldingen)
Video: YEAR IN REVIEW | The WWF in 1996 (Full Year Documentary) 2024, November
Anonim
Image
Image
3d printen
3d printen

In de loop der jaren heb ik veel interessante 3D-geprinte rover-robotprojecten gezien en ik vind het geweldig hoe 3D-printtechnologie de robotgemeenschap heeft geholpen om meer diversiteit in ontwerp- en materiaalkeuzes te krijgen. Ik wil een kleine bijdrage leveren aan de robotgemeenschap door MrK_Blockvader te publiceren op Instructable voor de Maker Community.

MrK_Blockvader is een leuke kleine robot met een kleine zoemer, maar laat je niet voor de gek houden door de blokkerige look. Hij zou kunnen worden uitgerust met de kleurensensor, afstandssensor, een radiomodule om te communiceren met andere Blocky met dezelfde mogelijkheden, met een basis of met een controller.

MrK_Blockvader zal deel uitmaken van een robotnetwerk waar men als commandant kan worden toegewezen aan een groep robots om hetzelfde doel te archiveren.

Benodigdheden

1 * Arduino Nano

1 * DC-motorstuurprogramma:

2 * DC-motor met versnellingsbak

1 * 650 mAh Venom LiPo-batterij

2 * 1/24 RC-vrachtwagenwielen

2 * Witte LED's

1 * Afstandssensor:

1 * Kleursensor:

1 * nRF24 breakout-bord

1 * nRF24-radiokaart

1 * zoemer:

1 * Schakelaar:

1*26 AUGUSTUS Zwarte draad

1*26 AUG Blauwe draad

1*22 AUGUSTUS Zwarte draad

1*22 AUGUSTUS Rode draad

Stap 1: 3D printen

Ik gebruik de CEL Robox 3D-printer bedrukt met koolstofmateriaal voor lichtgewicht en duurzaamheid. Ik zal de STL-bestanden hieronder bijvoegen. Als u vragen heeft over het 3D-printproces en de instellingen, kunt u deze in de opmerking plaatsen.

Stap 2: Bereid de Arduino Nano voor

Bereid de Arduino Nano voor
Bereid de Arduino Nano voor
Bereid de Arduino Nano voor
Bereid de Arduino Nano voor
Bereid de Arduino Nano voor
Bereid de Arduino Nano voor
Bereid de Arduino Nano voor
Bereid de Arduino Nano voor

Ik heb geleerd dat het uitvoeren van voorbereidend werk aan alle elektrische componenten de sleutel is tot een schoon project.

Dit project omvat het aansluiten van het nRF24-breakout-bord, ik heb dit gedaan in een apart project genaamd NRF24 Wireless LED Box, hier kun je informatie vinden over hoe je het nRF24-breakout-bord kunt aansluiten op een Arduino.

Opmerking: ik gebruik dikkere 22AWG-draad voor het voeden van de Nano en dunne 26 AWG blauwe en zwarte draden voor alle andere signaaldoeleinden. Ik ben dol op deze draden van 26 AWG-formaat, ze zijn flexibel maar toch sterk en bieden het beste van twee werelden.

Arduino Nano voorbereidend werk:

  1. Soldeer de signaalpin-header op de Arduino Nano.
  2. Als u deze pinnen nat maakt met het soldeer, wordt het solderen later veel gemakkelijker.
  3. Soldeer een groep blauwe draad aan de 5V om alle sensoren en LED's van stroom te voorzien.
  4. Soldeer een groep zwarte draad aan de GND om alle sensoren en LED's te aarden.

NRF 24 breakout board voorbereidend werk:

  1. Soldeer 5 draden aan de nRF24 breakout board voor de signalen.
  2. Soldeer 2 draden aan het nRF24 breakout board voor de voeding.
  3. Controleer de link om er zeker van te zijn hoe u het breakout-bord op een Arduino kunt aansluiten.
  4. Soldeer het signaal 5 draden van de nRF24 naar de Arduino Nana.

Voorbereiding van de zoemer:

  1. Soldeer een zwarte draad aan een van de zoemerpoten voor aarde.
  2. soldeer een blauwe draad aan de andere zoemerpoot voor signaalcontrole.

Voorbereiding van de fotoresistor: (diagram beschikbaar)

  1. Soldeer een blauwe draad aan een van de fotoresistorpootjes voor 5V.
  2. Soldeer een weerstand van 10K aan het andere been van de fotoweerstand.
  3. Soldeer een blauwe draad tussen de 10K weerstand en de fotoweerstand voor het signaal.
  4. Soldeer een zwarte draad aan de 10K weerstand voor aarde.

LED's voorbereidende werkzaamheden:

  1. Soldeer een blauwe draad van de positieve rechter LED naar de positieve linker LED.
  2. Soldeer een zwarte draad van de negatieve rechter LED naar de negatieve linker LED.
  3. Soldeer een blauwe draad aan de positieve rechter LED voor signaalcontrole.
  4. Soldeer een zwarte draad aan de negatieve rechter LED voor massa.

Stap 3: Bereid de DC-motor, DC-motordriver en sensoren voor

Bereid DC-motor, DC-motorstuurprogramma en sensoren voor
Bereid DC-motor, DC-motorstuurprogramma en sensoren voor
Bereid DC-motor, DC-motorstuurprogramma en sensoren voor
Bereid DC-motor, DC-motorstuurprogramma en sensoren voor

De MrK_Blockvador heeft een aantal sensoropties en de extra sensoren hebben geen invloed op de algehele werking, maar de kleurensensor kan niet worden geïnstalleerd nadat de DC-motor op zijn plaats is gelijmd.

Voorbereiding van de DC-motor:

  1. Soldeer een zwarte en een rode draad aan de DC-motor.
  2. Wikkel het uiteinde van de motor in met lear tape.
  3. Vul het gebied met hete lijm om de motorconnectoren af te dichten.

Voorbereiding van de DC-motordriver:

  1. Soldeer de 6 signaaldraden op de Motor Driver.
  2. Soldeer de signaaldraad aan de juiste pin op de Arduino Nano.
  3. Installeer de 12V-draden om de motordriver van de batterij te voorzien. Zorg ervoor dat je de draden lang genoeg hebt om het onder en uit de achterkant van de robot te laten lopen.
  4. Installeer de 5V-draden om de Arduino Nano van de motordriver te voorzien.

Voorbereiding van de kleursensor (optioneel):

  1. Soldeer de 2 draden voor het signaal.
  2. Soldeer de 2 draad voor de macht.
  3. Soldeer de 1 draad om de super heldere LED te bedienen.

Voorbereiding afstandssensor: (optioneel)

  1. Soldeer een blauwe draad voor het signaal.
  2. Soldeer nog een blauwe draad op de positieve poort voor positieve 3V.
  3. Soldeer een zwarte draad voor op de negatieve poort voor massa.

Stap 4: Monteer

Image
Image
Monteren
Monteren

Na al het voorbereidende werk is dit het moment waarop alles samenkomt.

Opmerking: ik gebruik hete lijm voor de DC-motor en de DC-motoraandrijving, omdat hete lijm een kleine schokabsorptie kan bieden en als je het moet verwijderen, zal een klein beetje ontsmettingsalcohol de hete lijm er meteen af krijgen.

Montage proces:

  1. Heetlijm de kleursensor op het chassis en leid de kleursensordraad door het kanaal. (optioneel)
  2. Heet lijm de DC-motoren op het chassis, zorg ervoor dat de DC-motor gelijk ligt met het chassis.
  3. Superlijm de Blocvader-kop op het chassis en zorg ervoor dat alle draden erdoorheen lopen.
  4. Hete lijm afstandssensor. (optioneel)
  5. Heetlijm LED's voor Blockvador-ogen.
  6. Steek de DC-motordraden helemaal in de DC-motoraandrijving en schroef ze stevig vast.
  7. Leid de 12V-voedingsdraden van de DC-driver naar beneden en uit de achterkant van het chassis voor de aan/uit-schakelaar.
  8. Zorg ervoor dat alle draden van alle sensoren vrij zijn voordat u de DC-motordriver vastlijmt.
  9. Upload testcode en los eventuele problemen op.

Stap 5: Coderen

Image
Image
Wat nu?
Wat nu?

Basiscode:

De robot gebruikt zijn fotoresistor en detecteert het lichtniveau van de kamer en reageert als het lichtniveau in de loop van de tijd verandert

Het hart van de code:

void loop () { lightLevel = analogRead (Photo_Pin); Serial.print("Lichtniveau: ");Serial.println(lightLevel); Serial.print("Huidige licht: ");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("Actieve modus");} }

De robot kan worden bestuurd met behulp van een controller en overschakelen naar gedeeltelijk autonome modus met behulp van de controller.

Het hart van de code:

void loop() {int debug = 0; lightLevel = analogRead (Photo_Pin); Dis = analoog lezen (Dis_Pin); // Controleer of er gegevens moeten worden ontvangen if (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 = LAAG; ");} if (data. S_Switch_State == 0){Serial.print("S_Switch_State = HIGH; ");} if (data. S_Switch_State == 1){Serial.print("S_Switch_State = LAAG; ");} if (data. M_Switch_State == 0){Serial.println("M_Switch_State = HIGH");} if (data. M_Switch_State == 1){Serial.println("M_Switch_State = LOW");} Serieel.print("\n"); Serial.print("Rover-modus: ");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); vertraging (foutopsporing * 10); } lastReceiveTime = millis(); // Op dit moment hebben we de data ontvangen } // Controleer of we data blijven ontvangen, of dat we een verbinding hebben tussen de twee modules currentTime = millis(); if (currentTime - lastReceiveTime > 1000) // Als de huidige tijd meer dan 1 seconde is sinds we de laatste gegevens hebben ontvangen, { // dat betekent dat we de verbinding hebben verloren resetData(); // Als de verbinding wordt verbroken, stelt u de gegevens opnieuw in. Het voorkomt ongewenst gedrag, bijvoorbeeld als een drone gas geeft en we de verbinding verliezen, kan hij blijven vliegen tenzij we de waarden resetten } }

Stap 6: wat nu?

Dit project is het begin van een groter project, waarbij een netwerk van deze kleine jongens samenwerkt om een gemeenschappelijk doel te archiveren.

Deze robots zouden echter hun status moeten rapporteren aan een communicatiestation, waarna dit station alle rapporten van alle bots zou combineren om vervolgens een beslissing te nemen over wat de volgende noodzakelijke actie zou zijn.

Om die reden zou de volgende fase van het project een controller zijn om als communicatiestation te fungeren. Dit zal helpen om het project verder te ontwikkelen.

De controller zelf is een robot, maar is passiever dan de Blockader. Daarom verlaat de controller zijn eigen instructable artikel, dus stem af op een toekomstig project; D

Aanbevolen: