فهرست مطالب:

Arduino ویژگی های کمتر شناخته شده: 9 مرحله
Arduino ویژگی های کمتر شناخته شده: 9 مرحله

تصویری: Arduino ویژگی های کمتر شناخته شده: 9 مرحله

تصویری: Arduino ویژگی های کمتر شناخته شده: 9 مرحله
تصویری: واقعا رفتم جزیره لختیها لخت مادرزاد شدم 2024, نوامبر
Anonim
Arduino ویژگی های کمتر شناخته شده
Arduino ویژگی های کمتر شناخته شده

این بیشتر فهرستی از ویژگی های پرکاربرد Arduino است که اغلب مورد استفاده قرار نمی گیرد (به عنوان مثال Uno ، Nano). این فهرست باید به عنوان مرجع هر زمان که نیاز به جستجوی این ویژگی ها و انتشار کلمه دارید عمل کند.

به کد نگاه کنید تا نمونه هایی از همه این ویژگی ها را مشاهده کنید ، زیرا من آنها را در چندین پروژه معدنی خود در اینجا با دستورالعمل استفاده کردم (به عنوان مثال صفحه نمایش 1 سیم آردوینو (144 کاراکتر)). مراحل زیر هر یک یک ویژگی را توضیح می دهد.

مرحله 1: ولتاژ منبع تغذیه

آردوینو می تواند ولتاژ منبع تغذیه خود را به صورت غیر مستقیم اندازه گیری کند. با اندازه گیری مرجع داخلی با ولتاژ منبع تغذیه به عنوان مرجع حد بالا ، می توانید نسبت بین مرجع داخلی و ولتاژ منبع (ولتاژ منبع تغذیه به عنوان حد بالا برای قرائت آنالوگ/ADC عمل کند) را بدست آورید. همانطور که مقدار دقیق مرجع ولتاژ داخلی را می دانید ، می توانید ولتاژ منبع را محاسبه کنید.

برای جزئیات دقیق در مورد نحوه انجام این کار از جمله کد نمونه به اینجا مراجعه کنید:

  • ولت متر مخفی آردوینو-اندازه گیری ولتاژ باتری:
  • آیا آردوینو می تواند Vin خود را اندازه گیری کند ؟:

مرحله 2: دمای داخلی

برخی از آردوینوها مجهز به سنسور دمای داخلی هستند و بنابراین می توانند دمای داخلی (نیمه هادی) خود را اندازه گیری کنند.

برای جزئیات دقیق در مورد چگونگی انجام این کار از جمله کد مثال ، مراجعه کنید:

سنسور دمای داخلی:

آیا آردوینو می تواند Vin خود را اندازه گیری کند ؟:

مرحله 3: مقایسه کننده آنالوگ (وقفه)

آردوینو می تواند یک مقایسه کننده آنالوگ بین پین A0 و A1 تنظیم کند. بنابراین یکی سطح ولتاژ را می دهد و دیگری برای عبور از این ولتاژ بررسی می شود. بسته به اینکه لبه بالا یا پایین (یا هر دو) گذرگاه است ، وقفه افزایش می یابد. سپس وقفه را می توان با نرم افزار گرفت و مطابق آن عمل کرد.

برای جزئیات دقیق در مورد چگونگی انجام این کار از جمله کد مثال ، مراجعه کنید:

وقفه مقایسه کننده آنالوگ:

مرحله 4: شمارنده

البته AVR دارای چندین شمارنده است. معمولاً از آنها برای تنظیم زمان سنج فرکانس های مختلف و افزایش وقفه در صورت نیاز استفاده می شود. یکی دیگر از مواردی که ممکن است بسیار قدیمی باشد این است که از آنها فقط به عنوان پیشخوان بدون هیچ گونه جادوی اضافی استفاده کنید ، فقط مقدار مورد نیاز را بخوانید (نظرسنجی). استفاده جالب از این می تواند حذف گزاف گویی دکمه ها باشد. برای مثال به این پست مراجعه کنید: شمارنده AVR مثال T1

مرحله 5: ثابت های از پیش تعریف شده

برخی متغیرهای از پیش تعریف شده وجود دارد که می توانید از آنها برای افزودن اطلاعات نسخه و کامپایل به پروژه خود استفاده کنید.

برای جزئیات دقیق در مورد چگونگی انجام این کار از جمله کد مثال ، مراجعه کنید:

Serial.println (_ DATE_) ؛ // تاریخ گردآوری

Serial.println (_ TIME_)؛ // زمان تدوین

string stringOne = String (ARDUINO ، DEC) ؛

Serial.println (stringOne) ؛ // نسخه arduino ide

Serial.println (_ VERSION_)؛ // نسخه gcc

Serial.println (_ FILE_) ؛ // فایل کامپایل شده است

این قطعات کد داده ها را به کنسول سریال منتقل می کند.

مرحله 6: متغیر را در RAM از طریق بازنشانی حفظ کنید

به خوبی شناخته شده است که Arduino Uno (ATmega328) دارای EEPROM داخلی است که به شما امکان می دهد مقادیر و تنظیمات را هنگام خاموش شدن حفظ کرده و در زمان روشن شدن مجدد آنها را بازیابی کنید. یک واقعیت نه چندان شناخته شده ممکن است این باشد که در واقع امکان حفظ مقدار در حین تنظیم مجدد حتی در RAM - با این حال مقادیر در چرخه قدرت از بین می رود - با نحو:

متغیر طولانی بدون علامت که حفظ می شود _attribute_ ((بخش (". noinit"))) ؛

این به عنوان مثال به شما امکان می دهد تعداد RESET ها را شمارش کنید و با استفاده از EEPROM تعداد نیروها را نیز افزایش دهید.

برای جزئیات دقیق در مورد چگونگی انجام این کار از جمله کد مثال ، مراجعه کنید:

  • حفظ متغیر در Ram از طریق بازنشانی:
  • کتابخانه EEPROM:

مرحله 7: به سیگنال ساعت دسترسی پیدا کنید

Arduinos و دیگر AVR (مانند ATtiny) دارای یک ساعت داخلی هستند که به شما امکان می دهد آنها را بدون استفاده از یک نوسانگر بلوری خارجی اجرا کنید. علاوه بر این ، آنها همچنین می توانند این سیگنال را با قرار دادن آن روی پین (به عنوان مثال PB4) به خارج متصل کنند. نکته مشکل اینجاست که شما باید بیت فیوز تراشه ها را تغییر دهید تا این ویژگی را فعال کنید و تغییر بیت فیوز همیشه خطر آجر زدن تراشه را دارد.

شما باید فیوز CKOUT را فعال کنید و ساده ترین راه این است که دستورالعمل نحوه تغییر بیت های فیوز AVR Atmega328p - 8bit Microcontroller با استفاده از آردوینو را دنبال کنید.

برای جزئیات دقیق در مورد نحوه انجام این کار از جمله کد نمونه ، مراجعه کنید:

  • تنظیم نوسان ساز داخلی ATtiny:
  • نحوه تغییر بیت های فیوز AVR Atmega328p-میکروکنترلر 8 بیتی با استفاده از آردوینو:

مرحله 8: ساختار داخلی بندر ATmega328P

دانستن ساختار داخلی پورت های ATmega328P به ما امکان می دهد از محدودیت های استاندارد استفاده فراتر برویم. برای جزئیات بیشتر و شماتیک مدار داخلی ، بخش مربوط به Capacitance Meter for Range 20 pF تا 1000 nF را مشاهده کنید.

مثال ساده این است که از دکمه هایی با پورت های دیجیتالی استفاده کنید که به دلیل استفاده از مقاومت کششی داخلی نیازی به هیچ مقاومتی ندارند ، همانطور که در نمونه سریال کشش ورودی یا دکمه آردوینو بدون مقاومت نشان داده شده است.

استفاده از این دانش همانطور که ذکر شد برای اندازه گیری خازن های کوچک تا 20 pF و علاوه بر این بدون سیم کشی اضافی پیشرفته تر است! برای دستیابی به آن عملکرد ، مثال از امپدانس داخلی/ورودی ، مقاومت کششی داخلی و خازن سرگردان استفاده می کند. با آموزش Arduino CapacitanceMeter مقایسه کنید که نمی تواند کمتر از چند nF باشد.

مرحله 9: LED روی صفحه (ساخته شده) به عنوان Photodetector

بسیاری از بردهای آردوینو دارای LED های داخلی یا داخلی هستند که می توانند از طریق کد کنترل شوند ، به عنوان مثال. تخته های Uno یا Nano روی پایه 13. با افزودن یک سیم از این پین به یک پین ورودی آنالوگ (به عنوان مثال A0) ، می توانیم از این LED به عنوان آشکارساز نوری نیز استفاده کنیم. این می تواند به طرق مختلف مورد استفاده قرار گیرد مانند ؛ استفاده از اندازه گیری روشنایی محیط ، استفاده از LED به عنوان دکمه ، استفاده از LED برای برقراری ارتباط (PJON AnalogSampling) و غیره

توصیه شده: