সুচিপত্র:
- ধাপ 1: সরঞ্জাম
- ধাপ 2: সার্কিট ডায়াগ্রাম ইমেজ ফাইল
- ধাপ 3: সার্কিট ডায়াগ্রামের ফ্রিজিং ফাইল
- ধাপ 4: ট্রান্সমিটার কোড
- ধাপ 5: রিসিভার কোড
- ধাপ 6: INO ফাইল
- ধাপ 7: লাইব্রেরির লিঙ্ক
ভিডিও: অঙ্গভঙ্গি নিয়ন্ত্রিত ওয়্যারলেস গাড়ি: 7 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:00
এই টিউটোরিয়ালে আমরা শিখতে যাচ্ছি, কিভাবে একটি অঙ্গভঙ্গি নিয়ন্ত্রিত গাড়ি বা কোন রোবট তৈরি করা যায়। এই প্রকল্পের দুটি অংশ, একটি অংশ ট্রান্সমিটার ইউনিট এবং অন্য অংশ রিসিভার ইউনিট। ট্রান্সমিটার ইউনিট আসলে একটি হ্যান্ড গ্লাভস লাগানো এবং রিসিভার ইউনিট একটি গাড়ী বা কোন রোবটের ভিতরে স্থাপন করা হয়। এখন একটি সুন্দর গাড়ি তৈরির সময়। চলো যাই!
ধাপ 1: সরঞ্জাম
ট্রান্সমিটার ইউনিট
1. আরডুইনো ন্যানো।
2. MPU6050 সেন্সর মডিউল।
3. RF 433 MHz Transmitter।
4. যে কোন ধরণের 3 সেল, 11.1 ভোল্ট ব্যাটারি (এখানে আমি কয়েন সেল ব্যবহার করেছি)।
5. ভেরো-বোর্ড।
6. হাতের গ্লাভস।
রিসিভার ইউনিট
1. Arduino Nano বা Arduino Uno।
2. L298N মোটর ড্রাইভার মডিউল।
3. মোটর সহ 4 চাকা রোবট ফ্রেম।
4. আরএফ 433 আরএফ রিসিভার।
5. 3 সেল, 11.1 ভোল্ট লি-পো ব্যাটারি।
6. ভেরো-বোর্ড।
অন্যান্য
1. আঠালো লাঠি এবং বন্দুক।
2. জাম্পার তার।
3. স্ক্রু ড্রাইভার
4. সোল্ডারিং কিট।
ইত্যাদি
ধাপ 2: সার্কিট ডায়াগ্রাম ইমেজ ফাইল
ধাপ 3: সার্কিট ডায়াগ্রামের ফ্রিজিং ফাইল
ধাপ 4: ট্রান্সমিটার কোড
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
MPU6050 mpu6050 (ওয়্যার);
দীর্ঘ টাইমার = 0;
গৃহস্থালি *নিয়ামক;
অকার্যকর সেটআপ()
{Serial.begin (9600); Wire.begin (); mpu6050. শুরু (); mpu6050.calcGyroOffsets (সত্য); vw_set_ptt_inverted (সত্য); // vw_set_tx_pin (10); vw_setup (4000); // ডেটা ট্রান্সফারের গতি Kbps
}
অকার্যকর লুপ ()
{ ////////////////////////////////////////////////////////////////////////////////////////////////
mpu6050.update ();
যদি (মিলিস () - টাইমার> 1000)
{Serial.println ("================================================== =========== "); Serial.print ("temp:"); Serial.println (mpu6050.getTemp ()); Serial.print ("accX:"); Serial.print (mpu6050.getAccX ()); Serial.print ("acc taccY:"); Serial.print (mpu6050.getAccY ()); সিরিয়াল.প্রিন্ট ("acc taccZ:"); Serial.println (mpu6050.getAccZ ()); Serial.print ("gyroX:"); Serial.print (mpu6050.getGyroX ()); Serial.print ("gy tgyroY:"); Serial.print (mpu6050.getGyroY ()); সিরিয়াল.প্রিন্ট ("gy tgyroZ:"); Serial.println (mpu6050.getGyroZ ()); Serial.print ("accAngleX:"); Serial.print (mpu6050.getAccAngleX ()); Serial.println (mpu6050.getAccAngleY ()); Serial.print ("gyroAngleX:"); Serial.print (mpu6050.getGyroAngleX ()); Serial.print ("gy tgyroAngleY:"); Serial.print (mpu6050.getGyroAngleY ()); সিরিয়াল.প্রিন্ট ("gy tgyroAngleZ:"); Serial.println (mpu6050.getGyroAngleZ ()); Serial.print ("angleX:"); Serial.print (mpu6050.getAngleX ()); Serial.print ("angle tangleY:"); Serial.print (mpu6050.getAngleY ()); Serial.print ("angle 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 ("STOP"); }}
ধাপ 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, আউটপুট); পিনমোড (এলএ, আউটপুট); পিনমোড (এলবি, আউটপুট); পিনমোড (আরএ, আউটপুট); পিনমোড (আরবি, আউটপুট); vw_rx_start (); // রিসিভার পিএলএল চালানো শুরু করুন Serial.println ("সব ঠিক আছে");
}
অকার্যকর লুপ () {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 ("FORWARD"); এগিয়ে (); বিলম্ব (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 ("STOP"); বন্ধ (); বিলম্ব (100); }} অন্য {Serial.println ("কোন সিগন্যাল রিসিভ করা হয়নি"); }}
অকার্যকর ()
{analogWrite (LA, 70); analogWrite (LB, 0); analogWrite (RA, 70); analogWrite (RB, 0); }
শূন্য পিছনে ()
{analogWrite (LA, 0); analogWrite (LB, 70); analogWrite (RA, 0); analogWrite (RB, 70); }
শূন্য বাম ()
{analogWrite (LA, 0); analogWrite (LB, 70); analogWrite (RA, 70); analogWrite (RB, 0); }
অকার্যকর অধিকার ()
{analogWrite (LA, 70); analogWrite (LB, 0); analogWrite (RA, 0); analogWrite (RB, 70); }
অকার্যকর ()
{analogWrite (LA, 0); analogWrite (LB, 0); analogWrite (RA, 0); analogWrite (RB, 0); }
ধাপ 6: INO ফাইল
ধাপ 7: লাইব্রেরির লিঙ্ক
ভার্চুয়াল ওয়্যার লাইব্রেরি:
MPU6050_tockn Libraby:
ওয়্যার লাইব্রেরি:
প্রস্তাবিত:
রিমোট নিয়ন্ত্রিত গাড়ি - ওয়্যারলেস এক্সবক্স 360 কন্ট্রোলার ব্যবহার করে নিয়ন্ত্রিত: 5 টি ধাপ
রিমোট কন্ট্রোল্ড কার - ওয়্যারলেস এক্সবক্স Control০ কন্ট্রোলার ব্যবহার করে নিয়ন্ত্রিত: আপনার নিজের রিমোট কন্ট্রোল্ড গাড়ি তৈরি করার জন্য এই নির্দেশাবলী, একটি ওয়্যারলেস এক্সবক্স control০ কন্ট্রোলার ব্যবহার করে নিয়ন্ত্রিত
হাতের অঙ্গভঙ্গি নিয়ন্ত্রিত আরসি গাড়ি: 15 টি ধাপ
হাতের অঙ্গভঙ্গি নিয়ন্ত্রিত আরসি গাড়ি: হ্যালো ওয়ার্ল্ড! এটি আমার প্রথম নির্দেশযোগ্য যদি আপনার কোন প্রশ্ন থাকে - দয়া করে জিজ্ঞাসা করতে দ্বিধা করবেন না। টার্গেট অডিয়েন্স: এই প্রজেক্টটি যে কারোর জন্যই প্রযোজ্য যার প্রযুক্তির ক্ষেত্রে আবেগ আছে। আপনি একজন বিশেষজ্ঞ হোন বা পরম সূচনা করুন
অঙ্গভঙ্গি নিয়ন্ত্রিত গাড়ি: 5 টি ধাপ (ছবি সহ)
অঙ্গভঙ্গি নিয়ন্ত্রিত গাড়ি: নির্মাণ, সামরিক, চিকিৎসা, উৎপাদন ইত্যাদি সব খাতে রোবটগুলি অটোমেশনে গুরুত্বপূর্ণ ভূমিকা পালন করছে, ব্লুটুথ ব্যবহার করে নিয়ন্ত্রিত কারের মতো কিছু মৌলিক রোবট তৈরির পর, আমি এই অ্যাকসিলরোমিটার ভিত্তিক জেস তৈরি করেছি
অঙ্গভঙ্গি হক: হাতের অঙ্গভঙ্গি নিয়ন্ত্রিত রোবট ইমেজ প্রসেসিং ভিত্তিক ইন্টারফেস ব্যবহার করে: 13 টি ধাপ (ছবি সহ)
অঙ্গভঙ্গি হক: ইমেজ প্রসেসিং ভিত্তিক ইন্টারফেস ব্যবহার করে হাতের অঙ্গভঙ্গি নিয়ন্ত্রিত রোবট: অঙ্গভঙ্গি হক একটি সহজ ইমেজ প্রসেসিং ভিত্তিক মানব-মেশিন ইন্টারফেস হিসাবে TechEvince 4.0 এ প্রদর্শিত হয়েছিল। এর উপযোগিতা এই সত্যের মধ্যে নিহিত যে একটি গ্লাভস ছাড়া কোন অতিরিক্ত সেন্সর বা পরিধানযোগ্য নয় যে রোবটিক গাড়িটি নিয়ন্ত্রণ করার জন্য প্রয়োজন হয়
Mpu6050 এবং Arduino ব্যবহার করে অঙ্গভঙ্গি নিয়ন্ত্রণ গাড়ি: 7 টি ধাপ (ছবি সহ)
Mpu6050 এবং Arduino ব্যবহার করে অঙ্গভঙ্গি নিয়ন্ত্রণ গাড়ি: এখানে একটি হাত নিয়ন্ত্রক অঙ্গভঙ্গি নিয়ন্ত্রণ গাড়ি, যা mpu6050 এবং arduino ব্যবহার করে তৈরি করা হয়েছে। আমি বেতার সংযোগের জন্য আরএফ মডিউল ব্যবহার করি