معرفی مثال های آماده ی نرم افزار
در نرم افزار آردوینو IDE، مثال های زیادی برای کار با بخش های مختلف بردهای آردوینو وجود دارد. در این آموزش به صورت مختصر با هر یک از آن ها آشنا می شوید.
1. Basics
- Analog Read Serial: مقدار یک پتانسیومتر را میخواند و آن را در پنجره سریال (Serial Monitor) نمایش میدهد.
- Bare Minimum: یک اسکچ ساده با ابتدایی ترین بخشهای کد نویسی (بخش setup و loop) ایجاد میکند.
- Blink: یک ال ای دی را به صورت چشمک زن، روشن و خاموش میکند.
- Digital Read Serial: وضعیت یک سوئیچ را میخواند و آن را در پنجره سریال نمایش میدهد.
- Fade: با استفاده از خروجی آنالوگ، روشنایی یک ال ای دی را کم و زیاد میکند.
- Read Analog Voltage: مقدار ولتاژ آنالوگ را به عنوان یک ورودی میخواند و آن را در پنجره سریال نمایش میدهد.
2. Digital
- Blink Without Delay: ساخت ال ای دی چشمک زن بدون استفاده از تابع delay()
- Button: استفاده از یک کلید فشاری برای کنترل یک ال ای دی
- Debounce: خواندن وضعیت یک سوئیچ و حذف نویز آن
- Digital Input Pullup: تعریف مقاومت بالاکش در یک ورودی با استفاده از دستور INPUT_PULLUP
- State Change Detection: شمارش تعداد دفعات فشرده شدن یک کلید
- Tone Keyboard: ساخت یک دستگاه موزیکال 3 کلیده با استفاده از سنسور نیرو و بلندگو
- Tone Melody: تولید یک موسیقی با استفاده از بلندگو پیزو
- Tone Multiple: پخش متوالی موسیقی روی چند بلندگو پیزو
- Tone Pitch Follower: تولید صدا روی بلندگو پیزو براساس مقدار ورودی آنالوگ
3. Analog
- Analog In Out Serial: مقدار ولتاژ آنالوگ را به عنوان یک ورودی می خواند، نتیجه را map می کند و از مقدار به دست آمده برای کنترل میزان روشنایی یک ال ای دی استفاده می کند.
- Analog Input: کنترل سرعت چشمک زدن یک ال ای دی با پتانسیومتر
- Analog Write Mega: تغییر میزان روشنایی 12 ال ای دی با استفاده از بردArduino Mega
- Calibration: تعریف مقدار ماکزیمم و مینیمم برای یک سنسور آنالوگ
- Fading: استفاده از پایه های خروجی آنالوگ (PWM) برای کنترل میزان روشنایی ال ای دی
- Smoothing: خواندن مقدار ورودی آنالوگ، میانگین گیری از آن و نمایش نتیجه ی محاسبات در پنجره ی سریال
4. Communication
مثال های این بخش شامل کدهایی برای ارتباط نرم افزار Processing و یا Max/MSP با نرم افزار Arduino IDE است.
- ASCIITable: امکانات پیشرفته چاپ خروجی در ارتباط سریال.
- Dimmer: کنترل روشنایی ال ای دی با استفاده از حرکت موس.
- Graph: ارسال اطلاعات از آردوینو به کامپیوتر و رسم نمودار در نرم افزار Processing.
- Midi: ارسال اطلاعات با استفاده از پروتکل MIDI.
- Multi Serial Mega: استفاده از دو پورت سریال موجود در برد Arduino Mega.
- Physical Pixe: روشن و خاموش کردن ال ای دی با استفاده از ارسال دستور از Processing یا Max/MSP
- Read ASCII String: تجزیه و تحلیل یک رشته ی شامل اعداد که با ویرگول از هم جدا شده اند، برای کنترل میزان روشنایی یک ال ای دی
- Serial Call Response: ارسال چندین متغیر با استفاده از call-and-response
- Serial Call Response ASCII: ارسال چندین متغیر با استفاده از call-and-response و انکود ASCII
- Serial Event: تشریح دستور SerialEvent()
- Serial Passthrough: اتصال تقریبی Serial و Serial1 به یکدیگر (برای بردهایی که چند رابط سریال سخت افزاری دارند)
- Virtual Color Mixer: ساخت رنگ های مختف در Processing یا Max/MSP با استفاده از دستوراتی که از طریق آردوینو به کامپیوتر ارسال می شود.
5. Control Structures
- Arrays: تشریح نحوه ی استفاده از آرایه ها
- For Loop Iteration: کنترل چند ال ای دی با استفاده از حلقه ی for
- If Statement Conditional: استفاده از جمله ی شرطی if
- Switch Case: استفاده از ساختار Switch Case برای انتخاب بین چند حالت گسسته از هم
- Switch Case 2: استفاده ی ساختار Switch Case برای انجام عملیات های مختلف باتوجه به کاراکتر دریافت شده از پورت سریال
- While Statement Conditional: مثالی از نحوه ی استفاده از عبارت شرطی while
6. Sensors
- ADXL3xx: خواندن مقادیر خروجی شتاب سنج های مدل ADXL3xx
- Knock: تشخیص ضربه با استفاده از یک المان پیزو
- Memsic2125: مثالی از راه اندازی سنسور شتاب سنج 2 محوره
- Ping: تشخیص جسم با استفاده از امواج فراصوت
7. Sensors
- Bar Graph: کنترل ال ای دی های بارگراف
- RowColumnScanning: کنترل ال ای دی ماتریسی 8*8
8. Strings
- Character Analysis: تشخیص نوع کاراکتر تایپ شده در ورودی
- String Addition Operator: جمع کردن رشته ها به روش های مختلف
- String Append Operator: استفاده از عملگر += و دستور concat() برای چسباندن رشته ها
- String Case Changes: تبدیل حروف موجود دریک رشته به حروف بزرگ یا کوچک.
- String Characters: Get/set کردن یک کاراکتر خاص در یک رشته.
- String Comparison Operators: مقایسه ی دو رشته.
- String Constructors: نحوه ی ساخت یک رشته.
- String Index Of: گشتن به دنبال یک کاراکتر خاص در رشته و مشخص کردن اندیس آن.
- String Length & String Length Trim: خواندن سایز یک رشته و بردین رشته.
- String Replace: عوض کردن کاراکتر هایی خاص از یک رشته.
- String Start With Ends With: چک کردن این موضوع که آیا رشته با کاراکتری خاص شروع / پایان یافته است یا خیر.
- String Substring: جستجو یک عبارت در رشته
- String To Int: تبدیل رشته به عدد
9. USB
این بخش شامل مثال هایی از ارتباط موس و کیبرد با آردوینو می باشد. کدها و کتابخانه های این بخش تنها مخصوص بردهای آردوینو Leonardo، Micro و Due است.
10. Starterkit & BasicKit
در این بخش مثال هایی برای کار با کیت های StarterKit و BasicKit وجود دارد.
11. Arduino ISP
با استفاده از این کد، برد آردوینو شما تبدیل به یک پروگرامر می شود و می توانید از آن برای پروگرام کردن بردهای آردوینو دیگر استفاده کنید.
Comments (4)
با سلام استاد میشه توضیح بدید که با کد های پایتون هم میتونیم یک برد رو راه بندازیم یا نه؟
باسلام. بله با پایتون هم می توانید با بردهای آردوینو کار کنید. برای راهنمایی بیشتر به این لینک مراجعه کنید.
https://realpython.com/arduino-python/
درود بر شما
ایا امکان اتصال سنسور دمای pt100/pt1000 – یا NTC10k به این ماژول هست اگر امکان پذیر هست چند کانال و چند بیت ؟
امکان اتصال به HMI صنعتی از درگاه RS485 را دارد؟
حداکثر تعداد ورودی و خروجی دیجیتال چندتا هست؟
امکان خواندن ترانسمیتر های فشار 4 تا 20 میلی امپ را دارد ؟ اگر دارد چند کانال و چند بیت ؟
اصولا امکان استفاده از این ماژول در پروژه های صنعتی کوچک هست و قابل اطمینان هست ؟
ممنون
سلام
درود بر شما . ببینید بردهای آردوینو ای که در حال حاضر در بازار ایران هستند برای کاربردی که شما میخواهید مناسب نیستند
اگرچه آردوینو بردهای توسعه صنعتی هم دارد اما قیمت های بالایی دارند.
به هر حال جهت استفاده از کانال adc نهایتا به شما رزولوشن 10 بیت میدهند و برای خواندن دیتاهای سنسور های دما مناسب هستند
همچنین برای ارتباط rs485 هم میتوانید استفاده کنید
جهت اتصال به درگاه hdmi هم میتوایند از این برد ها استفاده کنید اما نیاز به یک سری برد واسه مبدل دارید
امکان خواندن ترانسمیترها را ندارند چون برای این کارعلاوه بر واحد Adc به مدارات آنالوگ دیگری هم نیاز هست که این بردهای توسعه ندارند.
از این بردهای داخل که اکثرا چینی هستند برای کار صنعتی نمیتونید استفاده کنید.
جهت این کار از بردهای ارجینال موجود استفاده کنید