نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی پرتال اطلاعاتی

پروژه های آردوینو آردوینو چینی DUE

اطلاعات کلی

Arduino Due دستگاهی مبتنی بر ریزپردازنده Atmel SAM3X8E ARM Cortex-M3 (صفحه داده) است. این اولین برد آردوینو مبتنی بر میکروکنترلر 32 بیتی ARM است. شامل 54 پین دیجیتال (که 12 عدد می تواند به عنوان خروجی PWM کار کند)، 12 ورودی آنالوگ، 4 UART (فرستنده سخت افزاری که انتقال داده های سریال را انجام می دهد)، یک ژنراتور فرکانس ساعت 84 مگاهرتز، USB با پشتیبانی از فناوری OTG، 2 عدد DAC (دیجیتال به) مبدل های آنالوگ)، 2 TWI، کانکتور برق، کانکتور SPI، کانکتور JTAG، دکمه تنظیم مجدد و دکمه پاک کردن حافظه.

نکته: برخلاف سایر بردهای آردوینو، ولتاژ کاری آردوینو دو 3.3 ولت است. بر این اساس، حداکثر ولتاژی که ترمینال های آن می توانند تحمل کنند 3.3 ولت است. اعمال ولتاژ بالاتر (مثلاً 5 ولت) به خروجی می تواند به برد آسیب برساند.

این دستگاه شامل همه چیزهایی است که برای اطمینان از عملکرد میکروکنترلر لازم است. برای شروع، فقط باید برق را از یک آداپتور AC / DC یا باتری تامین کنید یا آن را با استفاده از کابل USB به رایانه متصل کنید. Arduino Due با تمام بردهای توسعه 3.3 ولت سازگار است و الزامات pinout 1.0 را برآورده می کند:

  • پین های SDA و SCL (TWI) در نزدیکی پایه AREF قرار دارند.
  • یک پایه IOREF وجود دارد که به بردهای انبساط اجازه می دهد تا با ولتاژ کاری آردوینو تنظیم شوند. به لطف این، بردهای توسعه می توانند با هر دو 3.3V-Arduino (مشابه Due) و 5V-Arduino مبتنی بر میکروکنترلرهای AVR سازگار باشند.
  • برداشت رایگان ارائه شده، برای اهداف آینده محفوظ است.

مزایای استفاده از هسته ARM

Arduino Due با استفاده از یک هسته 32 بیتی ARM، از بسیاری جهات از بردهای میکروکنترلر 8 بیتی معمولی بهتر عمل می کند. مهم ترین تفاوت ها به شرح زیر است:

  • هسته 32 بیتی می تواند داده های 4 بایتی را تنها در یک چرخه ساعت پردازش کند. (برای اطلاعات بیشتر به توضیحات نوع int مراجعه کنید).
  • فرکانس ساعت 84 مگاهرتز است.
  • SRAM 96 کیلوبایت است.
  • مقدار فلش مموری برنامه ها 512 کیلوبایت می باشد.
  • وجود یک کنترلر DMA، که اجازه می دهد تا پردازنده مرکزی را از انجام عملیات حافظه با منابع فشرده تخلیه کند.

شماتیک، طرح اصلی و پین اوت

مشخصات فنی

میکروکنترلر AT91SAM3X8E
ولتاژ کاری 3.3 ولت
ولتاژ تغذیه (توصیه می شود) 7-12 ولت
ولتاژ تغذیه (محدود) 6-16 ولت
خروجی های دیجیتال 54 (که 12 عدد می توانند به عنوان خروجی PWM کار کنند)
ورودی های آنالوگ 12
خروجی های آنالوگ 2 (DAC)
مجموع جریان خروجی همه خروجی ها (حداکثر) 130 میلی آمپر
حداکثر جریان خروجی خروجی 3.3 ولت 800 میلی آمپر
حداکثر جریان خروجی خروجی 5 ولت است 800 میلی آمپر
فلش مموری 512 کیلوبایت به طور کامل در دسترس برنامه های کاربر است
SRAM 96 کیلوبایت (دو بانک حافظه: 64 کیلوبایت و 32 کیلوبایت)
فرکانس ساعت 84 مگاهرتز

تغذیه

Arduino Due می تواند از USB یا از یک منبع تغذیه خارجی تغذیه شود - نوع منبع به طور خودکار انتخاب می شود.

منبع تغذیه خارجی (نه USB) می تواند یک آداپتور AC / DC یا باتری / باتری قابل شارژ باشد. دوشاخه آداپتور (قطر - 2.1 میلی متر، تماس مرکزی - مثبت) باید در کانکتور برق مربوطه روی برد قرار داده شود. در صورت شارژ باتری / باتری، سیم های آن باید به پین ​​های Gnd و Vin کانکتور POWER متصل شوند.

ولتاژ منبع تغذیه خارجی می تواند در محدوده 6 تا 20 ولت باشد. اما کاهش ولتاژ تغذیه زیر 7 ولت منجر به کاهش ولتاژ در پایه 5 ولت می شود که می تواند باعث عملکرد ناپایدار دستگاه شود. استفاده از ولتاژ بالاتر از 12 ولت می تواند منجر به گرم شدن بیش از حد تنظیم کننده ولتاژ و آسیب به برد شود. با در نظر گرفتن این موضوع، استفاده از منبع تغذیه با ولتاژ بین 7 تا 12 ولت توصیه می شود.

