ዝርዝር ሁኔታ:

በምልክት ቁጥጥር የሚደረግበት ገመድ አልባ መኪና 7 ደረጃዎች
በምልክት ቁጥጥር የሚደረግበት ገመድ አልባ መኪና 7 ደረጃዎች

ቪዲዮ: በምልክት ቁጥጥር የሚደረግበት ገመድ አልባ መኪና 7 ደረጃዎች

ቪዲዮ: በምልክት ቁጥጥር የሚደረግበት ገመድ አልባ መኪና 7 ደረጃዎች
ቪዲዮ: Хакасия: пока ещё дёшево — Отчёт разведки 2024, ህዳር
Anonim
በምልክት ቁጥጥር የሚደረግበት ገመድ አልባ መኪና
በምልክት ቁጥጥር የሚደረግበት ገመድ አልባ መኪና

በዚህ መማሪያ ውስጥ በምልክት ቁጥጥር የሚደረግበትን መኪና ወይም ማንኛውንም ሮቦት እንዴት መሥራት እንደሚቻል እንማራለን። ይህ ፕሮጀክት ሁለት ክፍል አለው ፣ አንዱ ክፍል አስተላላፊ አሃድ ሲሆን ሌላኛው ክፍል ተቀባይ ክፍል ነው። አስተላላፊ አሃድ በእውነቱ በእጅ ጓንቶች ላይ ተጭኗል እና ተቀባዩ ክፍል በመኪና ወይም በማንኛውም ሮቦት ውስጥ ይቀመጣል። ጥሩ መኪና ለመሥራት ጊዜው አሁን ነው። እንሂድ!

ደረጃ 1 - መሣሪያዎች

አስተላላፊ ክፍል

1. አርዱዲኖ ናኖ።

2. MPU6050 ዳሳሽ ሞዱል።

3. RF 433 ሜኸ አስተላላፊ።

4. ማንኛውም ዓይነት 3 ሴል ፣ 11.1 ቮልት ባትሪ (እዚህ የሳንቲም ሴል ተጠቅሜያለሁ)።

5. ቬሮ-ቦርድ.

6. የእጅ ጓንቶች.

የመቀበያ ክፍል

1. አርዱዲኖ ናኖ ወይም አርዱዲኖ ኡኖ።

2. L298N የሞተር ሾፌር ሞዱል።

3. ሞተሮችን ጨምሮ 4 የጎማ ሮቦት ፍሬም።

4. RF 433 RF ተቀባይ.

5. 3 ሴል ፣ 11.1 ቮልት ሊ-ፖ ባትሪ።

6. ቬሮ-ቦርድ.

ሌሎች

1. ሙጫ እንጨቶች እና ጠመንጃ።

2. ዝላይ ሽቦዎች።

3. ሾፌር ሾፌሮች

4. የመሸጫ ኪት።

ወዘተ.

ደረጃ 2 የወረዳ ዲያግራም የምስል ፋይል

የወረዳ ዲያግራም የምስል ፋይል
የወረዳ ዲያግራም የምስል ፋይል

ደረጃ 3 - የወረዳ ዲያግራም ፋይል ፋይል

ደረጃ 4: የማስተላለፊያ ኮድ

#ያካትቱ

#ያካትቱ

#ያካትቱ

MPU6050 mpu6050 (ሽቦ);

ረጅም ሰዓት ቆጣሪ = 0;

ቻር *ተቆጣጣሪ;

ባዶነት ማዋቀር ()

{Serial.begin (9600); Wire.begin (); mpu6050.begin (); mpu6050.calcGyroOffsets (እውነት); vw_set_ptt_inverted (እውነት); // vw_set_tx_pin (10); vw_setup (4000); // የውሂብ ማስተላለፍ ፍጥነት Kbps

}

ባዶነት loop ()

{ ////////////////////////////////////////////////////////////////////////////////////////////////

mpu6050. ወቅታዊ ();

ከሆነ (ሚሊስ () - ሰዓት ቆጣሪ> 1000)

{Serial.println ("========================================== =========== "); Serial.print ("temp:"); Serial.println (mpu6050.getTemp ()); Serial.print ("accX:"); Serial.print (mpu6050.getAccX ()); Serial.print ("\ taccY:"); Serial.print (mpu6050.getAccY ()); Serial.print ("\ taccZ:"); Serial.println (mpu6050.getAccZ ()); Serial.print ("gyroX:"); Serial.print (mpu6050.getGyroX ()); Serial.print ("\ tgyroY:"); Serial.print (mpu6050.getGyroY ()); Serial.print ("\ tgyroZ:"); Serial.println (mpu6050.getGyroZ ()); Serial.print ("accAngleX:"); Serial.print (mpu6050.getAccAngleX ()); Serial.print ("\ taccAngleY:"); Serial.println (mpu6050.getAccAngleY ()); Serial.print ("gyroAngleX:"); Serial.print (mpu6050.getGyroAngleX ()); Serial.print ("\ tgyroAngleY:"); Serial.print (mpu6050.getGyroAngleY ()); Serial.print ("\ tgyroAngleZ:"); Serial.println (mpu6050.getGyroAngleZ ()); Serial.print ("angleX:"); Serial.print (mpu6050.getAngleX ()); Serial.print ("\ tangleY:"); Serial.print (mpu6050.getAngleY ()); Serial.print ("\ tangleZ:"); Serial.println (mpu6050.getAngleZ ()); Serial.println ("============================================== ========== / n "); ሰዓት ቆጣሪ = ሚሊስ (); }

/////////////////////////////////////////////////////////////////////////////////////

ከሆነ (mpu6050.getAccAngleX () 30) {ተቆጣጣሪ = "X2"; vw_send ((uint8_t *) ተቆጣጣሪ ፣ strlen (ተቆጣጣሪ)); vw_wait_tx (); // መልእክቱ በሙሉ እስኪጠፋ ድረስ ይጠብቁ Serial.println ("FORWARD"); } ሌላ ከሆነ (mpu6050.getAccAngleY ()> 40) {ተቆጣጣሪ = "Y1"; vw_send ((uint8_t *) ተቆጣጣሪ ፣ strlen (ተቆጣጣሪ)); vw_wait_tx (); // መልእክቱ በሙሉ እስኪጠፋ ድረስ ይጠብቁ Serial.println ("LEFT"); } ሌላ ከሆነ (mpu6050.getAccAngleY () <-40) {መቆጣጠሪያ = "Y2"; vw_send ((uint8_t *) ተቆጣጣሪ ፣ strlen (ተቆጣጣሪ)); vw_wait_tx (); // መልእክቱ በሙሉ እስኪጠፋ ድረስ ይጠብቁ Serial.println ("RIGHT"); } ሌላ ከሆነ (mpu6050.getAccAngleX ()-10 && mpu6050.getAccAngleY ()-10) {ተቆጣጣሪ = "A1"; vw_send ((uint8_t *) ተቆጣጣሪ ፣ strlen (ተቆጣጣሪ)); vw_wait_tx (); // መልእክቱ በሙሉ እስኪጠፋ ድረስ ይጠብቁ Serial.println ("አቁም"); }}

ደረጃ 5: የተቀባዩ ኮድ

#ያካትቱ

int LA = 3;

int LB = 11; int RA = 5; int RB = 6; ባዶነት ማዋቀር () {Serial.begin (9600); vw_set_ptt_inverted (እውነት); // ለ DR3100 vw_set_rx_pin (12) ያስፈልጋል ፤ vw_setup (4000); // ቢት በሰከንድ ፒን ሞዶ (13 ፣ ውፅዓት); pinMode (ላ ፣ ውፅዓት); pinMode (LB ፣ ውፅዓት); pinMode (ራ ፣ ውፅዓት); pinMode (አርቢ ፣ ውፅዓት); vw_rx_start (); // Serial.println («ሁሉም እሺ») የሚያሄድ ተቀባዩን PLL ይጀምሩ ፤

}

ባዶነት loop () {uint8_t buf [VW_MAX_MESSAGE_LEN]; uint8_t buflen = VW_MAX_MESSAGE_LEN;

ከሆነ (vw_get_message (buf ፣ & buflen)) // አለማገድ

{ከሆነ ((buf [0] == 'X') && (buf [1] == '1')) {Serial.println ("BACKWARD"); ወደ ኋላ (); መዘግየት (100); // ጠፍቷል (); } ሌላ ከሆነ ((buf [0] == 'X') && (buf [1] == '2')) {Serial.println ("ወደፊት"); ወደፊት (); መዘግየት (100); // ጠፍቷል (); }

ሌላ ከሆነ ((buf [0] == 'Y') && (buf [1] == '1'))

{Serial.println («LEFT») ፤ ግራ(); መዘግየት (100); // ጠፍቷል (); }

ሌላ ከሆነ ((buf [0] == 'Y') && (buf [1] == '2'))

{Serial.println («RIGHT») ፤ ቀኝ(); መዘግየት (100); // ጠፍቷል (); } ሌላ ከሆነ ((buf [0] == 'A') && (buf [1] == '1')) {Serial.println ("አቁም"); ጠፍቷል (); መዘግየት (100); }} ሌላ {Serial.println (“ምንም ምልክት አልተቀበለም”) ፤ }}

ባዶ ባዶ ወደፊት ()

{analogWrite (LA, 70); አናሎግ ፃፍ (LB ፣ 0); analogWrite (RA, 70); አናሎግ ፃፍ (አርቢ ፣ 0); }

ወደ ኋላ ባዶ ()

{analogWrite (LA, 0); አናሎግ ፃፍ (LB ፣ 70); analogWrite (RA, 0); አናሎግ ፃፍ (አርቢ ፣ 70); }

ባዶ ባዶ ()

{analogWrite (LA, 0); አናሎግ ፃፍ (LB ፣ 70); analogWrite (RA, 70); አናሎግ ፃፍ (አርቢ ፣ 0); }

ባዶ ባዶ ()

{analogWrite (LA, 70); አናሎግ ፃፍ (LB ፣ 0); analogWrite (RA, 0); አናሎግ ፃፍ (አርቢ ፣ 70); }

ባዶ ()

{analogWrite (LA, 0); አናሎግ ፃፍ (LB ፣ 0); analogWrite (RA, 0); አናሎግ ፃፍ (አርቢ ፣ 0); }

ደረጃ 6: የ INO ፋይሎች

ደረጃ 7: የቤተመፃህፍት አገናኝ

ምናባዊ ሽቦ ቤተ -መጽሐፍት

MPU6050_tockn Libraby:

የሽቦ ቤተ -መጽሐፍት

የሚመከር: