সুচিপত্র:

Arduino স্ক্রিন হিসাবে ট্যাবলেট/ফোন, এবং $ 2 অসিলোস্কোপ: 4 টি ধাপ
Arduino স্ক্রিন হিসাবে ট্যাবলেট/ফোন, এবং $ 2 অসিলোস্কোপ: 4 টি ধাপ

ভিডিও: Arduino স্ক্রিন হিসাবে ট্যাবলেট/ফোন, এবং $ 2 অসিলোস্কোপ: 4 টি ধাপ

ভিডিও: Arduino স্ক্রিন হিসাবে ট্যাবলেট/ফোন, এবং $ 2 অসিলোস্কোপ: 4 টি ধাপ
ভিডিও: How to use MPU-6050 Accelerometer and Gyroscope with Arduino code 2024, নভেম্বর
Anonim
Arduino স্ক্রিন হিসাবে ট্যাবলেট/ফোন এবং $ 2 অসিলোস্কোপ
Arduino স্ক্রিন হিসাবে ট্যাবলেট/ফোন এবং $ 2 অসিলোস্কোপ
Arduino স্ক্রিন হিসাবে ট্যাবলেট/ফোন, এবং একটি $ 2 অসিলোস্কোপ
Arduino স্ক্রিন হিসাবে ট্যাবলেট/ফোন, এবং একটি $ 2 অসিলোস্কোপ
Arduino স্ক্রিন হিসাবে ট্যাবলেট/ফোন, এবং একটি $ 2 অসিলোস্কোপ
Arduino স্ক্রিন হিসাবে ট্যাবলেট/ফোন, এবং একটি $ 2 অসিলোস্কোপ

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

অ্যান্ড্রয়েড-ভিত্তিক স্ক্রিনটি ইউএসবি সিরিয়াল, ব্লুটুথ বা ওয়াইফাই (যেমন, ইএসপি 8266) এর মাধ্যমে সংযুক্ত হতে পারে।

সেই লক্ষ্যে আমি ভেক্টর ডিসপ্লে লিখেছি (উৎস এখানে), একটি অ্যান্ড্রয়েড অ্যাপ যা একটি Arduino লাইব্রেরির সাথে জুড়ে দেয় যা Adafruit GFX ইন্টারফেসের একটি বড় উপসেট প্রয়োগ করে। আপনি একটি কোড লিখতে পারেন যা সহজেই একটি স্বতন্ত্র পর্দা ব্যবহার করার জন্য পোর্ট করা যায়, অথবা একটি অ্যান্ড্রয়েড-ভিত্তিক ডিসপ্লে সহ স্কেচ ব্যবহার করতে থাকে। এবং আপনি Arduino স্কেচ নিয়ন্ত্রণ করতে অ্যান্ড্রয়েড অ্যাপ থেকে কমান্ড পাঠাতে পারেন। আরডুইনো লাইব্রেরি মূলত বোর্ড-স্বাধীন: এটি যে কোনও বোর্ডের সাথে কাজ করা উচিত যা সিরিয়াল নামে একটি ইউএসবি সিরিয়াল পোর্ট অবজেক্ট বা ওয়াইফাই বা ইএসপি 8266 দিয়ে ব্লুটুথ দিয়ে (প্রথমে আপনার বোর্ডটি জোড়া)।

ধারণা প্রয়োগের প্রমাণ হিসাবে, আমি ILI9341 ডিসপ্লে এর জায়গায় VectorDisplay ব্যবহার করার জন্য বেয়ার-হাড়ের STM32-O-Scope প্রজেক্টটি পোর্ট করেছি। ফলাফল হল একটি (প্রান্তের চারপাশে মোটামুটি) পোর্টেবল, ব্যাটারি চালিত 1.7MS/s অসিলোস্কোপ যার জন্য $ 2 STM32F103C বোর্ড (libmaple- ভিত্তিক Arduino কোর ব্যবহার করে), দুটি তারের, একটি USB OTG কেবল এবং একটি Android ডিভাইস । অবশ্যই, আপনি এর সাথে যা পাবেন তা হল 0 থেকে প্রায় 3.3V এর পরিসীমা।

ধাপ 1: সফটওয়্যার ইনস্টল করুন

আমি মনে করি আপনার পছন্দের বোর্ডের জন্য আপনার একটি Arduino IDE সেট আপ আছে এবং আপনার প্রিয় বোর্ডের একটি USB সিরিয়াল ইন্টারফেস আছে।

স্কেচে যান | লাইব্রেরি অন্তর্ভুক্ত করুন লাইব্রেরি পরিচালনা করুন। অনুসন্ধান এলাকায় "ভেক্টর ডিসপ্লে" রাখুন এবং একবার এটি পাওয়া গেলে "ইনস্টল করুন" এ ক্লিক করুন।

এখান থেকে লাইব্রেরির জিপ ডাউনলোড করুন।

আপনার Arduino/লাইব্রেরি ফোল্ডারের ভিতরে একটি ফোল্ডারে আনজিপ করুন।

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

ধাপ 2: ডেমো স্কেচ

ডেমো স্কেচ
ডেমো স্কেচ
ডেমো স্কেচ
ডেমো স্কেচ
ডেমো স্কেচ
ডেমো স্কেচ
ডেমো স্কেচ
ডেমো স্কেচ

আপনার কম্পিউটারে আপনার বোর্ড (আপলোড মোডে প্রয়োজন হলে) সংযুক্ত করুন এবং ফাইল | এ যান উদাহরণ | ভেক্টর ডিসপ্লে | আপনার Arduino IDE- তে বৃত্ত। আপলোড বাটনে ক্লিক করুন (ডান তীর)।

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

যদি সবকিছু ঠিক থাকে, ভেক্টর ডিসপ্লে এখন পর্দার বাম দিকে দুটি বোতাম দেখাবে: বৃত্ত এবং রঙ। বৃত্ত টিপে পর্দায় একটি এলোমেলো বৃত্ত আঁকেন এবং রঙ পরবর্তী বৃত্তের আগে রঙকে এলোমেলো রঙে পরিবর্তন করে।

আপনি যদি IDE তে বৃত্তের স্কেচটি দেখেন, আপনি দেখতে পাবেন যে সিরিয়াল ভেক্টর ডিসপ্লে ঘোষণা করা হয়েছে:

সিরিয়াল ডিসপ্লে ক্লাস প্রদর্শন;

এবং তারপর সেটআপ () দিয়ে শুরু করা হয়েছে:

Display.begin ();

তারপর Display.addButton () দিয়ে কমান্ড বোতাম অনুরোধ করা হয়। তারপর loop () Display.readMessage () কমান্ড বোতামগুলির মাধ্যমে পাঠানো কমান্ডগুলি দেখার জন্য কল করে।

ডিফল্টরূপে, প্রদর্শনের জন্য সমন্বয় ব্যবস্থা 240x320। যাইহোক, ভাল চেহারা জন্য antialiasing সঙ্গে, আপনার অ্যান্ড্রয়েড ডিভাইসের পর্দার পূর্ণ রেজল্যুশন ব্যবহার করে লাইন এবং পাঠ্য সব আঁকা হয়। এজন্যই অ্যাপটিকে ভেক্টর ডিসপ্লে বলা হয়।

ধাপ 3: API

লাইব্রেরির API VectorDisplay.h ফাইলে রয়েছে। আপনাকে প্রথমে একটি ডিসপ্লে অবজেক্ট শুরু করতে হবে। ইউএসবি ব্যবহারের জন্য, এটি দিয়ে করুন:

সিরিয়াল ডিসপ্লে ক্লাস প্রদর্শন;

Display.begin () দিয়ে সংযোগ শুরু করুন।

SerialDisplayClass অবজেক্টে দুটি পদ্ধতি পাওয়া যায়: একটি সেট 32-বিট কালার (আলফা সহ) ব্যবহার করে এবং আমার VectorDisplay অ্যাপ যে ইউএসবি সিরিয়াল প্রোটোকল ব্যবহার করে তার খুব কাছাকাছি কমান্ড ব্যবহার করে এবং অন্য সেটটি স্ট্যান্ডার্ডের একটি উপসেট Adafruit GFX লাইব্রেরি পদ্ধতি, 16-বিট রঙ ব্যবহার করে। বেশিরভাগ ক্ষেত্রে আপনি দুটি সেট কমান্ড অবাধে মিশ্রিত করতে পারেন, ব্যতীত যদি আপনি অ্যাডাফ্রুট সামঞ্জস্যপূর্ণ পদ্ধতিগুলি ব্যবহার করেন তবে আপনার 16-বিট রঙের কমান্ডগুলি ব্যবহার করা উচিত যার নামগুলি 32-বিটের পরিবর্তে 565 দিয়ে শেষ হয়।

