আমি কি আমার প্রকল্পটির ডিজিটাল হিসাবে আরডুইনোতে এনালগ পিনগুলি ব্যবহার করতে পারি?


27

আমি আরডুইনো ব্যবহারে নতুন, এবং আমার একটি আরডুইনো ইউনো রয়েছে। আমি যে প্রকল্পগুলি করেছি তার জন্য আমি কেবল ডিজিটাল পিন ব্যবহার করেছি।

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

উত্তর:


22

হ্যাঁ, আরডুইনোর এনালগ পিনগুলি ডিজিটাল আউটপুট হিসাবে ব্যবহার করা যেতে পারে।

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

পিন ম্যাপিং
অ্যানালগ পিনগুলি ডিজিটাল পিনগুলিতে অ্যালিয়াস এ0 (অ্যানালগ ইনপুট 0), এ 1 ইত্যাদি ব্যবহার করে একইভাবে ব্যবহার করা যেতে পারে উদাহরণস্বরূপ, কোডটি আউটপুটটিতে এনালগ পিন 0 সেট করতে এবং সেট করতে এই জাতীয় দেখতে হবে এটি উচ্চ:
পিনমড (এ 0, আউটপুট);
ডিজিটাল রাইট (এ 0, উচ্চ);


হ্যাঁ ... দুঃখিত। আমার মনে আছে আমি যখন পোস্ট করেছি তখন দেরি হয়ে গেছে এবং আমি ঘুমিয়ে পড়েছিলাম এবং ঘনত্ব হারাচ্ছিলাম। আমি মন্তব্য সরিয়েছি।
বেনামে পেঙ্গুইন

27

ডিজিটাল লেখার জন্য আপনি সর্বদা অ্যানালগ পিনগুলি ব্যবহার করতে পারেন।

  • digitalRead()সমস্ত পিনে কাজ করে। এটি প্রাপ্ত প্রাপ্ত অ্যানালগ মানটি কেবল গোল করবে এবং এটি আপনার কাছে উপস্থাপন করবে। যদি analogRead(A0)512 এর চেয়ে বড় বা সমান হয় digitalRead(A0)তবে 1 হবে, অন্য 0 হবে।
  • digitalWrite()সব পিনের কাজ করে, অনুমতি দিয়ে প্যারামিটার 0 বা 1. digitalWrite(A0,0)হিসাবে একই analogWrite(A0,0), এবং digitalWrite(A0,1)হিসাবে একইanalogWrite(A0,255)
  • analogRead()শুধুমাত্র এনালগ পিনে কাজ করে। এটি 0 এবং 1023 এর মধ্যে কোনও মান নিতে পারে।
  • analogWrite()সমস্ত এনালগ পিন এবং সমস্ত ডিজিটাল পিডব্লিউএম পিনে কাজ করে। আপনি 0 এবং 255 এর মধ্যে এটি কোনও মান সরবরাহ করতে পারেন।

অ্যানালগ পিনগুলি আপনাকে অ্যানালগ মানগুলি পড়তে / লিখতে দেয় - মূলত, 0 বা 5 এর ভোল্টেজ দেওয়ার পরিবর্তে (ডিজিটাল হিসাবে), তারা 0 থেকে 5 এর মধ্যে (ইনপুট এবং আউটপুট উভয়) এর মধ্যে বিভিন্ন ভোল্টেজ দিতে পারে। নোট করুন যে এনালগ আউটপুট চলাকালীন ভোল্টেজটি কেবলমাত্র একটি মাল্টিমিটার সহ পর্যবেক্ষণ ভোল্টেজ। বাস্তবে, এনালগ পিনগুলি 0 ভি এবং 5 ভি সিগন্যালের ডাল প্রেরণ করে একটি আউটপুট পেতে যা "দেখায়" এনালগ (এটি পিডাব্লুএম)।

পিনের সংখ্যা সম্পর্কে: মনে রাখবেন যে পিডাব্লুএম পিনগুলি এনালগ আউটপুট জন্য ব্যবহার করা যেতে পারে। যদি আপনার পিনগুলি শেষ হয়ে যায় তবে আপনি আরও তৈরি করতে মাল্টিপ্লেক্সিং ব্যবহার করতে পারেন । অন্য আরডুইনো পাওয়ার দরকার নেই।


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

1
@ জেমসসি 4 এস: ভাল পয়েন্ট, সম্পাদিত। ধন্যবাদ :)
মনীশার্থ


অ্যানালগ পিনগুলিতে ডিজিটালরিড () এবং ডিজিটাল রাইট () কি ধীর? ডিজিটাল রিড () যদি মানটিকে গোল করে তবে আমি এটি ডিজিটাল পিনের উপর ডিজিটাল রিড () এর চেয়ে ধীরে ধীরে ধীরে ধীরে কল্পনা করতে পারি?
Johncl

এটি অত্যন্ত সংক্ষিপ্ত এবং তথ্যমূলক, আপনাকে ধন্যবাদ, তবে আমি বিশ্বাস করি যে একটি ছোট ত্রুটি রয়েছে। সূক্ষ্ম ডক্স অনুসারে : the Arduino (ATmega) will report HIGH if: a voltage greater than 3.0V is present at the pin (5V boards)যা এই পোস্টে বিবৃতিটির সাথে বৈপরীত্য প্রদর্শন করে If analogRead(A0) is greater than or equal to 512, digitalRead(A0) will be 1, else 0
dotancohen

6

আরিন্ডিনোতে থাকা এনালগ পিনগুলি ডিজিটাল পিন হিসাবে ব্যবহার করা যেতে পারে, যেমন অনিন্দো ঘোষ নির্দেশ করেছেন।

যাইহোক, আপনার স্টেপার মোটরগুলি নিয়ন্ত্রণ করতে আপনি পিনগুলি ছড়িয়ে ছিটিয়ে থাকলেও, আপনাকে সত্যিই অন্য একটি বোর্ড কেনার দরকার নেই। উপযুক্ত স্টিপার মোটরটি নিয়ন্ত্রণ করতে আপনি কেবল একটি মধ্যবর্তী উপাদান যেমন রেজিস্টার বা মাল্টিপ্লেক্সার ব্যবহার করতে পারেন।


4

যদি আপনি এটি সামর্থ্য করতে পারেন, এবং আপনি সত্যিই একটি স্টিপার সুপার ইজি স্টেপারের সাথে চেক আউট দিয়ে কাজ করতে চান । আমি খুব সন্তুষ্ট ছিল।

থেকে উদাহরণস্বরূপ কোড পৃষ্ঠা

http://www.sc-fa.com/blog/wp-content/uploads/2013/04/20130414-080645.jpg



Example 1: Basic Arduino setup
This is the most basic example you can have with an Arduino, an Easy Driver, and a stepper motor. Connect the motor's four wires to the Easy Driver (note the proper coil connections), connect a power supply of 12V is to the Power In pins, and connect the Arduino's GND, pin 8 and pin 9 to the Easy Driver.

Then load this sketch and run it on your Arduino or chipKIT:
void setup() {                
  pinMode(8, OUTPUT);     
  pinMode(9, OUTPUT);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
}

void loop() {
  digitalWrite(9, HIGH);
  delay(1);          
  digitalWrite(9, LOW); 
  delay(1);          
}

একই পাতা থেকে, এখানে, দুই easystepper বোর্ড দুটি মোটর চালানোর জন্য কিছু উদাহরণ কোড আছে ত্বরণ / মন্দন সঙ্গে http://www.sc-fa.com/blog/wp-content/uploads/2013/04/20130414- 081018.jpg


#include <AccelStepper.h>

// Define two steppers and the pins they will use
AccelStepper stepper1(1, 9, 8);
AccelStepper stepper2(1, 7, 6);

int pos1 = 3600;
int pos2 = 5678;

void setup()
{  
  stepper1.setMaxSpeed(3000);
  stepper1.setAcceleration(1000);
  stepper2.setMaxSpeed(2000);
  stepper2.setAcceleration(800);
}

void loop()
{
  if (stepper1.distanceToGo() == 0)
  {
    delay(500);
    pos1 = -pos1;
    stepper1.moveTo(pos1);
  }
  if (stepper2.distanceToGo() == 0)
  {
    delay(500);
    pos2 = -pos2;
    stepper2.moveTo(pos2);
  }
  stepper1.run();
  stepper2.run();
}

এটি সত্যই প্রশ্নের উত্তর দেয় না; এটি একটি মন্তব্য হিসাবে ভাল হবে। আপনি কি এটিকে মাংস দিতে পারেন যাতে এটি প্রশ্নের উত্তর দেয়?
মণিশারথ

@ অন্নোনমাস পার্সন: ইজিড্রাইভার স্টিপার মোটর ড্রাইভার স্টক এবং সমস্ত কিছুর মধ্যে একটি সক্রিয় পণ্য হিসাবে উপস্থিত হয়।
ডেভিড্যাকারি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.