پین های پاور که روی برد قرار گرفته اند عبارتند از:

  • VIN.ولتاژی که مستقیماً از منبع تغذیه خارجی به آردوینو وارد می شود (به 5 ولت از USB یا سایر ولتاژهای تثبیت شده مربوط نمی شود). این پین هم می تواند برق خارجی را تامین کند و هم زمانی که دستگاه توسط یک آداپتور خارجی تغذیه می شود، جریان مصرف کند.
  • 5 ولتخروجی بدون توجه به نحوه تغذیه دستگاه، ولتاژ 5 ولت را از تنظیم کننده ولتاژ روی برد دریافت می کند: از آداپتور (7 - 12 ولت)، از USB (5 ولت) یا از طریق خروجی VIN (7 - 12 ولت). توصیه نمی شود دستگاه را از طریق پین های 5 ولت یا 3 ولت تغذیه کنید، زیرا در این مورد از تنظیم کننده ولتاژ استفاده نمی شود که می تواند منجر به خرابی برد شود.
  • 3V3. 3.3 ولت، که از تنظیم کننده ولتاژ روی برد می آید. این رگولاتور برق میکروکنترلر SAM3X را نیز تامین می کند. حداکثر جریان گرفته شده از این پایه 800 میلی آمپر است.
  • GND.یافته های زمینی
  • IOREF.این پین اطلاعاتی در مورد ولتاژ عملکرد میکروکنترلر آردوینو به بردهای توسعه می دهد. بسته به ولتاژ خوانده شده از پایه IOREF، برد انبساط می تواند به منبع تغذیه مناسب سوئیچ کند یا از مبدل های سطح استفاده کند که به آن امکان می دهد با دستگاه های 5 ولت و 3.3 ولت کار کند.

حافظه

مقدار فلش مموری برنامه های میکروکنترلر SAM3X 512 کیلوبایت (2 بلوک 256 کیلوبایتی) می باشد. این دستگاه دارای یک بوت لودر فلش شده است که در یک حافظه ROM جداگانه قرار دارد. حافظه SRAM موجود 96 کیلوبایت است که دو بانک حافظه پیوسته به ترتیب 64 کیلوبایت و 32 کیلوبایت است. تمام حافظه های موجود (فلش، رم و رام) دارای یک فضای آدرس خطی مشترک هستند.

دکمه حذف که روی برد قرار دارد به شما امکان می دهد حافظه فلش میکروکنترلر SAM3X را پاک کنید و برنامه بارگذاری شده فعلی را پاک کنید. برای این کار باید آن را چند ثانیه فشار داده و نگه دارید.

ورودی ها و خروجی ها

  • I/O دیجیتال: پین های 0 - 53
  • رابط SPI: پین های SPI(در کانکتور ICSP بردهای آردوینو)
  • رابط CAN: پین های CANRX و CANTX

این پین ها از پروتکل ارتباطی CAN پشتیبانی می کنند، اما در حال حاضر هیچ پیاده سازی در API آردوینو وجود ندارد.

  • LED "L": پین 13

LED داخلی به پین ​​13 متصل است. هنگام ارسال مقدار HIGH، LED روشن می شود، هنگام ارسال مقدار LOW، خاموش می شود. علاوه بر این، روشنایی LED را می توان تنظیم کرد، زیرا پایه 13 می تواند به عنوان یک خروجی PWM کار کند.

  • TWI 1: پین های 20 (SDA) و 21 (SCL)
  • TWI 2: پین های SDA1 و SCL1

پین های دیگر روی تخته:

  • عارف

ولتاژ مرجع ADC. مورد استفاده توسط analogReference ().

  • بازنشانی کنید

تشکیل سطح پایین (LOW) روی این پین باعث راه اندازی مجدد میکروکنترلر می شود. معمولاً این پین برای عملکرد دکمه تنظیم مجدد در کارت های توسعه استفاده می شود.

ارتباط

Arduino Due تعدادی امکانات را برای برقراری ارتباط با کامپیوتر، آردوینو دیگری یا میکروکنترلرهای دیگر و همچنین با دستگاه های مختلف مانند تلفن، تبلت، دوربین و غیره فراهم می کند. میکروکنترلر SAM3X دارای یک UART سخت افزاری و سه USART سخت افزاری برای پیاده سازی رابط های سریال 3.3 ولت TTL است.

پورت برنامه نویسی USB روی برد با ریز مدار ATmega16U2 که به عنوان مبدل USB-UART عمل می کند، در تعامل است که در صورت اتصال به کامپیوتر، به عنوان یک پورت COM مجازی تعریف می شود. (برای شناسایی صحیح در سیستم های ویندوز، یک فایل .inf مورد نیاز است؛ در سیستم های دارای OSX و LINUX، برد به طور خودکار شناسایی می شود). ریزمدار 16U2 به فرستنده سخت افزاری UART میکروکنترلر SAM3X متصل است. پایه های RX0 و TX0 برای برنامه ریزی میکروکنترلر از طریق ریزمدار ATmega16U2 استفاده می شود. بسته نرم افزاری آردوینو شامل برنامه خاصی است که به شما امکان می دهد داده های متنی ساده را به آردوینو بخوانید و ارسال کنید. هنگام انتقال داده ها از طریق ریزمدار مبدل USB-UART در حین اتصال USB با رایانه، LED های RX و TX روی برد چشمک می زنند. (زمانی که داده های سریال از طریق پین های 0 و 1 بدون استفاده از مبدل USB منتقل می شود، از این LED ها استفاده نمی شود).

میکروکنترلر SAM3X از رابط های سریال TWI و SPI نیز پشتیبانی می کند. نرم افزار آردوینو شامل یک کتابخانه Wire برای ساده کردن کار با گذرگاه I2C است. برای جزئیات بیشتر به مستندات مراجعه کنید. از کتابخانه SPI برای کار با رابط SPI استفاده کنید.

برنامه نويسي

فرآیند بارگذاری برنامه ها در میکروکنترلر SAM3X با فرآیند سیستم عامل میکروکنترلرهای AVR مورد استفاده در سایر بردهای آردوینو متفاوت است. ویژگی SAM3X این است که برای reflash کردن آن، ابتدا باید حافظه فلش کنترلر را پاک کنید. این به این دلیل است که فرآیند بارگذاری برنامه توسط بوت لودر در رام SAM3X کنترل می شود که تنها در صورت وجود برنامه در حافظه فلش میکروکنترلر شروع می شود.

بنابراین می توان از هر یک از درگاه های USB برای فلاش برد برد استفاده کرد. با این وجود، توصیه می شود از پورت USB برای برنامه نویسی استفاده کنید ("پورت برنامه ریزی" در شکل) به دلیل برخی از ویژگی های فرآیند پاک کردن حافظه میکروکنترلر:

  • پورت برنامه نویسی: برای استفاده از این پورت در Arduino IDE، "Arduino Due (Programming Port)" را به عنوان برد کار انتخاب کنید. با اتصال کابل USB به کانکتور برنامه نویسی (نزدیکتر به کانکتور برق)، Due را به رایانه خود وصل کنید. پورت برنامه نویسی با ریزمدار 16U2 که به عنوان مبدل USB-UART عمل می کند، تعامل دارد. ریزمدار 16U2 به نوبه خود به اولین UART میکروکنترلر SAM3X (پین های RX0 و TX0) متصل می شود و همچنین پایه های Reset و Erase آن را کنترل می کند. هنگامی که پورت با سرعت 1200 باود باز و بسته می شود، یک سطح فعال در پین های Erase و Reset تشکیل می شود که حافظه میکروکنترلر را پاک می کند. بنابراین، روش به اصطلاح "تمیز کردن سخت افزار" قبل از تعامل با SAM3X UART فعال می شود. این روش در هنگام استفاده از پورت USB استاندارد نسبت به "تمیز کردن نرم افزار" قابل اعتمادتر است و حتی در صورت یخ زدن پردازنده نیز کار می کند. به همین دلیل است که توصیه می شود از پورت برنامه نویسی برای سیستم عامل Arduino Due استفاده کنید.
  • پورت USB Native: برای استفاده از این پورت در Arduino IDE به عنوان یک برد کاری، "Arduino Due (Naive USB Port)" را انتخاب کنید. پورت USB استاندارد مستقیماً به میکروکنترلر SAM3X متصل می شود. با اتصال کابل USB به کانکتور USB OEM (که نزدیک به دکمه تنظیم مجدد قرار دارد) Due را به رایانه خود وصل کنید. باز کردن و بستن پورت با سرعت 1200 باود، رویه "نرم افزار تمیز کردن" را راه اندازی می کند، که در طی آن حافظه فلش پاک می شود، میکروکنترلر مجددا راه اندازی می شود و بوت لودر شروع به کار می کند. از آنجایی که این روش منحصراً توسط برنامه خود میکروکنترلر SAM3X انجام می شود، اگر دومی آویزان شود، فرآیند تمیز کردن ممکن است رخ ندهد. در عین حال، باز کردن / بستن پورت استاندارد در سرعت های مختلف کمکی به راه اندازی مجدد میکروکنترلر نمی کند.

بر خلاف سایر بردهای آردوینو که با avrdude برنامه ریزی می شوند، فرآیند فریمور Arduino Due با استفاده از یک برنامه انجام می شود.

کد منبع میان‌افزار میکروکنترلر ATmega16U2 در مخزن آردوینو موجود است. میکروکنترلر را می توان از طریق کانکتور برای برنامه نویسی در مدار ISP با استفاده از یک برنامه نویس خارجی فلش کرد (در این حالت، بوت لودر DFU رونویسی می شود).

محافظت در برابر اضافه بار USB

Arduino Due دارای فیوزهای قابل تنظیم مجدد برای محافظت از پورت USB کامپیوتر در برابر اتصال کوتاه و بار اضافی است. اگرچه اکثر کامپیوترها حفاظت مخصوص به خود را دارند، اما این فیوزها یک لایه حفاظتی اضافی را ارائه می دهند. اگر پورت USB بیش از 500 میلی آمپر مصرف کند، فیوز به طور خودکار اتصال را قطع می کند تا زمانی که علت اتصال کوتاه یا اضافه بار برطرف شود.

مشخصات فیزیکی و سازگاری برد توسعه

حداکثر طول و عرض PCB Arduino Due به ترتیب 10.2 سانتی متر و 5.4 سانتی متر است که شامل کانکتورهای USB و برق است که از برد بیرون زده اند. سه سوراخ نصب به شما امکان می دهد تخته را به یک سطح یا شاسی وصل کنید. لطفاً توجه داشته باشید که فاصله بین پایه های دیجیتال 7 و 8 مضربی از 2.54 میلی متر سنتی نیست و 4 میلی متر است.

Arduino Due به گونه ای طراحی شده است که با اکثر بردهای توسعه Uno، Diecimila یا Duemilanove سازگار باشد. چیدمان پایه های اصلی برد کاملاً معادل است: پین های دیجیتال 0 - 13 (و همچنین پایه های AREF و GND مجاور)، ورودی های آنالوگ 0 - 5، کانکتور POWER و کانکتور "ICSP" (SPI) - همه پایه ها در یک فاصله از یکدیگر قرار دارند. علاوه بر این، خطوط فرستنده اصلی UART به همان پایه ها (0 و 1) متصل می شوند. لطفاً توجه داشته باشید که شماره پین‌های I2C در آردوینو Due (20 و 21) با پین‌های Duemilanove / Diecimila (پایین‌های آنالوگ 4 و 5) متفاوت است.

دستورالعمل های دقیق برای کار با Arduino Due (به زبان انگلیسی)

اطلاعات کلی

Arduino Nano یک دستگاه مینیاتوری کاملاً کاربردی است که بر اساس میکروکنترلر ATmega328 (Arduino Nano 3.0) یا ATmega168 (Arduino Nano 2.x) ساخته شده است که برای استفاده با تخته‌های نان اقتباس شده است. از نظر کارایی، دستگاه مشابه Arduino Duemilanove است و از نظر اندازه، عدم وجود کانکتور برق و کابل USB از نوع متفاوت (Mini-B) با آن تفاوت دارد. آردوینو نانو توسط شرکت Gravitech طراحی و تولید شده است.

طرح شماتیک و اصلی

ارتباط

آردوینو نانو چندین گزینه برای برقراری ارتباط با کامپیوتر، آردوینو دیگری یا میکروکنترلرهای دیگر فراهم می کند. ATmega168 و ATmega328 دارای یک فرستنده گیرنده UART هستند که امکان ارتباط سریال را با استفاده از پین های دیجیتال 0 (RX) و 1 (TX) فراهم می کند. تراشه FTDI FT232RL ارتباط بین فرستنده گیرنده و پورت USB کامپیوتر را فراهم می کند و هنگامی که به کامپیوتر متصل می شود، به آردوینو اجازه می دهد تا به عنوان یک پورت COM مجازی تعریف شود (درایورهای FTDI در بسته نرم افزاری آردوینو گنجانده شده است). بسته نرم افزاری آردوینو همچنین شامل یک برنامه ویژه است که به شما امکان می دهد داده های متنی ساده را بخوانید و به آردوینو ارسال کنید. هنگام انتقال داده ها به رایانه از طریق USB، LED های RX و TX روی برد چشمک می زنند. (این LED ها برای انتقال سریال داده ها از طریق پین های 0 و 1 استفاده نمی شوند).

ATmega168 و ATmega328 در آردوینو نانو دارای یک بوت لودر سیستم عامل هستند که اجازه می دهد برنامه های جدید بدون نیاز به برنامه نویس خارجی در میکروکنترلر بارگذاری شوند. تعامل با آن با استفاده از پروتکل اصلی STK500 (،) انجام می شود.

تنظیم مجدد خودکار (نرم افزار).

برای اینکه مجبور نباشید هر بار قبل از بارگذاری برنامه، دکمه ریست را فشار دهید، آردوینو نانو به گونه ای طراحی شده است که می توان آن را توسط نرم افزار کامپیوتر متصل ریست کرد. یکی از پایه‌های FT232RL که در کنترل جریان داده (DTR) نقش دارد از طریق یک خازن 100nF به پایه RESET میکروکنترلر ATmega168 یا ATmega328 متصل می‌شود. هنگامی که یک صفر در خط DTR ظاهر می شود، پین RESET نیز برای مدت زمانی که برای راه اندازی مجدد میکروکنترلر کافی است، پایین می آید. از این قابلیت استفاده می شود تا بتوانید میکروکنترلر را تنها با یک کلیک در محیط برنامه نویسی آردوینو فلش کنید. این معماری به شما امکان می دهد تا زمان بوت لودر را کاهش دهید، زیرا فرآیند سیستم عامل همیشه با کاهش سیگنال در خط DTR هماهنگ می شود. این معماری به شما امکان می دهد تا زمان بوت لودر را کاهش دهید، زیرا فرآیند سیستم عامل همیشه با کاهش سیگنال در خط DTR هماهنگ می شود.

با این حال، این سیستم می تواند به عواقب دیگری نیز منجر شود. هنگام اتصال آردوینو نانو به کامپیوترهایی که دارای سیستم عامل Mac OS X یا لینوکس هستند، میکروکنترلر آن هر بار که نرم افزار به برد متصل می شود، ریست می شود. پس از بازنشانی به آردوینو نانو، بوت لودر حدود نیم ثانیه فعال می شود. علیرغم این واقعیت که بوت لودر طوری برنامه ریزی شده است که داده های اضافی را نادیده بگیرد (یعنی تمام داده هایی که مربوط به فرآیند فلش کردن یک برنامه جدید نیستند)، می تواند چند بایت اول داده را از بسته ارسال شده به برد بلافاصله پس از اتصال رهگیری کند. ایجاد. بر این اساس، اگر برنامه‌ای که روی آردوینو اجرا می‌شود، امکان دریافت تنظیمات یا داده‌های دیگر از رایانه را در اولین شروع فراهم می‌کند، مطمئن شوید که نرم‌افزاری که آردوینو با آن تعامل دارد، یک ثانیه پس از برقراری اتصال ارسال می‌کند.

احتمالاً همه شنیده اند که دستگاه درام دیجیتال یا دستگاه بیت چیست. ماشین درام الکترومکانیکی ساخته شده توسط آهنگساز نروژی کوکا نیکولادزه موضوع کاملاً دیگری است. در آن صدا در اثر عمل مکانیکی شکل می گیرد. این دستگاه توسط یک آردوینو تغذیه می شود که به شما امکان می دهد یک ملودی را برای اجرا برنامه ریزی کنید.

شما در مورد آردوینو شنیده اید و می خواهید در اسرع وقت آن را کشف کنید تا دستگاه، ربات یا هر چیز دیگری که آنها اختراع کرده اند بسازید. می‌توانید در شب اول چراغ LED را چشمک بزنید، اما ساخت ابزار پیچیده‌تر بسیار بیشتر طول می‌کشد. هفته ها و حتی ماه ها برای مطالعه برنامه نویسی C، جستجوی کتابخانه ها و ماژول های سازگار، عصا و غلبه بر مشکلات پیش رو وجود دارد. چگونه روند را تسریع کنیم؟ با یک برد سازگار با آردوینو که می تواند در جاوا اسکریپت برنامه ریزی شود شروع کنید.

مقاله اصلی به زبان انگلیسی http://www.bunniestudios.com/blog/?p=2407

عکس مدار چاپی تمام شده لئوناردو را نشان می دهد

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

آردوینو، دستکش خانگی با 5 سنسور خم سیمی، 5 سروو HITEC HS-81 و یک بازوی مکانیکی. نحوه عملکرد همه اینها را می توان در ویدیو مشاهده کرد. آردوینو داده ها را از حسگرهای خم می خواند و سروو موتورها را کنترل می کند تا دست مکانیکی حرکات دست انسان را دنبال کند. به هر حال، در ویدیوی اول، نویسنده از یک مجموعه آماده از مکانیک دست استفاده می کند که می توان آن را در ebay خریداری کرد، البته بدون قطعات الکترونیکی و درایو. در پروژه دیگری، نویسنده دستی مشابه از مواد ضایعاتی ساخت.

در این پروژه، من به شما نشان خواهم داد که چگونه می توانید یک ماتریس LED تمام رنگی 8x8 را به آردوینو متصل کنید. خود ماتریس دارای 32 ورودی است: 8 آند، 8 کاتد قرمز، 8 سبز و 8 آبی. در این حالت تنها از 3 خروجی آردوینو برای کنترل ماتریس استفاده خواهد شد. اینجا هیچ جادویی وجود ندارد، اما 4 رجیستر شیفت 74HC595 وجود دارد.

برای اطلاعات بیشتر در مورد استفاده از 74HC59 با آردوینو، به استفاده از 74HC595 Shift Register برای افزایش تعداد خروجی ها مراجعه کنید.

یک ثبات 8 خروجی به ما می دهد، از آنجایی که ماتریس ما 32 ورودی دارد، پروژه از تکنیک رجیسترهای شیفت آبشاری استفاده می کند. ما به 4 رجیستر 74HC59 نیاز داریم، در حالی که تعداد اتصالات به آردوینو تغییر نمی کند و از 3 خروجی به آردوینو استفاده می شود. برای مدیریت برق از طریق USB تامین می شود، اما می توانید به صورت مستقل نیز متصل شوید.

عکسبرداری از فرآیندهای سریع، مانند سقوط یک قطره، انفجار یک بالون، کار بسیار دشواری است. تقریباً غیرممکن است که لحظه دقیقی را که باید شاتر را بدون دستگاه های خاص فشار دهید، حدس بزنید. نه، مطمئناً می توانید صدها بار تلاش کنید و در یک نقطه، شانس به سمت شما خواهد رفت. اما شما می توانید بدون صدها توپ انجام دهید. اینجا جایی است که آردوینو وارد می شود. در ادامه فرآیند ساخت یک ماشه خودکار مبتنی بر آردوینو که به صدا یا رهگیری لیزری پاسخ می‌دهد، توضیح می‌دهد.

به طور دقیق، آردوینو شاتر دوربین را کنترل نمی کند، بلکه فلاش را کنترل می کند. متأسفانه، تأخیر در واکنش دوربین به سیگنال در محدوده 20 میلی ثانیه است که برای چشم انسان قابل توجه نیست، اما باز هم بیشتر از آن چیزی است که هنگام عکاسی از بالون در حال ترکیدن است. بنابراین، تصویربرداری در یک اتاق تاریک با سرعت شاتر 10 ثانیه انجام می شود، اما فلاش دقیقا در لحظه مناسب شلیک می شود. از آنجایی که عملاً هیچ نوری در اتاق وجود ندارد، کل نوردهی عکس دقیقاً در لحظه عملیات فلاش (حدود 1 میلی ثانیه) انجام می شود.

روز خوب!
مدتی است که در اوقات فراغت خود انواع زیورآلات الکترونیکی را انجام می دهم. من با برنامه نویسی tinek و meg در IAR شروع کردم تا اینکه متوجه شدم کارها با آردوینو بسیار آسان تر است. و اخیراً یک کپی از Arduino DUE در فروشگاه های بزرگ چینی با قیمت کمی گران تر از Mega2560 معروف کشف کردم.

برای کسانی که نمی دانند چیست و با چه می خورند

آردوینو یک طراح الکترونیکی و پلت فرمی با کاربری آسان برای توسعه سریع دستگاه های الکترونیکی برای مبتدیان و حرفه ای ها است. این پلتفرم به دلیل راحتی و سادگی زبان برنامه نویسی و همچنین معماری باز و کد برنامه در سراسر جهان بسیار محبوب است. این دستگاه از طریق USB و بدون استفاده از برنامه نویس قابل برنامه ریزی است.

آردوینو به رایانه اجازه می دهد تا فراتر از دنیای مجازی به دنیای فیزیکی رفته و با آن تعامل داشته باشد. دستگاه های مبتنی بر آردوینو می توانند اطلاعات محیط را از طریق سنسورهای مختلف دریافت کنند و همچنین می توانند محرک های مختلف را کنترل کنند.

میکروکنترلر روی برد با استفاده از زبان آردوینو (بر اساس زبان Wiring) و محیط توسعه آردوینو (بر اساس محیط Processing) برنامه ریزی شده است. طراحی‌های دستگاه مبتنی بر آردوینو می‌توانند به‌طور مستقل کار کنند یا با نرم‌افزار روی رایانه تعامل داشته باشند (مانند Flash، Processing، MaxMSP). بردها را می توان توسط خود کاربر مونتاژ کرد یا به صورت مونتاژ خریداری کرد. نرم افزار برای دانلود رایگان موجود است. نقشه های شماتیک اصلی (فایل های CAD) در دسترس عموم هستند و کاربران می توانند آن ها را به دلخواه خود اعمال کنند.
© arduino.ru


آشنایی با آردوینو را با خرید همتای چینی Mega2560 شروع کردم. در ابتدا، نمایشگرها، سنسورها، سروموتورها را وصل می کردم، تا اینکه به نحوی نیاز به ساختن دستگاهی برای کار داشتم که ولتاژها را از یک شنت جریان و یک ترمیستور می خواند و کل چیز را به حالت عادی تبدیل می کند و آن را روی نمایشگر نشان می دهد. اینجاست که آردوین به کارش آمد، در عرض 5 دقیقه یک طرح نوشته شد، نمایشگر وصل شد و برد به کار رفت. البته از توپ به گنجشک تبدیل شد اما در آن زمان سریعترین راه حل بود. سپس یک دوجین ProMini را به قیمت 100 روبل سفارش دادم و می خواستم طرحی را به یکی از آنها منتقل کنم، اما همانطور که می دانید هیچ چیز دائمی تر از موقتی نیست و تنبلی من به من اجازه نداد این کار را انجام دهم. در خانه مجبور بودم به تخته های 100 روبلی راضی باشم ، زیرا به غیر از تعداد پین ها ، حافظه و عدم وجود مبدل USB-UART ، تفاوت زیادی با مگا نداشتند.

اما نتیجه‌گیری‌ها کم شد و یک روز، در حال سرگردانی در فضاهای باز بانگگودا، با یک Arduino DUE مواجه شدم. قیمتش نسبت به Mega2560 کمی بالاتر بود و بلافاصله خریدم. تفاوت اصلی آن با دیگر آردوین ها این است که داخل آن یک میکروکنترلر ARM 32 بیتی از معماری Cortex-M3 دارد که با فرکانس 84 مگاهرتز کار می کند.

بسته در 27 روز به دست آمد، تخته در چندین لایه بسته بندی حباب دار پیچیده شد و در یک کیسه چینی زرد معمولی بسته بندی شد.

نمای جلویی:


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

نمای پشتی:

مشخصات فنی برد (برگرفته از سایت خارج از سایت):
میکروکنترلر: AT91SAM3X8E
ولتاژ کاری: 3.3 ولت
ولتاژ ورودی (توصیه می شود): 7-12 ولت
ولتاژ ورودی (محدود): 6-20 ولت
ورودی / خروجی دیجیتال: 54 عدد (12 عدد از آنها خروجی PWM را اجرا می کنند)
ورودی های آنالوگ: 12
خروجی آنالوگ: 2 (DAC)
مجموع جریان خروجی DC در تمام ورودی / خروجی: 50 میلی آمپر
جریان DC از طریق پین 3.3 ولت: 800 میلی آمپر
جریان DC از طریق پین 5 ولت: 800 میلی آمپر
حافظه فلش: مجموعاً 512 کیلوبایت برای برنامه های سفارشی موجود است
رم: 96 کیلوبایت (دو بانک: 64 کیلوبایت و 32 کیلوبایت)
فرکانس ساعت: 84 مگاهرتز

تمام رابط های استاندارد مانند SPI، 1Wire، UART وجود دارند.
می توانید با جزئیات بیشتر بخوانید

و در اینجا خود MK بزرگتر است:

مگا 16 با کوارتز 16 مگاهرتز وظیفه برنامه نویسی آن را بر عهده دارد:

و توسط یک کوارتز خارجی ساعت می شود:


همانطور که رفیق انگریم پیشنهاد کرد، 84 مگاهرتز با ضرب 7 در 12 اصلی به دست می آید.

یک ویژگی مهم این است که برخلاف سایر بردهای آردوینو، آردوینو Due از 3.3 ولت کار می کند. حداکثر ولتاژی که I/O می تواند تحمل کند 3.3 ولت است.
در اصل، اکثر سنسورها می توانند از ولتاژ 3.3 ولت کار کنند، اما برخی از محافظ ها کار نمی کنند.
در موارد دیگر، همیشه می توانید چنین چیزهایی را خریداری کنید: روی برد 5 ولت وجود دارد.

برای نوشتن طرح ها و پر کردن آنها، باید آردوینو 1.5.8 بتا را با پشتیبانی DUE دانلود کنید. با این حال، باید توجه داشت که همه کتابخانه های نوشته شده برای نسخه های دیگر آردوینو به خوبی با DUE کار نمی کنند. من یک کتابخانه برای کار با سنسور BMP180 دارم که با مگا خوب کار می کرد، داده های غیر واقعی را ارائه می داد، مجبور شدم یک کتابخانه را از Adafruit دانلود کنم. من همچنین متوجه شدم که MC همیشه بعد از روشن شدن برق شروع به اجرای برنامه نمی کند، گاهی اوقات باید Reset را فشار دهید. این اشکال مربوط به چه کسی است، نسخه بتا IDE یا برد چینی، من نمی دانم.

تست ها

ابتدا، برای تأیید، طرحی را آپلود کردم که سنسور BMP180 را نظرسنجی می‌کند و داده‌ها را از آن (فشار و دما) روی یک درایو فلش USB می‌نویسد.


همه چیز کار کرد، با این حال، همانطور که در بالا نوشتم، مجبور شدم از کتابخانه Adafruit استفاده کنم.

نتیجه

و البته، چگونه می توانید از DAC داخلی استفاده نکنید!
برای این کار مثال SimpleAudioPlayer را پر کنید، فلش USB را با فایل test.waw که با waw پر شده است وصل کنید و پایه DAC0 را همراه با زمین به آمپلی فایر وصل کنید. در مورد من، تقویت کننده یک بلندگوی قابل حمل بود که برای تبلیغ از Pringles به دست آمده بود. من به سادگی نتایج را با دو مقاومت 10 کیلو اهم به جک گره زدم. در یک خط مستقیم، بلندگو به شدت بارگذاری شده بود.

از موسیقی بلندگو لذت ببرید!


صدا البته خیلی خوب است، همه همان 12 بیت خود را احساس می کنند، اما برای آردوینا حتی بد نیست!
اکنون قصد داریم یک صفحه نمایش رنگی بخریم و ویدیو را روی آن اجرا کنیم.

خوب، در نتیجه، مزایا و معایب این آردوینا را در نظر بگیرید
طرفداران:
- کم هزینه
- کنترل کننده 32 بیت و فرکانس 84 مگاهرتز.
- در دسترس بودن DAC 12 بیتی 1Msps
- ADC 12 بیتی
- USB بومی

معایب:
- ولتاژ کاری 3.3 ولت (ناسازگاری با برخی از سپرها / دستگاه ها)
- ناسازگاری با برخی از کتابخانه ها.
- گاهی اوقات پس از روشن شدن پاور، باید Reset را فشار دهید تا برنامه شروع شود

در کل خوشم اومد شاید در آینده چند تا جابز دیگه بیرون بیاد اگه بهتون خبر بدم.

از توجه همه شما متشکرم!

من قصد دارم +59 بخرم افزودن به علاقه مندی ها من نقد را دوست داشتم +51 +107

برای اتصال Arduino Due به رایانه خود به یک کابل USB Micro-B نیاز دارید. یک کابل USB هم برای منبع تغذیه و هم برای سیستم عامل دستگاه مورد نیاز است.

یک سر کابل micro-USB را به کانکتور برنامه نویسی Arduino Due (که در نزدیکی کانکتور برق قرار دارد) وصل کنید. برای فلش یک طرح، در محیط برنامه نویسی Arduino IDE، مورد Arduino Due (پورت برنامه ریزی) را از منوی Tools> Board و پورت سریال مناسب را از منوی Tools> Serial Port انتخاب کنید.

تفاوت های اصلی با بردهای مبتنی بر میکروکنترلرهای ATMEGA

به طور کلی اصول برنامه نویسی و کار با آردوینو Due مانند سایر مدل های آردوینو است. با این حال، چند تفاوت کلیدی بین Due و سایر تابلوها وجود دارد.

PCB Due مشابه مدل آردوینو مگا 2560 است.

ولتاژ

میکروکنترلر در آردوینو Due از ولتاژ 3.3 ولت کار می کند که مستلزم محدودیت هایی است. به ویژه، ولتاژ مورد استفاده برای تغذیه سنسورهای متصل یا کنترل محرک ها نیز نمی تواند از 3.3 ولت تجاوز کند. اگر ولتاژ بالاتری اعمال شود (به عنوان مثال، 5 ولت، که برای اکثر بردهای آردوینو معمول است)، Arduino Due از کار می افتد.

دستگاه را می توان از USB یا از کانکتور برق تغذیه کرد. در حالت دوم، ولتاژ تغذیه باید در محدوده 7 ولت تا 12 ولت باشد.

Arduino Due دارای یک تنظیم کننده ولتاژ سوئیچینگ با کارایی بالا است که الزامات دستگاه های میزبان USB را برآورده می کند. به لطف این، آردوینو می تواند به عنوان منبع تغذیه برای هر ابزار USB که می تواند به یک پورت USB استاندارد متصل شود، که به عنوان میزبان عمل می کند، خدمت کند. آردوینو تنها زمانی می تواند به عنوان یک هاست USB عمل کند که از منبع خارجی تغذیه شود.

پورت های سریال در آردوینو Due

Arduino Due دارای دو پورت USB است. پورت USB بومی (در شکل مشخص شده است بومی) مستقیماً به پردازنده SAM3X متصل می شود و از ارتباط سریال CDC از طریق شی پشتیبانی می کند SerialUSB... دومین پورت USB پورت برنامه نویسی است (در شکل نشان داده شده است برنامه نويسيبندر). به کنترلر ATMEL 16U2 متصل می شود که به عنوان مبدل USB-UART عمل می کند. به طور پیش فرض، پورت برنامه نویسی برای دانلود برنامه ها و تعامل با آردوینو استفاده می شود.

مبدل USB-UART برای برنامه نویسی به اولین UART کنترلر SAM3X متصل می شود. بنابراین، می‌توانید از طریق شی «Serial» با این پورت تعامل برنامه‌نویسی کنید.

پورت USB استوک مستقیماً به پین ​​های کنترلر SAM3X متصل می شود که وظیفه میزبان USB را بر عهده دارند. پورت USB استاندارد به شما امکان می دهد از Arduino Due هم به عنوان یک دستگاه جانبی خارجی (به عنوان مثال، یک ماوس یا صفحه کلید USB) و هم به عنوان یک میزبان USB استفاده کنید که می توانید دستگاه های مختلفی را به آن متصل کنید (مانند ماوس، صفحه کلید یا تلفن هوشمند اندرویدی، مثلا). و با کمک شی "SerialUSB" که در زبان برنامه نویسی آردوینو توضیح داده شده است، می توان از همان پورت به عنوان یک پورت سریال مجازی استفاده کرد.

تنظیم مجدد خودکار (نرم افزار).

تفاوت میکروکنترلر SAM3X با میکروکنترلرهای AVR این است که قبل از فلش مموری فلش، ابتدا باید محتویات آن پاک شود. برای انجام این کار به صورت دستی، باید دکمه پاکسازی حافظه را برای حدود یک ثانیه نگه دارید، دکمه Upload را در محیط آردوینو فشار دهید و سپس دکمه ریست را فشار دهید.

برای اینکه این روش هر بار تکرار نشود، خودکار بود و می‌توان آن را هم از طریق پورت استاندارد و هم از طریق پورت برنامه‌نویسی به صورت برنامه‌نویسی انجام داد:

پورت استاندارد

روال پاک کردن نرم افزار (به اصطلاح "soft-erase") زمانی که پورتی را که با سرعت 1200 bps باز است را ببندید به طور خودکار فعال می شود. این کار حافظه فلش کنترلر را پاک می کند، دستگاه را ریست می کند و بوت لودر را راه اندازی می کند. اگر به هر دلیلی، در طول این فرآیند، پردازنده از کار بیفتد، به احتمال زیاد پاک کردن نرم اتفاق نمی افتد، زیرا این روش به صورت برنامه ریزی شده توسط خود کنترلر انجام می شود.

باز و بسته کردن پورت استاندارد در سرعت های غیر از 1200 باود، کنترلر SAM3X را راه اندازی مجدد نمی کند. به منظور استفاده از برنامه Serial Monitor برای نظارت بر داده های ارسال شده توسط طرح خود، باید چند خط کد را به بلوک برنامه setup () اضافه کنید. چنین قطعه ای کنترلر SAM3X را مجبور می کند تا قبل از اجرای برنامه اصلی منتظر باز شدن پورت SerialUSB باشد:

در حالی که (! سریال);

با فشار دادن دکمه ریست در آردوینو Due نه تنها SAM3X راه اندازی مجدد می شود، بلکه اتصال USB را نیز ریست می کند. اگر برنامه Serial Monitor باز است، پس از قطع شدن اتصال، باید آن را ببندید و دوباره باز کنید تا جلسه ارتباط برقرار شود.

پورت برنامه نویسی

پورت USB برای برنامه نویسی با مبدل آردوینو USB-UART تعامل دارد که به نوبه خود به اولین UART میکروکنترلر SAM3X (یعنی به پایه های RX0 و TX0) متصل می شود. علاوه بر این، ریزمدار مبدل USB-UART همچنین پین های Reset و Erase میکروکنترلر اصلی را کنترل می کند. هنگامی که پورت سریال باز می شود، مبدل USB-UART، قبل از تبادل داده با UART کنترلر، یک سطح سیگنال فعال روی پین های Erase و Reset تشکیل می دهد که حافظه SAM3X را پاک می کند. این روش در هنگام استفاده از پورت USB استاندارد نسبت به "تمیز کردن نرم افزار" قابل اعتمادتر است و حتی در صورت یخ زدن پردازنده نیز کار می کند.

برای تعامل برنامه نویسی با این پورت در محیط توسعه آردوینو، از شی "Serial" استفاده کنید. کار با پورت USB به طور مشابه در Arduino Uno ساختار یافته است، بنابراین تمام برنامه های نوشته شده برای Uno روی Due نیز کار می کنند. علاوه بر این، درگاه برنامه نویسی Arduino Due مانند پورت سریال Uno عمل می کند، به این صورت که مبدل USB به UART به عنوان بخشی از دستگاه، هر بار که پورت سریال باز می شود، کنترل کننده میزبان را بازنشانی می کند.

فشار دادن دکمه تنظیم مجدد هنگام استفاده از درگاه برنامه نویسی، اتصال USB به رایانه را قطع نمی کند، زیرا فقط کنترل کننده اصلی SAM3X تنظیم مجدد می شود.

میزبان USB

Arduino Due می تواند به عنوان یک میزبان USB برای تجهیزات جانبی متصل به پورت SerialUSB عمل کند. برای اطلاعات بیشتر و نمونه کد، به راهنمای میزبان USB مراجعه کنید.

هنگامی که Due به عنوان میزبان استفاده می شود، برق دستگاه متصل را نیز تامین می کند. بنابراین، در این حالت کار، به شدت توصیه می شود که آردوینو Due را از یک منبع تغذیه خارجی تغذیه کنید.

بیت های ADC و PWM

Arduino Due توانایی تغییر عمق بیت برای خواندن و تولید مقادیر آنالوگ (که به طور پیش فرض به ترتیب 10 و 8 بیت هستند) را دارد. حداکثر ظرفیت ADC و PWM 12 بیت است. برای اطلاعات بیشتر به analogWriteResolution () و analogReadResolution () مراجعه کنید.

قابلیت های پیشرفته SPI

نصب درایور برای آردوینو Due

OSX

  • نصب درایور در OSX مورد نیاز نیست. بسته به نسخه سیستم عامل نصب شده، هنگامی که دستگاه را به رایانه خود متصل می کنید، یک کادر محاوره ای ظاهر می شود که از شما می خواهد "تنظیمات شبکه" را باز کنید. بر روی "Network Preferences ..." کلیک کنید، منتظر بمانید تا پنجره ظاهر شود و روی دکمه "Apply" کلیک کنید. Arduino Due در سیستم به صورت "پیکربندی نشده" ظاهر می شود، اما به خوبی کار می کند. اکنون می توانید از تنظیمات سیستم خارج شوید.

ویندوز (تست شده روی XP و 7)


لینوکس

  • در لینوکس، اصلاً نیازی به نصب درایور نیست.

نرم افزار Arduino Due

از دید کاربر، فرآیند فلش کردن برنامه ها در آردوینو Due همانند سایر مدل های آردوینو انجام می شود. اگرچه می توان از هر پورت USB در Due برای فلش اسکچ ها استفاده کرد، اما همچنان توصیه می شود از پورت برنامه نویسی برای این منظور استفاده کنید.

برای فلش کردن برنامه از طریق پورت برنامه نویسی به صورت زیر عمل کنید:

  • با وصل کردن کابل USB به پورت برنامه نویسی آردوینو (این درگاه نزدیکتر به کانکتور برق قرار دارد) دستگاه خود را به رایانه خود وصل کنید.
  • محیط توسعه آردوینو را باز کنید.
  • از منوی "Tools"، "Serial Port" را انتخاب کنید و پورت سریال مرتبط با Arduino Due را در سیستم انتخاب کنید.
  • از منوی "Tools> Boards" "Arduino Due (پورت برنامه ریزی)" را انتخاب کنید.

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

مقالات مرتبط برتر