INHOUDSOPGAWE:
- Stap 1: materiaal
- Stap 2: Programmering
- Stap 3: stroombaan
- Stap 4: Onderdele met 3D -druk
- Stap 5: Montering
Video: Dompelvoertuig: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
***************** HIERDIE INSTRUKTIEEL IS NOG NOG 'N WERK IN DIE VORDERING *****************
Hierdie Instructable is geskep ter voldoening aan die projekvereiste van die Makecourse aan die Universiteit van Suid -Florida (www.makecourse.com).
Hierdie Instructable gee 'n kort oorsig van die skepping van die dompelvoertuig wat ek ontwerp en gebou het vir my Makecourse -klas aan die Universiteit van Suid -Florida. In hierdie Instructable gee ek 'n stuk materiaal, die kontrolekode wat ek geskep het vir die Arduino Uno wat ek gebruik het, en 'n oorsig van hoe u die dompelpomp aanmekaar sit.
Stap 1: materiaal
Die elektronika wat gebruik word waar:
1x Arduino Uno
1x mobius -aksiekamera
1x mobius-aksiekamera usb-b na A/V-kabel
1x veldaansig 777 -skerm
1x turnigy marine 50A ESC (elektroniese snelheidsbeheer)
1x mariene programmeerkaart
1x T-Motor Navigator 400kv
1x YEP 20A BEC (stroombaan vir eliminasie van batterye)
6x stokperdjie koning HK15139 waterdigte servo's
2x parallelle T-connector en harnasse
2x 18 duim servo verlengdrade
6x 6 duim servo verlengdrade
2x 1300mah 3s Lipo -batterye
2x 2500mah 4s Lipo -batterye
1x kragverspreidingsbord met vaste 5v en 12v uitsette
Die boumateriaal waar:
1x laaghout van 3/16 duim
1x 6 duim ID ABS gestuur buis
1x silikoon buis
1x blik buigsel
4x spoel ABS 3D -drukkerfilament
1x 24 duim laaiskyfie
Krimpbuis
1x 10 voet scotch merk duraloc klittenband
1x JB Weld plastiek epoxy
1x akriel sekuriteitskamera -koepel met 'n deursnee van 6,2 duim
2x IP68 ethernet -deurvoer
2x 24 duim cat6 ethernet kabel
1x 200 voet cat6 ethernet -kabel
Die hardeware wat gebruik is, was:
24x 1/2 duim koperhoutskroewe
24x ------ skroewe (ingesluit by servo's)
Die gereedskap wat gebruik word:
Philip's en Flat head skroewedraaiers
Inbussleutelset
Soldeerbout
Hittegeweer
3D -drukker (ek het 'n Monoprice Maker Select Plus gebruik)
Stap 2: Programmering
Hieronder is die kode wat geskep is om die dompelpomp te beheer. Ek het ook die.ino lêer aangeheg sodat dit afgelaai kan word.
Hierdie kode is geskep vir die Arduino Uno met behulp van die Arduino -samesteller.
/**********************************************************************************************************************************************************************
Skrywer: Jonah Powers Datum: 11/9/2018 Doel: beheerkode vir op afstand bestuurde dompelvoertuig ****************************** ************************************************* ************************************************* ***********************************/#include // Inclusief Servo Library Servo roll1; // Verklaar rol 1 as 'n servoservrol 2; // Verklaring van roll2 as 'n servo Servo elev1; // Verklaar elev1 as 'n servo Servo elev2; // Verklaar elev2 as 'n servo Servo yaw1; // Verklaar yaw1 as 'n servo Servo yaw2; // verklaar yaw2 as 'n servo servo esc; // Verklaar esc as 'n servo
int pot1 = 0; // Intitialiseer veranderlike pot1 as 'n heelgetal en stel dit gelyk aan 0 int pot2 = 1; // Intitialiseer veranderlike pot2 as 'n heelgetal en stel dit gelyk aan 2 int pot3 = 2; // Intitialiseer veranderlike pot3 as 'n heelgetal en stel dit gelyk aan 4 int pot4 = 3; // Intitialiseer veranderlike pot4 as 'n heelgetal en stel dit gelyk aan 5 int val1; // Intitialiseer veranderlike val1 as 'n heelgetal int val2; // Intitialiseer veranderlike val2 as 'n heelgetal int val3; // Intitialiseer veranderlike val3 as 'n heelgetal int val4; // Intitialiseer veranderlike val4 as 'n heelgetal int val5; // Intitialiseer veranderlike val5 as 'n heelgetal int val6; // Intitialiseer veranderlike val6 as 'n heelgetal int val7; // Intitialiseer veranderlike val7 as 'n heelgetal int val8; // Intitialiseer veranderlike val8 as 'n heelgetal int mspeed; // Intitialiseer veranderlike mspeed as 'n heelgetal
ongeldige opstelling () {// Arduino -inisialiseringstadium Serial.begin (9600); // Initialiseer die reeks moniter roll1.attach (2); // Bevestig servorol1 aan digitale pen 2 rol2.heg (3); // Bevestiging van servrol 2 aan digitale pen 3 elev1.heg (5); // Bevestig servo elev1 aan digitale pen 5 elev2.achach (6); // Bevestig servo elev2 aan digitale pen 6 yaw1.achach (8); // Bevestig servo yaw1 aan digitale pen 8 yaw2.achach (9); // Bevestig servo yaw2 aan digitale pen 9 esc.attach (11); // Bevestig servo esc aan digitale pen 11 roll1.write (90); // Skryf servrolol1 na sy gesentreerde posisie rol2.skryf (90); // Skryf servrolol2 na sy gesentreerde posisie elev1.write (90); // Skryf servo elev1 na sy gesentreerde posisie elev2.write (90); // Skryf servo elev2 na sy gesentreerde posisie yaw1.write (90); // Skryf servo yaw1 na sy gesentreerde posisie yaw2.write (90); // Skryf servo yaw2 na sy gesentreerde posisie esc.write (180); // Skryf servo esc na sy gesentreerde posisie vertraging (2500); // Wag 2 sekondes skryf (90); vertraging (5000); }
void lus () {// Hoofkode om oneindig te loop as (analogRead (pot1) <1 && analogRead (pot2) <1 && analogRead (pot3) <1 && analogRead (pot4) = 485 && val1 <= 540) {// Kontroleer of "Joystick" (potensiometer) gesentreer is roll1.write (90); // Skryf servorol1 na middelste posisie rol2.write (90); // Skryf servrol 2 na die middelste posisie} anders {// Wat om te doen as "Joystick" nie gesentreer is nie val1 = map (val1, 0, 1023, 10, 170); // kartering van val1 van 10 tot 170 en toewysing aan val1 roll1.write (val1); // Skryf servorol1 na positie gedefinieer deur val1 roll2.write (val1); // Skryf servo roll2 na positie gedefinieer deur val1}
val2 = analogRead (pot2); // Lees pot2 (analoog pen 2) en stoor waarde as val2 as (val2> = 485 && val2 <= 540) {// Kontroleer of "Joystick" (potensiometer) gesentreer is elev1.write (90); // Skryf servo elev1 na middelste posisie elev2.write (90); // Skryf servo elev2 na middel posisie} anders {// Wat om te doen as "Joystick" nie gesentreer is nie val3 = map (val2, 0, 1023, 10, 170); // kartering van val2 van 10 tot 170 en toewysing aan val3 val4 = map (val2, 0, 1023, 170, 10); // Kar2 van 170 tot 10 karteer en aan val4 elev1.write (val3) toewys; // Skryf servo elev1 na positie gedefinieer deur val3 elev2.write (val4); // Skryf servo elev2 na positie gedefinieer deur val4}
val5 = analogRead (pot3); // Lees pot3 (analoog pen 4) en stoor waarde as val5 as (val5> = 485 && val5 <= 540) {// Kontroleer of "Joystick" (potensiometer) gesentreer is yaw1.write (90); // Skryf servo yaw1 na die middelste posisie yaw2.write (90); // Skryf servo yaw2 na die middelste posisie} anders {// Wat om te doen as "Joystick" nie gesentreer is nie val6 = map (val5, 0, 1023, 10, 170); // karval kar 5 van 10 tot 170 en toewysing aan val6 val7 = map (val5, 0, 1023, 170, 10); // Kar5 van 10 tot 170 karteer en aan val7 yaw1.write (val6) toewys; // Skryf servo yaw1 na positie gedefinieer deur val6 yaw2.write (val7); // Skryf servo yaw2 na positon gedefinieer deur val7}
val8 = analogRead (pot4); // Lees pot4 (analoog pen 5) en stoor waarde as val8 if (val8> 470 && val8 80 && val8 <80) || (mspeed80)) {// Kontroleer of motor op die punt is om rigting te verander esc.write (80); vertraging (1000); // Wag 1000 millisekondes} esc.write (val8); // Skryf servo esc na spoed gedefinieer deur val8 mspeed = val8; // Stoor huidige spoed vir vergelyking}} Serial.print ("gas"); // Gebruik Serial Print om die woord "Throttle" Serial.println (val8) te wys; // Deur Serial Print te gebruik om die waarde aan te toon wat die gashendel op Serial.print ("roll") gestel is; // Gebruik Serial Print om die woord "Roll" Serial.println (val1) te wys; // Deur Serial Print te gebruik om die waarde van die rol aan Serial.print ("pitch") te wys; // Gebruik Serial Print om die woord "Pitch" Serial.println (val3) te wys; // Gebruik Serial Print om die waarde wat pitch1 is ingestel op Serial.println (val4) te wys; // Gebruik Serial Print om die waarde wat pitch2 is ingestel op Serial.print ("yaw") aan te toon; // Gebruik Serial Print om die woord "Yaw" Serial.println (val6) te wys; // Gebruik Serial Print om die waarde wat yaw1 is ingestel op Serial.println (val7) te wys; // Gebruik Serial Print om die waarde te wys waarop yaw2 ingestel is}
Stap 3: stroombaan
Aangeheg is 'n foto van die kring aan boord van die dompelpomp.
Ek het 'n pasgemaakte skild vir die Arduino gemaak om my bedrading te vereenvoudig. Ek het die Eagle Schematic & Board -lêers vir die skild opgelaai. Ek het 'n LPKF S63 gebruik om die bord te maal. die servo's aan die voorkant met die bedieningsrol sal by Arduino ingeprop word
aangeheg is 'n foto van die stroombaan in die beheerder.
Stap 4: Onderdele met 3D -druk
Ek het al hierdie lêers op my Monoprice Maker Select Plus gedruk. Ek het Esun ABS 1.75mm filament gebruik. My drukinstellings was 105 grade C vir die drukbed temperatuur en 255 grade C vir die ekstruder temperatuur. Slegs 1 van elke deel is nodig, behalwe dat u 6 kopieë van die voorvleuel benodig. Let daarop dat hierdie dele gedruk is met 'n muurdikte van 1000 mm. Dit is gedoen sodat die onderdele met 100% vulsel gedruk word, sodat dit negatief dryf.
Stap 5: Montering
********************************* KOM BINNEKORT *************** ********************
Aanbeveel:
Spelontwerp in vyf stappe: 5 stappe
Spelontwerp in fliek in 5 stappe: Flick is 'n baie eenvoudige manier om 'n speletjie te maak, veral iets soos 'n legkaart, visuele roman of avontuurlike spel
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: 3 stappe
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: in hierdie instruksies gaan ons gesigsopsporing uitvoer op Raspberry Pi 4 met Shunya O/S met behulp van die Shunyaface-biblioteek. Shunyaface is 'n biblioteek vir gesigherkenning/opsporing. Die projek het ten doel om die vinnigste opsporing en herkenningssnelheid te bereik met
DIY Vanity Mirror in eenvoudige stappe (met LED -strookligte): 4 stappe
DIY Vanity Mirror in eenvoudige stappe (met behulp van LED Strip Lights): In hierdie pos het ek 'n DIY Vanity Mirror gemaak met behulp van die LED strips. Dit is regtig cool, en u moet dit ook probeer
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): 6 stappe
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): wil u u vriende skrik en 'n skreeu geraas maak tydens Halloween? Of wil u net 'n goeie grap maak? Hierdie pop-up skerm van Zombies kan dit doen! In hierdie instruksies sal ek u leer hoe u maklik Zombies kan spring deur Arduino te gebruik. Die HC-SR0
Speel Doom op u iPod in 5 maklike stappe !: 5 stappe
Speel Doom op u iPod in 5 maklike stappe !: 'n Stap-vir-stap gids oor hoe u Rockbox op u iPod kan dubbellaai om Doom en tientalle ander speletjies te speel. Dit is iets baie maklik om te doen, maar baie mense staan nog steeds verbaas as hulle sien hoe ek op my iPod doom speel en deurmekaar raak met die instruksies