সুচিপত্র:

STM32F103C এবং L293D সহ ব্লুটুথ আরসি কার - সস্তা: 5 টি ধাপ
STM32F103C এবং L293D সহ ব্লুটুথ আরসি কার - সস্তা: 5 টি ধাপ

ভিডিও: STM32F103C এবং L293D সহ ব্লুটুথ আরসি কার - সস্তা: 5 টি ধাপ

ভিডিও: STM32F103C এবং L293D সহ ব্লুটুথ আরসি কার - সস্তা: 5 টি ধাপ
ভিডিও: Android mobile control Robot car how to make || Arduino project (bangla) 2024, সেপ্টেম্বর
Anonim
Image
Image
ব্যাটারি ইটার ধ্বংস করুন!
ব্যাটারি ইটার ধ্বংস করুন!

আমি Ardumotive_com দ্বারা এখানে দেখানো একটি ব্লুটুথ Arduino গাড়ি তৈরি করেছি। আমার যে সমস্যাটি ছিল তা ছিল ব্যাটারি এবং তাদের ওজন এবং তাদের ব্যয়। তখন থেকে, সেল ফোনের জন্য সস্তা পাওয়ার ব্যাংকগুলি খুব সাশ্রয়ী হয়ে উঠেছে। আমার শুধু ওজন কমানোর দরকার ছিল। যেহেতু আমি সস্তা, আমি STM32F103C মাইক্রোকন্ট্রোলারে স্যুইচ করেছি। STM32F103C মাইক্রোকন্ট্রোলারটি 2 ডলারেরও কম দামে কেনা যায় এবং এটি আরডুইনো থেকে অনেক ছোট। আমি STM32F103C এর সাথে কাজ করার জন্য কোডিংয়ের কিছুটা পরিবর্তন করেছি।

সরবরাহ

  • একটি সস্তা রিমোট কন্ট্রোল গাড়ি যা ব্যাটারি খায়। হ্যাঁ, ঠিক যেমনটি Ardumotive_com ব্যবহার করে। আপনি সিস্টেমটি বন্ধ করে দেবেন এবং এর পরিবর্তে একটি ফোন পাওয়ার ব্যাংক ব্যবহার করবেন। যদি আপনার নিজের চেসিস তৈরির জন্য সম্পদ থাকে, তবে এটি ব্যবহার করুন। আমি রাস্তার নিচে খেলনার দোকানে গিয়েছিলাম এবং 10 ডলারের নিচে একটি সস্তা গাড়ি কিনেছিলাম। গাড়ী ব্যাটারী খায়, এবং দূরবর্তী ব্যাটারী খায়-উন্নতির জন্য নিখুঁত।
  • একটি ফোন পাওয়ার ব্যাংক- সেগুলি এখন খুব সস্তা। যে পাওয়ার ব্যাঙ্কগুলির পাশে পাওয়ার বোতাম রয়েছে সেগুলি থেকে দূরে সরে যান। আপনি আপনার গাড়ি অনুসরণ করতে এবং বোতামটি ধরে রাখতে সক্ষম হবেন না। এটি বোকামি.
  • একটি L293D চিপ-এটি দ্বৈত এইচ-সেতু যা বৈদ্যুতিক মোটরগুলিকে নিয়ন্ত্রণ করবে।
  • একটি HC-06 ব্লুটুথ মডিউল
  • একটি সুইচ- আমি একটি সহজ চালু/বন্ধ সুইচ ব্যবহার করেছি।
  • কিছু ওয়্যার -ফোন তার ভাল হবে, কিন্তু একটু বড় আটকে থাকা 20 গেজ ভাল হবে।
  • আপনার নীল পিল এবং L293D মাউন্ট করার জন্য একটি প্রোটো বোর্ড বা প্লাস্টিকের একটি টুকরা বা পিচবোর্ড। আমি সস্তা তাই আমি পাতলা rugেউতোলা কার্ডবোর্ডের সাথে একটু ভিন্ন সিস্টেম নিয়ে এসেছি- যেমন একটি হালকা বাল্ব বাক্স থেকে।
  • দুটি সস্তা ইউএসবি চার্জিং ক্যাবল-এগুলো ডলার ট্রি থেকে কেনা যায়। আপনার চমৎকার প্রোগ্রামিং ক্যাবল ব্যবহার করবেন না। একটি চালু/বন্ধ সুইচ জন্য কাটা হবে, এবং অন্য ব্যাটারি চার্জ হবে।

চ্ছিক

  • 4 টি LEDs -যদি আপনি হেডলাইট এবং টেললাইট চান।
  • 4 220 ওহম প্রতিরোধক- একটি 3.3v সিস্টেমে LED গুলির জন্য।
  • হর্নের জন্য একটি পাইজো বা ছোট স্পিকার।

সরঞ্জাম

  • সোল্ডারিং আয়রন এবং সোল্ডার
  • হট গ্লু গান- আমার মেয়ে হট গ্লু গান নিনজা!
  • তারের স্ট্রিপার এবং স্নিপ
  • দ্রষ্টব্য: যদি আপনি একটি প্রোটো বোর্ডের পরিবর্তে আমি যে কার্ডবোর্ড কৌশলটি ব্যবহার করি তা ব্যবহার করে, আপনার একটি ড্রেমেল বা ছোট ড্রিলের প্রয়োজন হবে।

ধাপ 1: ব্যাটারি ইটার ধ্বংস করুন

ব্যাটারি ইটার ধ্বংস করুন!
ব্যাটারি ইটার ধ্বংস করুন!

ব্যাটারি খেয়ে মজা করার সময় এসেছে! হ্যাঁ, যে জিনিস! গর্বিত বোধ করুন যে আপনি বিশ্বকে সবুজ করে তুলতে আপনার ভূমিকা পালন করছেন- ঠিক আছে, এটি একটি প্রসারিত, কিন্তু যাইহোক … ফ্রেমে যান।

উপরে, একই ইউনিট যা আমি Arduino সংস্করণ তৈরি করেছি। আরডুইনো ভার্সনে মারাত্মক ব্যাটারি শক্তি ব্যবহার করা হয়েছে যা গাড়িকে ভারী করেছে। সুতরাং, আমি এটিকে আবার ফ্রেমে নিয়ে গেলাম। আমি একটি প্লাস্টিকের বোতল এবং গরম আঠালো থেকে কিছু ফেন্ডার যোগ করেছি, এবং শরীরকে কাস্টমাইজ করেছি। পরে শরীরের উপর আরো।

একবার আপনি মোটর এবং স্টিয়ারিং সঙ্গে ফ্রেম আছে, মোটর টার্মিনাল কোন দিকে যা খুঁজে। মোটর পরীক্ষা করতে একটি ব্যাটারি বা 5v চার্জার ব্যবহার করুন।

স্টিয়ারিং মোটরে, যখন চাকাগুলি ডানদিকে ঘুরবে, ইতিবাচক ব্যাটারি তারের "3" এবং নেতিবাচক তারের "6" লেবেল করুন।

ড্রাইভিং মোটরে, যখন চাকাগুলি সামনে ঘুরবে, ইতিবাচক ব্যাটারি তারের "14" এবং নেতিবাচক তারের "11" লেবেল করুন।

ধাপ 2: Arduino IDE এর কোড

Arduino IDE এ কোড
Arduino IDE এ কোড
Arduino IDE এ কোড
Arduino IDE এ কোড

আপনি যদি আপনার গাড়ির ইলেকট্রনিক্সকে প্রথমে ব্রেডবোর্ডে প্রোটোটাইপ করেন তবে এটি সর্বোত্তম হতে পারে।

ঠিক আছে, এটি একটি জটিল অংশ। ইউএসবি পোর্টের মাধ্যমে "ব্লু পিল" প্রোগ্রাম করা যায় না। আমি জুপ ব্রোকিংয়ের ইউটিউব ভিডিওর চেয়ে "ব্লু পিল" এর সহজ প্রোগ্রামিং ব্যাখ্যা পাইনি। এটি রজার ক্লার্কের STMduino লাইব্রেরি সহ আপনার যা জানা দরকার তা ব্যাখ্যা করে। একটি বুটলোডার ইনস্টল করার একটি উপায় আছে যাতে আপনি "ব্লু পিল" প্রোগ্রাম করার জন্য ইউএসবি ব্যবহার করতে পারেন, কিন্তু আপনাকে যেভাবেই হোক সিরিয়াল বাসের মাধ্যমে বুটলোডার প্রোগ্রাম করতে হবে।

দুর্ভাগ্যক্রমে, সিরিয়াল বাসটি ব্লুটুথ অ্যাডাপ্টার দ্বারাও ব্যবহৃত হয়। প্রোগ্রামটি প্রথমে একটি FTDI এর মাধ্যমে সিরিয়াল বাস, PA9 এবং PA10 পিনের মাধ্যমে ইনস্টল করতে হবে, তারপর আপনি ব্লুটুথ অ্যাডাপ্টারের সাহায্যে আপনার সমস্ত সেটিংস পরীক্ষা করতে পারেন।

একটি ব্রেডবোর্ড ব্যবহার করুন এবং উপরের ফ্রিজিং স্কেচের মতো রুটিবোর্ডে সবকিছু লেআউট করুন। STM32F103C এর PA9 এবং PA10 পিনগুলিতে ব্লুটুথ অ্যাডাপ্টারের সিরিয়াল TX এবং RX লাইন সংযোগ বিচ্ছিন্ন করুন। আপনার FTDI এবং প্রোগ্রামে হুক। নিশ্চিত করুন যে সিরিয়াল বাস লাইনগুলি অতিক্রম করা হয়েছে, RX থেকে Tx এবং Tx থেকে RX। একজন গ্রহণ করে এবং অন্যটি দেয়।

একবার প্রোগ্রামটি লোড হয়ে গেলে, আপনি সিরিয়াল কনসোল খুলে পাঠাতে পারেন

লাইট কাজ করছে কিনা দেখতে। যদি লাইট কাজ করে, আপনি পাঠাতে পারেন

আবার তাদের ফিরিয়ে দিতে।

টায়ার উঁচু করে পাঠানোর জন্য আপনার গাড়িটি একটি ব্লকে রাখুন

চাকার সামনের দিকে যেতে হবে। যদি তারা না করে, তারগুলি বিপরীত করুন। মনে রাখবেন কিভাবে আমরা তারের আগে লেবেল করেছি। L293D এর সংশ্লিষ্ট পিনগুলি মিলে যাওয়া উচিত।

থামাতে, পাঠান

আসুন কোডের উল্লেখযোগ্য পরিবর্তনগুলি দেখি।

মন্তব্য করা অংশে, শুরুতে, আপনি Ardumotive থেকে ফাইল প্রবর্তক দেখতে হবে। পরবর্তী কয়েকটি মন্তব্য ব্যাখ্যা করে যে আমি STM32F103C প্রতিফলিত করার জন্য কিছুটা পরিবর্তন করেছি।

/ * * Vasilakis Michalis দ্বারা তৈরি // 12-12-2014 ver.2

* প্রকল্প: অ্যান্ড্রয়েড স্মার্টফোনের সাহায্যে ব্লুটুথের মাধ্যমে আরসি গাড়ি নিয়ন্ত্রণ করুন * https://www.ardumotive.com এ আরও তথ্য * * জিম গারবে, [email protected] দ্বারা STM32F103 ফিট করার জন্য এই কোডটি পরিবর্তন করেছেন * https:// github এ আরও তথ্য.com/jgarbe/RCCAR_STM32F103C*নোট করুন যে 8-বিট মান 0-255*16-বিট মান 0-65535*// ******* analogWrite () এর পরিবর্তে pwmWrite () ব্যবহার করে ******************************/

সবচেয়ে উল্লেখযোগ্যভাবে, পিনগুলির নাম আরডুইনো এবং STM32F103C এর মধ্যে একইভাবে রাখা হয়নি। আমরা লাইনগুলির পরবর্তী সেট ব্যবহার করে পিনগুলি ঘোষণা করি। একটি পিন বাকি আছে যেটি লুপের নিচে ঘোষিত হয়। 197 লাইনে, PA5 ব্যাটারি স্তর পড়তে ব্যবহৃত হয়।

//// L293 সংযোগ

const int motorA1 = PB6; // L293 const int motorA2 = PB7 এর 15 পিন; // L293 const int motorB1 = PB8 এর 10 পিন করতে; // থেকে L293 const int motorB2 = PB9 এর পিন 7; // থেকে L293 এর পিন 2 // STM32F103C পিন A12 const int লাইট = PA12 সংযুক্ত // বুজার /স্পিকার টু আরডুইনো ইউএনও পিন এ 8 কনস্ট ইন্ট বুজার = পিএ 8; // ব্লুটুথ (HC-06 JY-MCU) STM32F103C const int BTState = PA11 এর A11 পিনে স্টেট পিন;

এছাড়াও, analogWrite () ব্যবহার করে; এখনও "BluePill" এ কাজ করবে। কিন্তু PWM পিন ব্যবহার করে ঘোষণা করা ভাল, পিনমোড (, PWM);

তারপর ব্যবহার করুন

pwmWrite (,);

দ্রষ্টব্য: 8-বিট = 0-255, 16-বিট = 0-65535

32-44 লাইনগুলি ব্যাটারিতে করা পরিবর্তন। আপনি যদি ব্যাটারি লেভেল চেকিং ব্যবহার করতে যাচ্ছেন, তাহলে আপনাকে অবশ্যই আপনার ব্যাটারির জন্য একটি ভোটেজ ডিভাইডার ব্যবহার করতে হবে। এই অংশটি ফ্রিজিং স্কেচে প্রতিফলিত হয় না। ইউটিউবে কীভাবে ভোল্টেজ ডিভাইডার তৈরি করতে হয় তার প্রচুর ব্যাখ্যা রয়েছে। যেহেতু STM32F103C একটি 3.3v চিপ, আমি এখানে ভোল্টেজ ডিভাইডার ব্যবহার করার জন্য কোডটি ঠিক করেছি। আরডুইনো প্রদত্ত এডিসির মাধ্যমে কিছু উচ্চ ভোল্টেজ সহ্য করতে পারে কিন্তু "ব্লু পিল" পারে না।

/* ব্যাটারির মাত্রা পিন PA5 তে চেক করা হবে

* STM32F103C এর জন্য পরবর্তী লাইন পরিবর্তন করা হয়েছে কারণ ADC * 3.3v এর বেশি কিছু পরিচালনা করতে পারে না * আমি শুধু এটি মন্তব্য করেছি * একটি ভোল্টেজ ডিভাইডার, দুটি প্রতিরোধক ব্যবহার করে গণনা করতে হবে এবং ব্যবহার করতে হবে * ADC ইনপুট কোডে আরও নিচে পরিমাপ করতে * উদাহরণ: * GND --- 2K প্রতিরোধক ----------------- 1K প্রতিরোধক ------ 5v * | * | * 3.3v */ // const float maxBattery = 3.3; // আপনার সর্বোচ্চ ব্যাটারি ভোল্টেজের মান পরিবর্তন করুন!

ধাপ 3: এটি সব একসাথে রাখুন

সব একসাথে রাখুন
সব একসাথে রাখুন
সব একসাথে রাখুন
সব একসাথে রাখুন
সব একসাথে রাখুন
সব একসাথে রাখুন
সব একসাথে রাখুন
সব একসাথে রাখুন

আমি সাধারণত একটি প্রোটো-বোর্ড ব্যবহার করে সবকিছুকে সংযুক্ত করার জন্য গর্তগুলির মধ্যে টুকরা এবং ঝাল স্থাপন করি। কখনও কখনও আমি একটি ফ্র্যাঙ্কেনস্টাইন/সোল্ডার লুকের 3D wad এর জন্য সবকিছু একসাথে "ডেডবাগ সোল্ডার" করি।

আমি ডিভাইসটি পরিষ্কার এবং লাইটওয়েট করার জন্য এই হাইব্রিড পদ্ধতি বেছে নিয়েছি- এবং অবশ্যই, কম!

এই পদ্ধতিটিও লেবেল করার অনুমতি দেয়। ডেডবাগ সোল্ডারিংয়ের সবচেয়ে খারাপ অংশগুলির মধ্যে একটি হল যখন আপনি নীচে থেকে একটি আইসি চিপের দিকে তাকান এবং ভুলে যান কোন পিনটি কী।

উপরের ছবিগুলি কিছুটা স্ব -ব্যাখ্যামূলক। আমি মনে করি কঠিন অংশটি পাতলা যথেষ্ট কার্ডবোর্ড খুঁজে পাচ্ছে এবং একই সাথে অনমনীয় হবে। আপনি প্লাস্টিকও ব্যবহার করতে পারেন কিন্তু এটি চিহ্নিত করা একটু কঠিন। একবার আমি বোর্ডে পিনগুলি টিপুন এবং ডিম্পলগুলি চিহ্নিত করি, আমি প্রতিটি পিন হোল ড্রিল করার জন্য একটি ড্রেমেল ব্যবহার করি।

আপনি যদি ইতিমধ্যেই লক্ষ্য না করে থাকেন, আমার কেবল বোর্ডে একটি আনুষঙ্গিক প্লাগ হিসাবে লাইট আছে। আমি ব্যাটারি ইন্ডিকেটর ব্যবহার করছি না, না বীপার। এটা কারণ আমার প্রকল্প একটি ভিন্ন উদ্দেশ্যে। গাড়ির বডির সাথে সমাপ্ত ফলাফল দেখলে এটি স্ব-ব্যাখ্যামূলক হবে। … কিন্তু এটি আরেকটি ধারণা নিয়ে আসে, এই প্রকল্পে অনেক অব্যবহৃত পিন রয়েছে। হয়তো একটি ট্রাঙ্ক ওপেনার, গাড়ির দরজা খোলা, ফায়ার-ক্র্যাকার ডিটোনেটর,…… অথবা এমনকি একটি মিনি-গালভানি-এডিসন লুমিনিফেরাস ইথার ডিস্টার্বেন্স জেনারেটর!

একবার সমস্ত সোল্ডারিং সম্পন্ন হলে, তারের উপর চাপ উপশমের জন্য জয়েন্টগুলোকে গরম আঠালো করার আগে পরীক্ষা করুন।

আমি Ardumotive হিসাবে একই অ্যান্ড্রয়েড অ্যাপ ব্যবহার করেছি, এটি https://play.google.com/store/apps/details?id=braulio.calle.bluetoothRCcontroller এ পাওয়া যাবে

একবার আপনি গাড়ির ফাংশন পরীক্ষা করে নিলে, ব্যাটারি স্থাপন এবং সুইচ করার সময় এসেছে। পরবর্তী ধাপে যাও.

ধাপ 4: ব্যাটারি এবং সুইচ

ঠিক আছে, এখানেই আপনি ঠিক আমার পরিকল্পনা অনুসরণ করতে পারবেন না।

একরকম, আপনাকে গাড়িতে আপনার ব্যাটারি রাখার জন্য একটি ভাল জায়গা খুঁজতে হবে, একটি ডংগল থেকে ব্যাটারি ব্যাঙ্ক চার্জ করার উপায়, বা সরাসরি ব্যাটারি প্লাগ চার্জ করার উপায়। প্রারম্ভিক ভিডিওতে, আমি কেবল ব্যাটারি এবং মাইক্রোকন্ট্রোলারকে ফ্রেমে টেপ করেছি এবং এটি চালাচ্ছি। যখন আমি থামতে চেয়েছিলাম, আমি কেবল ব্যাটারিটি আনপ্লাগ করেছি। এই সেটআপের সমস্যা হল আপনার USB তারের এবং/অথবা আপনার পাওয়ার ব্যাংকের প্লাগগুলির ক্ষয়ক্ষতি। সুইচ থাকলে ভালো হয়।

আপনি সুইচ জন্য একটি ভাল জায়গা খুঁজে পেতে হবে যেখানে গাড়ির শরীর এখনও অ্যাক্সেস অনুমতি দেবে। আমি একটি সাধারণ ধাক্কা বোতাম সুইচ ব্যবহার করেছি (একটি ক্ষণস্থায়ী সুইচ নয়), এবং এটি ফ্রেমের নীচে স্থাপন করা হয়েছে যেখানে আসল ব্যাটারি বগি অবস্থিত।

আপনাকে একটি USB তারের অর্ধেক কেটে ব্যাটারি এবং STM32F103C USB পোর্টের মধ্যে সুইচ রাখতে হবে। হ্যাঁ, আপনি USB পোর্টের সাহায্যে STM32F103C শক্তি দিতে পারেন। আপনি কেবল ইউএসবি পোর্টের মাধ্যমে এটি প্রোগ্রাম করতে পারবেন না। সুইচ সোল্ডারিং পিনের জন্য কিছু গর্ত ড্রিল করার জন্য আমি আবার একটি ড্রেমেল ব্যবহার করেছি। একবার সোল্ডার হয়ে গেলে, আমি সংযোগগুলিকে শক্তিশালী করার জন্য আবার গরম আঠালো ব্যবহার করেছি।

ধাপ 5: আপনার গাড়ির শরীর ফ্রেমে রাখুন

ঠিক আছে, আমি বলেছিলাম যে আমি এই গাড়ির আসল আরডুইনো সংস্করণটি পুনরায় সাজিয়েছি। প্রকৃত চূড়ান্ত পণ্য, তখন, আমাদের স্থানীয় ব্যালে কোম্পানি দ্বারা সম্পাদিত "দ্য নটক্র্যাকার" ব্যালে এর একটি মঞ্চ প্রপ ছিল। শুরুর দৃশ্যে, একটি ইঁদুর মঞ্চ জুড়ে দৌড়েছিল ড্রসেলমেয়ারের দুর্ঘটনাজনিত জাদু নিয়ে। আমি একটি IKEA ইঁদুর ব্যবহার করেছি এবং এটি ফ্রেমের উপরে, Arduino, এবং অনেক বড় ব্যাটারি প্যাক লাগিয়েছি। প্রপ ভারী ছিল এবং রিচার্জেবল ছিল না। এটা অনেক ভালো!

আপনার গাড়ি নিয়ে মজা করুন। মনে রাখবেন যে STM32F103C এ আরো অনেক পিন আছে যা ব্যবহার করা যেতে পারে। "টয় স্টোরি 4" -এর মতো একটি স্কঙ্ক।

প্রস্তাবিত: