সুচিপত্র:

একটি Arduino তে একটি রোটারি ফোন ডায়াল ইন্টারফেস করুন: 6 টি ধাপ (ছবি সহ)
একটি Arduino তে একটি রোটারি ফোন ডায়াল ইন্টারফেস করুন: 6 টি ধাপ (ছবি সহ)

ভিডিও: একটি Arduino তে একটি রোটারি ফোন ডায়াল ইন্টারফেস করুন: 6 টি ধাপ (ছবি সহ)

ভিডিও: একটি Arduino তে একটি রোটারি ফোন ডায়াল ইন্টারফেস করুন: 6 টি ধাপ (ছবি সহ)
ভিডিও: RF রিমোট মডিউল, রিমোটে চলবে সবকিছু! // 4 Channel RF Wireless Remote Control Module | JLCPCB 2024, জুলাই
Anonim
একটি Arduino তে একটি রোটারি ফোন ডায়াল ইন্টারফেস করুন
একটি Arduino তে একটি রোটারি ফোন ডায়াল ইন্টারফেস করুন
একটি Arduino তে একটি রোটারি ফোন ডায়াল ইন্টারফেস করুন
একটি Arduino তে একটি রোটারি ফোন ডায়াল ইন্টারফেস করুন

আপনার Arduino প্রকল্পে একটি পুরানো ঘূর্ণমান ফোন ব্যবহার করা যেতে পারে - এটি একটি নতুন ইনপুট ডিভাইস হিসাবে ব্যবহার করুন, অথবা আপনার কম্পিউটারে একটি ঘূর্ণমান ফোন ইন্টারফেস করার জন্য Arduino ব্যবহার করুন। একটি Arduino এ, এবং Arduino এর সিরিয়াল লিঙ্কের মাধ্যমে একটি কম্পিউটারে ডায়াল করা নম্বরটি পান।

ধাপ 1: ফোন থেকে ডায়াল সরান

ফোন থেকে ডায়াল সরান
ফোন থেকে ডায়াল সরান
ফোন থেকে ডায়াল সরান
ফোন থেকে ডায়াল সরান
ফোন থেকে ডায়াল সরান
ফোন থেকে ডায়াল সরান

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

ধাপ 2: সুইচ সনাক্ত করুন

সুইচ সনাক্ত করুন
সুইচ সনাক্ত করুন

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

ধাপ 3: সার্কিট তৈরি করুন

সার্কিট তৈরি করুন
সার্কিট তৈরি করুন
সার্কিট তৈরি করুন
সার্কিট তৈরি করুন

একবার আপনি তৈরি এবং ভাঙা সুইচটি খুঁজে পেয়ে গেলে, আপনি সংযোগের টার্মিনালে তারগুলি অনুসরণ করে সংযোগগুলি সনাক্ত করতে সক্ষম হবেন। আমার ক্ষেত্রে, সুইচের দুই পাশ দুটি বামদিকের টার্মিনালের সাথে সংযুক্ত আছে। আমার ডায়ালের সুইচ সর্বদা চালু থাকে এবং ডায়াল করার সময় প্রতিটি পালসের জন্য ভেঙে যায়, তাই আমি নীচে খুব সহজ সার্কিট ব্যবহার করেছি। ডায়াল ঘোরানোর সাথে সাথে প্রতিটি পালসের জন্য পিন 2 উচ্চ হবে। যখন ফোন ডায়াল করা হয় না, ডায়াল ইউনিটের সুইচ বন্ধ থাকে (একটি তথাকথিত স্বাভাবিকভাবে বন্ধ সুইচ, সুস্পষ্ট কারণে) তাই সার্কিট পিন 2 কে মাটিতে সংযুক্ত করে (যা আরডুইনোতে কম)। এর কারণ হল 4K ওহম রেসিস্টরের মাধ্যমে 10K রোধের তুলনায় অনেক কম প্রতিরোধ। যখন সুইচ খোলা থাকে, পিন 2 মাটির সাথে সংযুক্ত হয় না - পরিবর্তে এটি 10470 ওহমের প্রতিরোধের মাধ্যমে 5V সরবরাহের সাথে সংযুক্ত থাকে। এটি একটি উচ্চ হিসাবে Arduino দ্বারা ব্যাখ্যা করা হয় যদি আপনার ডায়ালে একটি স্বাভাবিকভাবে খোলা সুইচ থাকে, তাহলে 10K প্রতিরোধকের অবস্থানগুলি অদলবদল করে এবং ডায়ালটি কৌশলটি করা উচিত।

ধাপ 4: কোডটি বিকাশ করুন

কোডটি বিকাশ করুন
কোডটি বিকাশ করুন

এখন আমাদের ডাল গণনা করার জন্য আরডুইনো এর জন্য কিছু কোড দরকার এবং সিরিয়াল পোর্টের মাধ্যমে ডায়াল করা প্রতি নম্বরে মোট নম্বর পাঠাতে হবে। আমার কোড নীচে। যেহেতু আমরা এখানে যান্ত্রিকতার সাথে কাজ করছি, আপনার পার্থক্য হতে পারে। ডিবাউন্স ধ্রুবক এবং 'ডায়াল ঘোরানো শেষ হওয়ার আগে আমরা কতক্ষণ অপেক্ষা করবো' ধ্রুবক নিয়ে খেলার চেষ্টা করুন আমি যতটা সম্ভব সুন্দরভাবে এটি মন্তব্য করার চেষ্টা করেছি। আশা করি এটা খুবই সহজ। অকার্যকর সেটআপ () {Serial.begin (9600); pinMode (in, INPUT);} void loop () {int reading = digitalRead (in); if ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// ডায়ালটি ডায়াল করা হচ্ছে না, অথবা সবেমাত্র ডায়াল করা শেষ হয়েছে। যদি (needToPrint) {// যদি এটি শুধুমাত্র ডায়াল করা শেষ হয়, তাহলে আমাদের সিরিয়াল // লাইনে নাম্বার পাঠাতে হবে এবং কাউন্ট রিসেট করতে হবে। আমরা গণনা 10 দ্বারা পরিবর্তন করি কারণ '0' 10 ডাল পাঠাবে। Serial.print (গণনা % 10, DEC); needToPrint = 0; গণনা = 0; সাফ = 0; }} যদি (পড়া! = lastState) {lastStateChangeTime = millis (); } if ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - এটি একবার স্থির হয়ে গেলে যদি হয় । trueState = পড়া; if (trueState == HIGH) {// ডালের সংখ্যা বাড়িয়ে দিন যদি এটি বেশি হয়ে যায়। গণনা ++; needToPrint = 1; // আমাদের এই নম্বরটি মুদ্রণ করতে হবে (একবার ডায়ালটি ঘোরানো শেষ হয়ে গেলে)}}} lastState = reading;}

ধাপ 5: এটি কাজ করে দেখুন

একটি সিরিয়াল উইন্ডো খুলে এটি কাজ করে তা পরীক্ষা করুন (আমি ইউনিক্স মেশিনে স্ক্রিন ব্যবহার করি, আপনি হয়তো হাইপারটার্ম বা উইন্ডোজ এ অনুরূপ ব্যবহার করতে চান), এবং কিছু নম্বর ডায়াল করার চেষ্টা করুন। > আপনার Arduino- তে সিরিয়াল অ্যাডাপ্টার (Arduino সফটওয়্যারে টুলস-> সিরিয়াল পোর্ট মেনু চেক করুন যদি আপনি ভুলে যান যে), এবং 9600 bps এর একটি বড রেট। আপনার ডায়াল করা সঠিক নম্বর পপ আপ দেখতে হবে।

ধাপ 6: এটা কিছু দরকারী মধ্যে হুক

কিছু কাজে লাগান!
কিছু কাজে লাগান!

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

প্রস্তাবিত: