رفتن به نوشته‌ها

دسته: آردوینو

آردوینو

فیوز بیت های AVR

☑️‍ آشنایی با فیوزبیت ها:

🔶فیوزبیتهای CKSEL0، CKSEL1 ، CKSEL2 ، CKSEL3:
این فیوز بیتها منبع کلاک سیستم را تعیین می کنند. در واقع نوع کلاک سیستم مطابق جدول(فیوز بیت های mega16 ) تعیین می شود.

🔷فیوزبیت های SUT0 ، SUT1 :
این فیوز بیت ها سرعت ریست میکروکنترلر را مشخص می کنند. که طبق جدول برنامه ریزی می شوند.

🔶فیوز بیت های BODEN و BODLEVEL:
فیوز بیتBODEN قابلیت Detection Brown –out آی سی را فعال می کند. این قابلیت بدین صورت است که اگر ولتاژ تغذیه آی سی از حدی پایین تر آید، میکروReset می شود. این ولتاژاز طریق فیوز بیت BODLEVEL تعیین می شود

🔷فیوز بیت BOOTRST :
این فیوز بیت در صورت برنامه ریزی شدن آدرس بردار Reset را به ابتدای حافظه Boot انتقال می دهد.

🔶فیوز بیت های BOOTSZ0 و BOOTSZ1:
این فیوز بیتها برای تعیین اندازه و مکان شروع حافظه Boot بکار می روند که طبق جدول زیر تعیین می شود.

تابع millis در آردینو

unsigned long time;

time = millis();

زمان را بر حسب میلی ثانیه بر میگرداند و حدودا هر ۵۰ ( ۴۹.۷۱ ) روز سر ریز می شود. به عبارت دقیق تر  هر  ۲ به توان ۳۲ میلی ثانیه سر ریز می شود:

۲^۳۲ = ۴۲۹۴۹۶۷۲۹۶  [ms]  -> 1- 4294967296

=>  ۰-۴۲۹۴۹۶۷۲۹۵ [ms]

*تابع millis مقدار بازگشتی را درون متغییر time که از نوع unsigned long هست میریزد. چنانچه time از نوع int تعریف شود با خطا مواجه می شوید.

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

طرح مسئله: کلید ۳ ثانیه بایستی فشرده شود تا وارد منو شویم؛ شرط ها و سایر دستورات دلخواه را به جای a++ می نویسیم.   int pin = A5,a=0; bool key=true; int duration=2500; // [ms] unsigned long Time_Low=0; void setup() { Serial.begin(9600); pinMode(pin, INPUT_PULLUP); } void loop() { if (digitalRead(A5)==LOW ) { if (key==true) {Time_Low = millis(); key=false;} } if (digitalRead(A5)==HIGH && key==false ) { if ( (millis()-Time_Low) > duration)      {       a++;       Time_Low=0;      } key=true; } Serial.print(“Key: “); Serial.println(key); //prints time since program started Serial.print(“a: “); Serial.println(a); //prints time since program started }

تابع pulseIn() در آردوینو

https://www.arduino.cc/reference/en/language/functions/advanced-io/pulsein/

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

دستور پرینت در سریال مانیتور اردوینو

کد

Serial.print(“duration”);
Serial.print(duration);
Serial.print(“duration3”);
Serial.print(duration3);

خروجی

duration0duration30duration0duration30duration0duration30duration0duration30duration0duration30duration0duration30duration0duration30duration0duration30duration0duration30

راه اندازی سنسور رطوبت سنج HS1101

HS1101 یک سنسور رطوبت خازنی می باشدکه بر اساس ظرفیت متغیر خازن عمل می کند.به این صورت که با تغییر رطوبت در محیط،ظرفیت خازن موجود در این سنسور تغییر کرده و رطوبت مورد نظر از این طریق قابل اندازه گیری است.این نوع از سنسور های رطوبت در کاربردهای مختلفی مانند اتوماسیون ادارات،کنترل هوای داخل کابین خودرو،لوازم خانگی و سیستم های کنترل صنعتی استفاده می شود. HS1101برای راه اندازی این سنسور باید از یک آی سی ۵۵۵ استفاده کرد. با استفاده از آی سی ۵۵۵ یک نوسان ساز می سازیم . با تغییر میزان رطوبت ،میزان خازن سنسور هم تغییر می…

راه اندازی LCD کاراکتری توسط اردینو

برای اتصال یه LCD کاراکتری به آردوینو به ۶ تا پین دیجیتال نیاز هست که باید همشون هم به صورت خروجی تعریف بشن. در جدول زیر شماره پایه های متصل رو میتونید ببینید:

نام پین مربوط به LCD

 شماره پایه مربوط به LCD  شماره پایه متصل شده به پین آردوینو
RS 4 6
E 6 7
D4 11 8
D5 12 9
D6 13 10
D7 14 11

include <liquidCrystal.h>

LiquidCrystal lcd(11, 10, 9, 8, 7, 6);

void setup(void) {
lcd.begin(16, 2);
lcd.clear();

…….}

void loop(void) {

lcd.setCursor(0, 1);

// lcd.setCursor( soton 0 , satr 1); // ستون۱ – سطر ۲
lcd.print(temp);

lcd.print("hello, world!");

….

}

راه اندازی ماژول درایور L298 با استفاده از آردینو

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

راه اندازی سنسور تعقیب خط با اردینو

سنسورهای نوری بر اساس انتشار پرتو نور (مرئی یا مادون قرمز) از یک فرستنده و دریافت نور توسط گیرنده نور کار می‌کنند. نوع انعکاسی سنسورهای نوری براساس برخورد نور به یک هدف و انعکاس آن به گیرنده عمل کرده و نوع دیگر این سنسورها براساس تابش مستقیم از یک گیرنده به فرستنده که در سوی مقابل قرار گرفته است عمل می‌کنند.