AVR
نحوه برنامه ریزی میکروکنترلر خانواده آرم (ARM) به شماره STM32F103C8 (مینی هدر برد) به کمک آردوینو (Arduino)
/stm32f103c8برخلاف برد شناخته شده آردوینو UNO، ماژول Blue Pin مبتنی بر میکروکنترلر آرم STM32F103C8 یک برد توسعه میکروکنترلر 32 بیتی آرم Cortex-M3 با کارایی بالا است که در حداکثر فرکانس کاری 72 مگاهرتز کار می کند. همانطور که میدانید برد Arduino UNO در پروژههای پیچیدهتر محدودیتهایی دارد زیرا پینهای ورودی/خروجی محدود، ADC با وضوح پایین، سرعت پایینتر PWM و پینهای اینتراپت کمتری دارد. با استفاده از این برد Blue Pin می توان بر این محدودیت ها غلبه کرد. این ماژول دارای پایه های ورودی/خروجی بیشتر، ADC های 12 بیتی، پایه های اینتراپت خارجی بیشتر، سرعت PWM بالاتر و بسیاری ویژگی های دیگر است. برد Blue Pill دارای بیش از یک پورت I2C، UART و SPI است که به برقراری ارتباط با سایر دستگاه ها بسیار سریعتر از برد Arduino UNO کمک می کند. دارای تعداد زیادی پین ورودی/خروجی است که اتصال سنسورها، ماژولها و سایر قطعات الکترونیکی بیشتری را به برد آسانتر میکند. برای برنامه ریزی برد Blue Pill از نرم افزار Arduino IDE می توانیم استفاده کنیم و از همان مجموعه دستورالعمل های برنامه نویسی برد Arduino UNO استفاده کنیم.
تشخیص دهنده سطح آب(Water Level Indicator) به کمک آردوینو (َArduino)، سنسور آلتراسونیک(Ultrasonic) با شماره HC-SR04 و ماژول RF به نام RF433
/post-199نشانگر سطح آب با استفاده از آردوینونشانگر سطح آب بی سیم با استفاده از سنسور آلتراسونیک و آردوینو یک پروژه شگفت انگیز و بسیار مفید است. هدف از این پروژه اطلاع رسانی به کاربر از میزان آبی موجود در مخزن آب است. این پروژه را می توان برای کنترل سطح آب در مخزن با روشن کردن یک پمپ، زمانی که سطح آب کم است، و خاموش کردن آن در زمانی که سطح آب بالا است، ارتقا داد. بنابراین، نشانگر سطح آب آردوینو به جلوگیری از هدر رفتن آب در مخزن کمک می کند. این پروژه بی سیم است، بنابراین نصب آن آسان است و می تواند تا 100 متر کار کند.در این پروژه از دو مدار استفاده می شود: مدار فرستنده و مدار گیرنده. مدار فرستنده از حسگر اولتراسونیک برای اندازه گیری سطح آب از نظر فاصله استفاده می کند. این داده ها با استفاده از ارتباط RF به مدار گیرنده ارسال می شود. سطح آب بر حسب درصد در یک نمایشگر LCD 16×2 که به مدار گیرنده متصل است نشان داده شده است.
چگونگی قرار دادن بوت لودر در یک ATMEGA328 ، ATMEGA8، ATtiny85 خام و جدید توسط ماژول آردوینو
/post-198در این آموزش، نحوه آپلود بوت لودر را در آی سی ATmega328P تازه خریداری شده و آپلود کد در ATmega328P، ATtiny85 و ATmega8 با استفاده از برد Arduino UNO یاد خواهید گرفت.در برخی از پروژه های آردوینو، ممکن است بخواهید به جای استفاده از کل برد UNO آردوینو، فقط از IC میکروکنترلر (ATmega328P) استفاده کنید. در این صورت یا می توانید آی سی ATmega328P را از برد آردوینو UNO جدا کرده و با مدار حداقلی از آن استفاده کنید یا می توانید یک آی سی جدید ATmega328P خریداری کنید و کد را در آن آپلود کنید و در پروژه خود استفاده کنید.برخی از پروژه های آردوینو به میکروکنترلر قدرتمندی مانند ATmega328P نیاز ندارند، بنابراین، می توان به جای استفاده از برد Arduino UNO یا IC ATmega328P از ATtiny85 استفاده کنید. در این آموزش تمام این موارد را یاد خواهید گرفت.
استفاده از کتابخانه ها برای تنظیم تایمرها در آردوینو یونو (ARDUINO UNO)
/post-197همانطور که در مقاله قبلی دیدیم تنظیمات عملکرد زمان سنجی/شمارش می توانست بر اساس تنظیمات رجیسترهای مرتبط با میکروکنترلر اختصاصی ماژول آردوینو انجام پذیرد. روش دیگر برای کنترل ماژول های تایمر استفاده از کتابخانه های تایمر می باشد. یکی از این کتابخانه ها، کتابخانه Arduino-timer است. در اینجا به این موضوع خواهیم پرداخت، و در مورد نحوه نصب و استفاده از کتابخانه arduino-timer بحث خواهیم کرد. استفاده از آن می تواند بسیار ساده تر از آنچه قبلاً در آموزش وقفه های تایمر آردوینو انجام دادیم باشد.
برنامه نویسی تایمرها (Timer) در ارتباط با زمان سنجی و تولید PWM در آردوینو (Arduino)
/post-196تایمرهای سخت افزاری آردوینوArduino UNO (Atemga328p) دارای 3 تایمر سخت افزاری است که عبارتند از:تایمر 0: تایمر 8 بیتیتایمر 1: تایمر 16 بیتیتایمر 2: تایمر 8 بیتیاین ماژولهای تایمر برای تولید سیگنالهای خروجی PWM و ارائه قابلیتهای زمانبندی و تاخیر در آردوینو استفاده میشوند، و همچنین میتوانیم از آنها برای دستیابی به عملکرد زمانی مورد نظر استفاده کنیم.هر تایمر سخت افزاری، یک رجیستر شمارنده دیجیتال در هسته خود دارد که بر اساس کلاک پالس ورودی شمارش می شود. اگر کلاک پالس از یک منبع داخلی با فرکانس ثابت تغذیه می شود، گفته می شود که در حالت تایمر کار می کند. اما اگر کلاک پالس به صورت خارجی از یک IO یا هر منبع ناهمگام تغذیه شود، گفته می شود که به عنوان شمارنده کار می کند که پالس های دریافتی را می شمارد.
آموزش رابط کاربری LCD گرافیکی 128x64 (GLCD) با آردوینو (Arduino)
/post-195در این مقاله، به شما نشان خواهیم داد که چگونه یک LCD گرافیکی 128X64 را با آردوینو یونو Arduino UNO متصل کنید. ماژول LCD خاص مد نظر ما مبتنی بر کنترلر ST7920 است. بنابراین، ابتدا کمی در مورد ماژول LCD گرافیکی و کنترلر آن صحبت خواهیم کرد. ماژول های ال سی دی مختلفی با کنترلرهای اختصاصی در بازار یافت می شوند از جمله ماژول ST7920، ماژول نوکیا 5110 ، KS0108 و غیره. بطور مثال مشکل ماژول ال سی دی نوکیا 5110 رزولوشن پایین آن است بطوریکه دارای رزولوشن 48x48 پیکسلی بوده و به دلیل اندازه کوچک آن، منوی حاصل به 3 یا 4 مورد در هر صفحه محدود می شود. همچنین در خصوص ماژول مرسوم در بازار به نام KS0108 ف این کنترلر دارای رزولوشن 128x64 بوده و دارای دو کنترلر مجزا برای پیکسل های 0 تا 64 و 64 تا 128 می باشد اما در اتصال این ماژول گرافیکی به آردوینو باید 8 پایه داده را علاوه بر پایه های کنترلی به کار گرفت بدان معنا که تعداد زیادی از پایه های آردوینو را اشغال خواهد کرد.
راه اندازی ال سی دی (LCD) متنی با آردوینو (Arduino)
/post-194در این مقاله قصد داریم تا به کمک ماژول آردوینو (Arduino) مدل یونو (UNO) یک ال سی دی (lcd) متنی را برنامه نویسی کنیم. همانطور که می دانیدLCD مخفف واژگان (Liquid Crystal Display) می باشد که نسبت به نور و عدم نور بر روی صفحه اش واکنش نشان می دهد. برای نوشتن کاراکترهای متنی بر روی ال سی دی به کمک ماژول آردوینو کافیست از کتابخانه LiquidCrystal.h استفاده کرده و با ایجاد یک شی از کلاس LiquidCrystal توابع مورد نیاز و متنوعی را فراخوانی کنیم.
آشنایی با ماژول آردوینو مینی (Arduino Mini)
/post-193
ماژول آردوینو مینی متشکل از میکروکنترلر AVR است که توسط Arduino.cc توسعه یافته و بر اساس میکروکنترلر Atmega328p ساخته شده است. این ماژول بسیار شبیه ماژول آردوینو UNO می باشد و فقط در سایز و نحوه پروگرامر کردن متفاوت است. سایز آن بسیار کوچک بوده و فاقد پورت USB برای پروگرام می باشد. آردوینو مینی بر خلاف آردوینو یونو که در واتاژهای 6 و 3.3 ولت با فرکانس 16مگاهرتز کار می کند، در واتاژ 5 ولت با فرکانس 16 مگاهرتز و در ولتاژ 3.3 ولت در فرکانس 8مگاهرتز کار می کند.
بردهای آردوینو به طور گسترده ای در رباتیک، سیستم های یکپارچه، اتوماسیون، اینترنت اشیا (IoT) و پروژه های الکترونیک استفاده می شوند. این بردها در ابتدا برای دانشجویان و کاربران غیر فنی معرفی شدند اما امروزه بردهای آردوینو به طور گسترده در پروژه های صنعتی مورد استفاده قرار می گیرند.
چگونگی دسترسی به کد هگز HEX در نرم افزار آردوینو (Arduino)
/post-192این سوال مطرح می شود که چرا در وهله اول به فایل هگز نیاز داریم، در حالی که می توانیم کد را بدون آن آپلود کنیم؟ پاسخ به این سوال این است که موارد زیادی وجود دارد که فایل هگز مورد نیاز است. به عنوان مثال، به جای استفاده از برد آردوینو، فقط می خواهید از میکروکنترلر ATmega328، ATMEGA32، ATMEGA8 یا Attiny استفاده کنید، بنابراین ساده ترین راه این است که کد را در آردوینو بنویسید و سپس فایل هگز آن را دریافت کرده و در میکروکنترلر خود آپلود کنید، که کار را بسیار آسان می کند. مثال دیگر شبیه سازی پروتئوس است، زمانی که می خواهید برد آردوینو خود را در نرم افزار پروتئوس شبیه سازی کنید، باید فایل هگز را دریافت کنید تا بتوانید آن را در برد آردوینو خود آپلود کنید. مورد دیگر فریلنسینگ است، زمانی که شما به عنوان فریلنسر روی پروژه ای کار می کنید، موارد زیادی وجود دارد که نمی خواهید کد خود را برای مشتری ارسال کنید، در عوض می خواهید فایل هگز را برای او ارسال کنید تا او بتواند تست کند و کد را تأیید کنید، در چنین مواردی نیز کد هگز لازم است.
معرفی تراشه میکروکنترلر سری AVR به شماره ATmega128
/post-189دوستان امیدوارم حال همتون عالی باشه. در این آموزش، نگاهی به معرفی دقیق Atmega128 خواهیم داشت. Atmega128 یک میکروکنترلر AVR 64 پایه ای با پردازشگر هشت بیتی است که توسط Atmel (طراح و سازنده مواد نیمه هادی های مختلف) ساخته شده است. این میکروکنترلر بر اساس معماری RISC مخفف (Reduced Instruction Set Computing) طراحی شده است که از 133 دستورالعمل قدرتمند تشکیل شده و دستورات عمدتاً در یک سیکل اجرا می شوند...