সুচিপত্র:

Arduino XMAS Hitcounter: 6 ধাপ (ছবি সহ)
Arduino XMAS Hitcounter: 6 ধাপ (ছবি সহ)

ভিডিও: Arduino XMAS Hitcounter: 6 ধাপ (ছবি সহ)

ভিডিও: Arduino XMAS Hitcounter: 6 ধাপ (ছবি সহ)
ভিডিও: Sadman Talks | Episodio #2 feat. PACO 2024, নভেম্বর
Anonim
Arduino XMAS হিটকাউন্টার
Arduino XMAS হিটকাউন্টার
Arduino XMAS হিটকাউন্টার
Arduino XMAS হিটকাউন্টার

ক্রিসমাস ঘনিয়ে আসছে, তাই আপনাকে সঠিক মেজাজে রাখার জন্য এখানে আমার অবদান। এটি একটি ব্লগ হিটকাউন্টার, যা একটি ঘণ্টা বাজায়। আক্ষরিক অর্থে। এটি আপনার মুখে একটি হাসি রাখে, প্রতিবার কেউ আপনার ব্লগে আঘাত করে।

এটি একটি Arduino বোর্ড, একটি ঘণ্টা, একটি servo এবং c, python এবং php এ কয়েকটি লাইন কোড নিয়ে গঠিত। বেশিরভাগ অংশ মোটামুটি সাধারণ এবং সহজেই পাওয়া উচিত।

ধাপ 1: সরঞ্জাম এবং উপকরণ

সরঞ্জাম এবং উপকরণ
সরঞ্জাম এবং উপকরণ

তাহলে কি দরকার?

  • আরডুইনো বোর্ড। আমি Adafruits থেকে একটি Arduino Diecimila পেয়েছি। ইতিমধ্যে সেখানে সত্যিই সস্তা এবং সহজ ক্লোন আছে, যেমন আধুনিক যন্ত্রপাতি থেকে সত্যিই খালি হাড়ের বোর্ড, বিশেষ করে যদি আপনি সেগুলোকে ব্রেডবোর্ডে ব্যবহার করতে চান।
  • একটি সার্ভো মোটর। যে কোন সার্ভো করবে। আমি একটি পুরোনো নিলাম যা আমার আগের শখের জন্য ব্যবহৃত হয়েছিল।
  • একটি ঘণ্টা. সর্বাধিক ছোট যেটি সার্ভো দিয়ে ঝাঁকানোর জন্য যথেষ্ট ছোট।
  • দুটি পেপার ক্লিপ। বেল ধরার জন্য একটি বড় এবং ঘণ্টা বাজানোর জন্য অ্যাকচুয়েটর তৈরির জন্য একটি ছোট।
  • Arduino সঙ্গে servo সংযোগ করার তারের
  • একটি ওয়েবসাইট. আসলে এটি একটি ওয়েবসাইট বা ব্লগ হতে হবে না। প্রকৃতপক্ষে যা কিছু গণনা করা যায়, কাজ করবে।
  • একটি পিসি বা ম্যাক ব্লগ বা ওয়েবসাইটের সাথে আরডুইনো বোর্ডকে সংযুক্ত করতে।

আপনার যদি সোল্ডারিং লোহার প্রয়োজন হতে পারে, যদি তারগুলি সরাসরি আরডুইনোতে সংযুক্ত না করা যায়।

ধাপ 2: হার্ডওয়্যার সমাবেশ

হার্ডওয়্যার সমাবেশ
হার্ডওয়্যার সমাবেশ
হার্ডওয়্যার সমাবেশ
হার্ডওয়্যার সমাবেশ
হার্ডওয়্যার সমাবেশ
হার্ডওয়্যার সমাবেশ
হার্ডওয়্যার সমাবেশ
হার্ডওয়্যার সমাবেশ

ঘণ্টাটি একটি শক্তিশালী কাগজের ক্লিপ দ্বারা ধারণ করা হয়। ছোট পেপারক্লিপটি এক ধরণের বাহু তৈরি করতে ব্যবহৃত হয় যা সার্ভো মোটরের সাথে সংযুক্ত থাকে।

মনে রাখবেন, আপনি কাগজের ক্লিপটি বাঁকতে চান যা ঘণ্টাটিকে একটিভাবে ধরে রাখে, যা ইতিমধ্যে একটু ঝাঁকুনি তৈরি করে।

ধাপ 3: স্কিম্যাটিক্স

স্কিম্যাটিক্স
স্কিম্যাটিক্স

কোন বাস্তব পরিকল্পিত আছে। আরডুইনোতে কেবল সার্ভো মোটর সংযুক্ত করুন। সার্ভোতে তিনটি তার রয়েছে:

  • হলুদ বা কমলা: সংকেত
  • লাল: ভিসিসি
  • বাদামী: GND

লাল এবং বাদামী একটি Arduino (5V এবং GND) এর অনুযায়ী পিনের সাথে সংযুক্ত। কমলা একটি পিন 2 তারযুক্ত হয়। যদি তারগুলি সরাসরি Arduino বা servo- এর মধ্যে না থাকে তবে আপনি তারের সাথে ছোট সংযোগকারীগুলিকে সোল্ডার করতে চাইতে পারেন।

ধাপ 4: Arduino প্রোগ্রামিং

Arduino প্রোগ্রামিং
Arduino প্রোগ্রামিং

Arduino যদি আপনি Arduino এ নতুন হন, এটি একটি ছোট বোর্ড, সম্পূর্ণরূপে AVR মাইক্রোকন্ট্রোলার দিয়ে একত্রিত। এটি হ্যাকিং এবং আপনার পরিবেশের সাথে যোগাযোগের জন্য উপযুক্ত। মাইক্রোকন্ট্রোলারগুলির সাথে কঠিন এমন অনেকগুলি জিনিসই আরডুইনো দিয়ে সহজ। কিছু সুবিধা:

  • একটি পৃথক প্রোগ্রামিং ডিভাইসের প্রয়োজন নেই (প্রোগ্রামার)
  • একটি সমন্বিত উন্নয়ন পরিবেশ (IDE) নিয়ে আসে
  • যে কোন প্লাটফর্মে, উইন্ডোজ, ম্যাক, লিনাক্সে চলে।
  • ইউএসবি দিয়ে আপনার পিসিতে সহজ সংযোগ
  • হার্ডওয়্যার ওপেন সোর্স (কিন্তু আরডুইনো নামটি নয়)
  • একটি মহান সম্প্রদায় আছে

অফিসিয়াল Arduino ওয়েবসাইটে আরও তথ্য পাওয়া যাবে। আরডুইনো দিয়ে কিভাবে শুরু করা যায় সে সম্পর্কে আরও বিস্তারিত জানার জন্য জন এর Arduino নির্দেশযোগ্য পরীক্ষা করে দেখুন। সফটওয়্যারটি কি করে? আরডুইনোতে আপলোড করা সফ্টওয়্যারের ছোট অংশটি সার্ভো নিয়ন্ত্রণ করে। এটি USB তারের মাধ্যমে সিরিয়াল সংযোগের মাধ্যমে একক বাইট গ্রহণ করে। যদি এটি 5 এর মান পায়, এটি সার্ভো আর্মকে পাঁচবার সামনে এবং পিছনে সরায়। তাই পাঠানোর সর্বোচ্চ মান হল 255. Ardiuno প্রোগ্রাম করুন তাই আমি অনুমান করি আপনি Arduino.cc থেকে সর্বশেষ Arduino IDE ডাউনলোড এবং ইনস্টল করেছেন। আপাতত এটি সংস্করণ 0010 আলফা। সর্বাধিক আরামদায়কভাবে চালানোর জন্য আপনাকে একটি লাইব্রেরি ডাউনলোড করতে হবে। আপনি এটি Arduino খেলার মাঠে খুঁজে পেতে পারেন। এটি আনজিপ করুন এবং ফোল্ডারটি…/arduino-0010/হার্ডওয়্যার/লাইব্রেরি/এ রাখুন।

  • ইউএসবি কেবল দিয়ে আপনার পিসিতে আরডুইনো সংযুক্ত করুন।
  • আইডিই খুলুন এবং একটি নতুন স্কেচ শুরু করুন। স্কেচ হল Arduino প্রোগ্রামের জন্য কথা বলা। ফাইল -> নতুন নির্বাচন করুন।
  • উপযুক্ত সিরিয়াল ডিভাইস নির্বাচন করুন (সরঞ্জাম -> সিরিয়াল পোর্ট)। এটি আপনার পরিবেশের উপর নির্ভর করে, আমার জন্য এটি /dev/tty.usbserial-A4001JAh।
  • সংযুক্ত সোর্স ফাইলটি ডাউনলোড করে নতুন স্কেচে পেস্ট করুন। সেভ বাটনে চাপ দিন।
  • যাচাই বাটনে চাপ দিন। এটি আপনার স্কেচটি একটি হেক্স ফাইলে সংকলন করে যা আপনার আরডুইনোতে স্থানান্তরিত হতে পারে।
  • আপনার স্কেচটি আরডুইনোতে স্থানান্তর করতে আপলোড বোতামটি টিপুন।

টেস্টিং এখন আপনার হিটকাউন্টার কিছু কর্মের জন্য প্রস্তুত। দেখা যাক এটি কাজ করে কিনা।

  • সিরিয়াল মনিটর বোতাম টিপুন।
  • পাঠান বোতামের পাশে পাঠ্য বাক্সটি নির্বাচন করুন।
  • ট্যাব কী টিপুন এবং পাঠান।
  • এখন পর্যন্ত servo বাহু এগিয়ে এবং পিছনে সরানো উচিত।

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

ধাপ 5: এটি একটি হিটকাউন্টার করুন

আপনার ওয়েবসাইটের জন্য এটি একটি হিটকাউন্টার করতে, আমাদের দুটি ছোট কোড পিস দরকার। একটি দুটি কাউন্টার তৈরি এবং যত্ন নেয় এবং দ্বিতীয়টি কাউন্টারের মান আনতে এবং এটি আরডুইনোতে পাঠাতে।

দ্রষ্টব্য: যদি আপনি পাইথন বা পিএইচপি এর সাথে পরিচিত না হন, স্ক্রিপ্টগুলি সহজেই আপনার প্রিয় প্রোগ্রামিং ভাষায় পোর্ট করা যায়। কাউন্টার এখানে একটি ছোট পিএইচপি স্ক্রিপ্ট, যেটি একটি ফাইল থেকে একটি মান পড়ে (hitcounter.txt), এটি বৃদ্ধি করে এবং লিখে এটি ফাইলে ফিরে আসে। এটাই সব, এটাই দরকার। এই ফাইলটি উদাহরণস্বরূপ আপনার সার্ভারে counter.php হিসাবে সংরক্ষণ করা যেতে পারে। তারপর আপনি ওয়েব ব্রাউজারের সাথে https://www.youdomain.com/counter.php নির্দেশ করে একটি গণনা ট্রিগার করতে পারেন। আমি এই স্নিপেটটি আমার ওয়ার্ডপ্রেস ব্লগে অন্তর্ভুক্ত করেছি। $ হিট = ফাইল ($ count_my_page); $ hit = trim ($ hits [0]); $ হিট ++; $ fp = fopen ($ count_my_page, "w"); fputs ($ fp, "$ hit"); fclose ($ fp); echo $ hit; ?> আঠালো কোড এই পরবর্তী কোড স্নিপেট কাউন্টার আনতে ব্যবহার করা হয়। আমি পাইথন ব্যবহার করেছি কিন্তু কিছু কাজ করা উচিত। এটি একটি HTTP সংযোগ খুলে দেয় এবং hitcounter.txt নিয়ে আসে। যদি শেষ আনার পর থেকে মান পরিবর্তিত হয়, তাহলে পার্থক্য গণনা করা হয় এবং Arduino এ ধাক্কা দেওয়া হয়। এটি প্রতি দশ সেকেন্ডে করা হয় যতক্ষণ না আপনি crtl-c দিয়ে স্ক্রিপ্টটি বাধাগ্রস্ত করেন। আপনার প্রয়োজন অনুসারে নীচের myUrl এবং সিরিয়াল সংযোগটি মানিয়ে নিন। # # আনতে কাউন্টার # আমদানি সময় আমদানি urllib আমদানি সিরিয়াল # ইউএসবি সিরিয়াল সংযোগ arduino ser = serial. Serial ('/dev/tty.usbserial-A4001JAh', 9600) myUrl = 'https://tinkerlog.com/hitcounter.txt 'last_counter = urllib.urlopen (myUrl).read () while (True): _ counter = urllib.urlopen (myUrl).read () _ delta = int (counter) - int (last_counter) _ print "counter: %s, ডেল্টা: % s " % (কাউন্টার, ডেল্টা) _ ser.write (chr (ord (chr (delta))) _ last_counter = counter _ time.sleep (10) আমি php এক্সটেনশন সহ ফাইল আপলোড করতে পারিনি, তাই আপনি counterphp.txt এর নাম পরিবর্তন করে counter.php করতে হবে। যদি আপনার Arduino এখনও আপনার পিসির সাথে সংযুক্ত থাকে, তাহলে আপনার হিটকাউন্টার আনতে পাইথন স্ক্রিপ্ট শুরু করুন।..> পাইথন counter.py এবং আপনার কাউন্টারের আউটপুট দেখা উচিত। যদি আপনি আপনার ব্রাউজারকে আপনার counter.php এর URL এর দিকে নির্দেশ করেন এবং পুনরায় লোড করেন, তাহলে আপনার হিটকাউন্টার রিং করা শুনতে হবে। হ্যাঁ, এখন আমাদের কাজ শেষ। পিছনে ঝুঁকতে এবং আমাদের কাজ উপভোগ করার সময়।

ধাপ 6: উপসংহার

উপসংহার
উপসংহার

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

কামনা করি তুমি এটা উপভোগ করেছ.

প্রস্তাবিত: