نمایش نتایج: از 1 به 1 از 1

موضوع: کنترل یک پتانسیومتر دیجیتال با استفاده ازspi

  1. #1
    Senior Member
    تاریخ عضویت
    Mar 2013
    محل سکونت
    Iran
    نوشته ها
    138

    Lightbulb مثال های آموزشی از آردینو - کنترل یک پتانسیومتر دیجیتال با استفاده ازspi

    در این آموزش شما چگونگی کنترل پتانسیومتر دیجیتال AD5206 را با استفاده از واسط وسایل جانبی (SPI) خواهید آموخت.
    برای توضیح SPI آموزش SPI EEPROM را ببنید.
    پتانسیومترهای دیجیتال وقتی مفید هستند که شما به تغییر مقاومت در یک مدار بصورت الکترونیکی احتیاج دارید نه به وسیله دست. برنامه های کاربردی به عنوان مثال عبارتند از LED کاهنده نور، اصلاح سیگنال های صوتی و تولید تن. در این مثال ما از یک پتانسیومتر شش کاناله برای کنترل روشنایی شش LED استفاده کردیم. مرحله ای که ما می خواهیم برای اجرای ارتباط SPI پوشش دهیم می تواند برای استفاده از اکثر دیگر دستگاههای SPI اصلاح شود.
    سخت افزار مورد نیاز
    پتانسیومتر دیجیتال AD5206
    ماژول میکروکنترلر آدرینو
    6 دیود نوری (LED)
    6 مقاومت 220 اهم
    معرفی پتانسیومتر دیجیتال AD5206
    ad5206_pins.jpgad5206_pinsdescript.jpg
    AD5206 یک پتانسیومتر دیجیتال 6 کاناله است. این بدان معنی است که دارای 6 مقاومت(پتانسیومتر) متغیر برای کنترل الکترونیکی اختصاصی ساخته شده است. برای هر شش مقاومت متغیر داخلی ،سه پین بروی تراشه وجود داردو آنها می توانند واسط باشند همانند استفاده شما از یک پتانسیومتر مکانیکی
    پین های اختصاصی مقاومت متغیر دارای برچسب Ax و Bx و Wx هستند به عنوان مثال A1 , B1 و W1 .برای نمونه در این آموزش ما می خواهیم از هر مقاومت متغیر همانند یک تقسیم کننده ی ولتاژ توسط خمیدگی یک طرف پین(پین B) بالا، و خمیدگی سمت دیگر پین (پین A) پایین استفاده کنیم و ولتاژ متغیر خروجی از پین مرکزی(Wiper) بگیریم. دراین مورد ، AD5206 یک ماکزیمم مقاومت از 10 کیلو را فراهم می کند. در 255 مرحله تحویل داده می شود.(255 حداکثر، 0 حداقل)
    مدار:
    ad5206_arduino_bb.jpg
    تصویر از Fritzing .برای مثال های بیشتر ،به صفحه پروژه Fritzng نگاه کنید.
    شماتیک
    ad5206_arduino_sch.jpg
    کد:
    // SPI قراردان کتابخانه : #include <SPI.h> // برای پتانسیومتر دیجیتال slave تنظیم پین 10 به عنوان: const int slaveSelectPin = 10; void setup() { // به عنوان خروجی slaveSelectPin تنظیم : pinMode (slaveSelectPin, OUTPUT); // initialize SPI: SPI.begin(); } void loop() { // رفتن به شش کانال پتانسیومتر دیجیتال: for (int channel = 0; channel < 6; channel++) { // تغییر مقاومت این کانال از مین تا ماکس: for (int level = 0; level < 255; level++) { digitalPotWrite(channel, level); delay(10); } // انتظار تا یک ثانیه در بالا : delay(100); // تغییر مقاومت این کانال از ماکس تا مین : for (int level = 0; level < 255; level++) { digitalPotWrite(channel, 255 - level); delay(10); } } } int digitalPotWrite(int address, int value) { // برای انتخاب چیپ low روی SS قرارگیری پین : digitalWrite(slaveSelectPin,LOW); // send in the address and value via SPI: SPI.transfer(address); SPI.transfer(value); // برای انتخاب دوباره چیپ high روی SS قرارگیری پین : digitalWrite(slaveSelectPin,HIGH); }
    لینک سایت:Arduino - SPIDigitalPot
    ویرایش توسط hesam.time : 04-03-2013 در ساعت 07:15 AM

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

SEO by vBSEO