আপনি Display.coordinates (প্রস্থ, উচ্চতা) দিয়ে সমন্বয় ব্যবস্থা সেট করতে পারেন। ডিফল্ট হল প্রস্থ = 240 এবং উচ্চতা = 320। যদি আপনি নন-স্কোয়ার পিক্সেল সহ একটি ডিসপ্লে অনুকরণ করতে চান, তাহলে আপনি Display.pixelAspectRatio (অনুপাত) ব্যবহার করতে পারেন।

PixelAspectRatio () সহ কয়েকটি পদ্ধতি, একটি FixedPoint32 যুক্তি নিন। এটি একটি 32-বিট পূর্ণসংখ্যা যা একটি ভাসমান বিন্দু সংখ্যার প্রতিনিধিত্ব করে, যেখানে 65536 1.0 প্রতিনিধিত্ব করে। একটি ফ্লোটিং পয়েন্ট নম্বর x কে FixedPoint32 এ রূপান্তর করতে, করুন: (FixedPoint32) (65536। * X) (অথবা শুধু TO_FP32 (x))।

অ্যান্ড্রয়েড বোতাম থেকে কমান্ড পাঠাতে সক্ষম হওয়ার পাশাপাশি, এমসিইউতে স্ক্রিন টাচ ইভেন্টও পাঠানো হয়।

ওয়াইফাই ব্যবহারের জন্য, বৃত্ত_ esp8266 উদাহরণ দেখুন। ওয়াইফাই মোডে স্যুইচ করতে আপনাকে অ্যাপের USB বোতাম টিপতে হবে।

ব্লুটুথের জন্য, আপনি করতে সক্ষম হওয়া উচিত:

SerialDisplayClass প্রদর্শন (MyBluetoothSerial);

… MyBluetoothSerial.begin (115200); Display.begin ();

এবং তারপর ঠিক যেমন USB সিরিয়াল ক্ষেত্রে এগিয়ে যান, যেখানে MyBluetoothSerial যাই হোক না কেন স্ট্রিম বস্তু (যেমন, Serial2) আপনার ব্লুটুথ অ্যাডাপ্টারের সাথে সংযুক্ত।

ধাপ 4: একটি $ 2 অসিলোস্কোপ

একটি $ 2 অসিলোস্কোপ
একটি $ 2 অসিলোস্কোপ
একটি $ 2 অসিলোস্কোপ
একটি $ 2 অসিলোস্কোপ
একটি $ 2 অসিলোস্কোপ
একটি $ 2 অসিলোস্কোপ

দ্রুত এবং নোংরা অসিলোস্কোপের জন্য, আপনাকে একটি নীল বা কালো (মোকাবেলা করা সহজ) পিল STM32F103C8 বোর্ডের প্রয়োজন হবে, যা আপনি Aliexpress এ $ 2 এর নিচে পেতে পারেন। আমি বর্ণনা করি কিভাবে এর জন্য Arduino পরিবেশের সাথে ব্যবহারের জন্য বোর্ড প্রস্তুত করতে হয় এবং এখানে স্কেচ ইনস্টল করতে হয়।

বোর্ডে এই স্কেচটি ডাউনলোড করুন, যা পিংগুম্যাকপেনগুইনের STM32-O-Scope স্কেচের একটি পরিবর্তিত সংস্করণ। আপনার বোর্ডের সাথে মেলে #define BOARD_LED লাইন সম্পাদনা করুন। আমি একটি কালো বড়ি ব্যবহার করছি যার LED হল PB12। নীল illsষধ (এবং কিছু কালো বড়ি যা নীল পিলের মত একই পিনআউট আছে) PC13 এ LED আছে।

একটি ওয়্যার-গ্রাউন্ড প্রোব-বোর্ডের মাটিতে এবং আরেকটি তারের বোর্ডের B0 পিনের সাথে সংযুক্ত করুন। VectorDisplay চলমান একটি Android ডিভাইসে বোর্ডটি প্লাগ করুন এবং আপনার একটি বহনযোগ্য, ব্যাটারি চালিত অসিলোস্কোপ আছে।

ফটোতে আমার একটি ফোটোট্রান্সিস্টর পর্যন্ত অসিলোস্কোপ আছে। স্ক্রিনে ট্রেসটি একটি টিভি ইনফ্রারেড রিমোট কন্ট্রোল থেকে।

প্রস্তাবিত: