معرفی و راه‌اندازی ماژول کی‌پد فلت و جوی‌استیک با آردوینو

سه شنبه, 21 آذر 1396 14:29
این مورد را ارزیابی کنید
(11 رای‌ها)
  automee  
این مطلب متعلق به وبسایت اتومی است.
منبع

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

 

قطعات موردنیاز:

 

برد آردوینو Uno و کابل USB

1 عدد
کی‌پد فلت 4 × 4 1 عدد
ماژول جوی‌استیک 1 عدد
سروو موتور 2 عدد
مقاومت 10kΩ 1 عدد
سیم جامپر 1 بسته
بردبورد 1 عدد

 


معرفی کی‌پد

انواع مختلفی کی‌پد یا صفحه کلید وجود دارد که طرز کار همه آنها یکسان است. کی‌پدها به صورت ماتریس‌های ٣×٣، ٣×٤، ٤×٤، ٥×٥ و… وجود دارد.


ماژول کی‌پد

هر کدام از کلیدهای کی‌پد مانند یک سوئیچ عمل کرده و از این طریق امکان تشخیص کلید فشرده شده توسط آردوینو ممکن می‌شود. در کی‌پد از یک تکنیک ساده و جالب استفاده شده است. هر کدام از کلیدها یک سوئیچ هستند که در حالت عادی قطع‌اند. یک سر هر سوئیچ در هر سطر به هم وصل است. سر دیگر سوئیچ به کلیدهای هر ستون وصل شده است. بنابراین در یک کی‌پد ٤×٤، ٤ گره برای سطرها، ٤ گره برای ستون‌ها و مجموعا ٨ گره در کی‌پد وجود دارد. این هشت گره به ٨ سیم وصل شده و از ماژول خارج شده است. اگر هر کدام از کلیدها فشرده شود، بین یک سطر و یک ستون اتصال برقرار می‌شود.


مدار داخلی کی‌پد

آردوینو برای خواندن کلید فشرده شده، ابتدا تمام ستون‌ها را High و تمام سطرها را Low می‌کند. پس از فشردن یک کلید، ستون مربوطه Low می‌شود (چون به یک سطر اتصال پیدا می‌کند) پس ستون کلید مشخص می‌شود. سپس آردوینو ستون‌ها را Low کرده و تمام سطرها را یکی یکی High می‌کند؛ سطر کلیدی که فشرده شده High خواهد شد و در نتیجه سطر و ستون کلید مورد نظر مشخص می‌شود.


راه‌اندازی کی‌پد فلت

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

دانلود کتابخانه Keypad

سیم‌های کی‌پد را به پین‌های ٢ تا ٩ دیجیتال آردوینو وصل کنید. برنامه زیر را در آردوینو بارگذاری کنید. کلیدهای مختلف کی‌پد را امتحان کرده و نتیجه را در سریال مانیتور ببینید. در صورتی که نتیجه درست نیست، تعریف پین‌ها یا کلیدها را تغییر داده و دوباره امتحان کنید.


مدار کی‌پد

/*
SanatBazar
Arduino Tutorial Series
Author: Davood Dorostkar
Website: www.sanatbazar.com

*/

#include <Keypad.h>
#define rowNumbers 4
#define columnNumbers 4
byte rowPins[rowNumbers] = {2, 3, 4, 5};
byte colPins[columnNumbers] = {6, 7, 8, 9};

char keys[rowNumbers][columnNumbers] = {
    {'1', '2', '3', 'A'},
    {'4', '5', '6', 'B'},
    {'7', '8', '9', 'C'},
    {'*', '0', '#', 'D'}};
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, rowNumbers, columnNumbers);

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  char pressedKey = keypad.getKey();
  if (pressedKey)
    Serial.println(pressedKey);
}

در این برنامه ابتدا شماره پین‌های کی‌پد و سپس کاراکتر معادل هر کلید تعریف شده است:

byte rowPins[rowNumbers] = {2, 3, 4, 5};
byte colPins[columnNumbers] = {6, 7, 8, 9};

char keys[rowNumbers][columnNumbers] = {
    {'1', '2', '3', 'A'},
    {'4', '5', '6', 'B'},
    {'7', '8', '9', 'C'},
    {'*', '0', '#', 'D'}};

پس از آن کی‌پد تعریف می‌شود. در تعریف کی‌پد باید کاراکترها، پین‌های سطرها و ستون‌ها و تعداد سطرها و ستون‌ها آورده شود:

Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, rowNumbers, columnNumbers)

در نهایت با استفاده از دستور ()getKey کلید فشرده شده خوانده می‌شود و در سریال مانیتور نمایش داده می‌شود:

void loop()
{
  char pressedKey = keypad.getKey();
  if (pressedKey)
    Serial.println(pressedKey);
}


کی‌پد با آردوینو


معرفی جوی‌استیک

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


جوی استیک

نحوه عملکرد و ساختار پتانسیومتر در قسمت چهارم آموزش آردوینو شرح داده شده است. هر کدام از دو جهت‌ جوی‌استیک به یک پتانسیومتر متصل شده است و یک سیگنال آنالوگ تولید کرده که از آنجایی که مبدل آنالوگ به دیجیتال آردوینو UNO ١٠ بیتی است، در قالب عددی بین ٠ تا ١٠٢٣ خوانده می‌شود. همچنین برای هر پتانسیومتر یک فنر قرار داده شده است تا در صورت رها کردن جوی‌استیک، به محل وسط برگردد. این باعث می‌شود تا مقدار پیش‌فرض جوی‌استیک بدون چرخاندن آن، مقدار میانگین (یعنی ٢.٥ ولت اگر که به ولتاژ ٥ ولت متصل باشد) باشد.


محورهای جوی استیک

بعضی از ماژول‌های جوی‌استیک دارای یک کلید فشاری در زیر خود هستند که معمولا با نام Switch) SW) مشخص شده است و هنگامی که جوی‌استیک را به سمت پائین فشار دهید می‌توانید این کلید را احساس کنید.


کلید جوی استیک

برای استفاده از این کلید باید آنرا به یک پین دیجیتال متصل کنید. کلید فشاری دارای دو پایه است که یکی خروجی آن و دیگری به زمین متصل شده است. بین این دو پایه یک اتصال وجود دارد که در حالت عادی باز است (Normally Open) و با فشردن کلید بسته می‌شود. واضح است که با فشردن کلید، خروجی آن به زمین متصل شده و ولتاژ آن صفر می‌شود. پس اگر خروجی کلید به پین دیجیتال متصل باشد، با فشردن کلید مقدار Low خوانده خواهد شد.


مدار داخلی جوی استیک


راه‌اندازی ماژول جوی‌استیک

برای استفاده از ماژول جوی‌استیک به همراه آردوینو باید خروجی‌های محورهای X و Y ماژول که همان اتصال‌های میانی پتانسیومترها هستند را به دو پین آنالوگ آردوینو (پین A0 و A1) وصل کنید. نامگذاری این دو پایه در ماژول‌های مختلف، متفاوت است و معمولا به صورت X و Y یا Ver و Hor (افقی و عمودی) قابل تشخیص است. پایه‌های 5V+ و GND ماژول را به 5V و GND آردوینو وصل کنید. دقت کنید که بعضی از ماژول‌های جوی‌استیک با ولتاژ 3.3V کار می‌کنند. این موضوع را می‌توانید در دفترچه راهنمای محصول پیدا کنید. اگر از ماژول 3.3V استفاده می‌کنید پایه مثبت آنرا به 3.3V آردوینو وصل کنید. اگر ماژول شما کلید فشاری دارد، باید خروجی آن را به یک پین دیجیتال آردوینو (پین ٧ دیجیتال) متصل کنید. نکته مهمی در نحوه اتصال کلید فشاری جوی‌استیک وجود دارد و و آن اصطلاحا Normally Open بودن آن است. این یعنی چه؟ همان طور که اشاره شد، سمت دیگر این کلید در خود ماژول به زمین متصل شده است. این باعث می‌شود تا زمان فشردن کلید، مقدار Low به پایه دیجیتال ارسال شود. برای اینکه باز و بسته بودن این کلید قابل تشخیص باشد، از یک مقاومت Pullup استفاده کنید؛ یعنی خروجی کلید را با یک مقاومت 10kΩ به 5V وصل کنید. در این صورت در حالتی که کلید فشرده نشده باشد، مقدار High به پین دیجیتال ارسال می‌شود و دو حالت کلید برای آردوینو قابل تفکیک می‌شود (حالت عادی مقدار High و حالت فشرده مقدار Low را دریافت می‌کند).


مدار جوی اسیتک

از آنجا که ورودی محورهای جوی‌استیک عددی بین ٠ تا ١٠٢٣ است، با استفاده از دستور ()map که قبلا توضیح داده شده است، استفاده کنید تا مقدار آنالوگ را به عددی بین ٠ تا ١٨٠ تبدیل کنید. البته این کار الزامی نیست و صرفا جهت ملموس‌تر شدن نحوه حرکت جوی‌استیک است. مورد مهم دیگری که در این برنامه استفاده شده است نفی منطقی یا Logical Not است. این کار در آردوینو (و البته در ++C/C) با عملگر ! انجام می‌شود. این عملگر بر روی متغیرهایی بولین (Boolean) عمل کرده و مقدار True را به False و برعکس تغییر می‌دهد. متغیر بولین، متغیری است که یکی از دو حالت ممکن (True یا False) را می‌پذیرد. این عملگر بر روی متغیرهای دیجیتال نیز عمل کرده و High را به Low و برعکس تبدیل می‌کند. از این عملگر در حلقه‌های شرطی نیز استفاده می‌شود. علت استفاده از ! در اینجا این است که مقدار پیش‌فرض پایه دیجیتال متصل به کلید جوی‌استیک High و مقدار آن پس از فشرده شدن، Low است. با این تبدیل، مقدار پیش‌فرض کلید Low و پس از فشرده شدن، مقدار High به LED ارسال می‌شود. پین ١٣ دیجیتال آردوینو UNO که دارای LED است برای خروجی این دستور در نظر گرفته شده است؛ بنابراین با فشردن کلید جوی‌استیک، LED پین ١٣ روشن خواهد شد. علاوه بر آن مقدار جابجایی محورهای X و Y جوی‌استیک نیز در سریال مانیتور نمایش دهید. با توجه به مطالب گفته شده، سعی کنید خودتان برنامه‌ای بنویسید که مقادیر خوانده شده از جوی‌استیک را در سریال مانیتور نمایش داده و همچنین با فشار کلید آن، LED آردوینو را روشن کند. برنامه خودتان را با کد زیر مقایسه کنید.

/*
SanatBazar
Arduino Tutorial Series
Author: Davood Dorostkar
Website: www.sanatbazar.com

*/

#define XJoystick A0
#define YJoystick A1
#define pushJoystick 7 // Use 10K Pullup resistor
#define LED 13

void setup()
{
  pinMode(pushJoystick, INPUT);
  pinMode(LED, OUTPUT);
  Serial.begin(9600);
}

void loop()
{
  int AngleX = map(analogRead(XJoystick), 0, 1023, -90, 90);
  int AngleY = map(analogRead(YJoystick), 0, 1023, -90, 90);
  digitalWrite(LED, !digitalRead(pushJoystick));
  Serial.print("Angle of X is= ");
  Serial.println(AngleX);
  Serial.print("Angle of Y is= ");
  Serial.println(AngleY);
  Serial.println("");
  delay(200);
}


سریال مانیتور را باز کنید. جوی‌استیک را حرکت داده و مقدار آن را بررسی کنید. به وضعیت LED پین ١٣ هم توجه کنید.


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

یکی از کاربردهای اصلی جوی‌استیک کنترل وسایل مختلف است. به همین منظور در این قسمت به کنترل یک سروو موتور با استفاده از جوی‌استیک می‌پردازیم. در آموزش قسمت چهارم آردوینو نحوه راه‌اندازی سروو موتور توضیح داده شده است. جوی‌استیک دو محور دارد بنابراین می‌توانیم حرکت دو موتور را با آن کنترل کنیم.
سروو موتورها را به پین‌های ٥ و ٦ دیجیتال آردوینو متصل کنید. همچنین پایه‌های X و Y جوی‌استیک را به پین‌های A0 و A1 و پایه SW را به پین ٧ دیجیتال و یک سر مقاومت 10kΩ وصل کنید. سر دیگر مقاومت را به 5V وصل کنید. پین‌های مثبت و منفی سروو موتورها و جوی‌استیک را نیز به ترتیب به 5V و GND متصل کنید.


مدار جوی اسیتک با سروو موتور

برای استفاده از سروو موتورها، از کتابخانه Servo آردوینو استفاده می‌کنیم. چون می‌خواهیم دو موتور را کنترل کنیم باید دو موتور را در برنامه تعریف کنیم و در بخش setup موتورها را به پین‌های مربوطه وصل کنیم. سایر بخش‌های کد مانند حالت قبل است. برنامه زیر را در نرم‌افزار آردوینو بارگذاری کرده و اجرا کنید. جوی‌استیک را حرکت دهید و نحوه حرکت موتورها را مشاهده کنید.

/*
SanatBazar
Arduino Tutorial Series
Author: Davood Dorostkar
Website: www.sanatbazar.com

*/

#include <Servo.h>
Servo servo1;
Servo servo2;
#define servo1Pin 5
#define servo2Pin 6
#define XJoystick A0
#define YJoystick A1
#define pushJoystick 7 // Use 10K Pullup resistor
#define LED 13

void setup()
{
  servo1.attach(servo1Pin);
  servo2.attach(servo2Pin);
  pinMode(pushJoystick, INPUT);
  pinMode(LED, OUTPUT);
}

void loop()
{
  int AngleX = map(analogRead(XJoystick), 0, 1023, 0, 180);
  int AngleY = map(analogRead(YJoystick), 0, 1023, 0, 180);
  servo1.write(AngleX);
  servo2.write(AngleY);
  digitalWrite(LED, !digitalRead(pushJoystick));
}

نتیجه‌گیری

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

خواندن 14297 دفعه
داوود درستکار

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

کاربرانی که در این گفتگو شرکت کرده اند

نظرات (16)

  1. محمدرضا

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

 
  1. مهدی

سلام و خسته نباشید بابت مطالب خوبتون
اگر بخواهیم مقدار حرکت یک چرخ یا بلبرینگ را بصورت
سانتیمتر با دقت دهم میلیمتر روی یک lcd نمایش بدیم
از سروو موتور باید استفاده کنیم یا ماژول های فاصله سنج جواب گو هستند

 
  1. پشتیبانی    مهدی

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

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

ادامه مطلب
 
  1. علی پهلوانی

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

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

ادامه مطلب
 
  1. پشتیبان    علی پهلوانی

سلام دوست عزیز
اول باید مطمئن بشید که جوی استیک و آردوینتون سالم هست.
برای این کار محور x جوی استیک رو به پین A0، محور y رو به پین A1 و SW رو به پین 2 متصل کرده و کد زیر رو اجرا کنید. اگر با حرکت دادن جوی استیک تونستید در سریال مانیتور اعداد x و...

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

void setup() {
// put your setup code here, to run once:
pinMode(2,INPUT);
digitalWrite(2,HIGH);
Serial.begin(38400);
}

void loop() { // put your main code here, to run repeatedly: Serial.print("Switch: "); Serial.println(digitalRead(2)); Serial.print("X-axis: "); Serial.println(analogRead(A0)); Serial.print("Y-axis: "); Serial.println(analogRead(A1)); Serial.print("****************************"); delay(500); }

ادامه مطلب
 
  1. علی    علی پهلوانی

سلام دوست عزیز
اول باید مطمئن بشید که جوی استیک و آردوینتون سالم هست.
برای این کار محور x جوی استیک رو به پین A0، محور y رو به پین A1 و SW رو به پین 2 متصل کرده و کد زیر رو اجرا کنید. اگر با حرکت دادن جوی استیک تونستید در سریال مانیتور اعداد x و...

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

void setup() {
// put your setup code here, to run once:
pinMode(2,INPUT);
digitalWrite(2,HIGH);
Serial.begin(38400);
}

void loop() {
// put your main code here, to run repeatedly:
Serial.print("Switch: ");
Serial.println(digitalRead(2));
Serial.print("X-axis: ");
Serial.println(analogRead(A0));
Serial.print("Y-axis: ");
Serial.println(analogRead(A1));
Serial.print("****************************");
delay(500);
}

ادامه مطلب
 
  1. احمدی

سلام چگونه با keypad و arduino قفل درب بسازیم ؟؟؟؟

 
  1. پشتیبانی    احمدی

سلام دوست عزیز
می تونید کاملا مطابق با همین آموزش پیش برید و حتی اون رو با اموزش "قفل اثر انگشت با آردوینو" در همین سایت صنعت بازار و لینک زیر مخلوط کنید:
https://b2n.ir/j88017
موفق باشید

 
  1. امیر مهرانفر

درود بر شما و ممنون از آموزش‌های کاملتون.
بنده مشکلی در نوشتن اینتراپت دارم که تلاش کردم ولی نشد ممنون میشم راهنمایی کنید.
در برنامه ای میخوام در زیر برنامه ی اینتراپت خارجی مقدار متغیری که در طول برنامه تغییر میکنه را نمایش بدم اما اینتراپت...

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

ادامه مطلب
 
  1. پشتیبانی    امیر مهرانفر

سلام دوست عزیز
ممنون از نظر شما
در واقع باید کل کد شما مورد بررسی قرار بگیره. مثلا شما باید متغیرتون رو بصورت static تعریف کنید که در رم ذخیره می شه ن در stack. برای این منظور می تونید به فروم زیر مراجعه کنید و کیوردهای مشابه رو سرچ کنید چرا که...

سلام دوست عزیز
ممنون از نظر شما
در واقع باید کل کد شما مورد بررسی قرار بگیره. مثلا شما باید متغیرتون رو بصورت static تعریف کنید که در رم ذخیره می شه ن در stack. برای این منظور می تونید به فروم زیر مراجعه کنید و کیوردهای مشابه رو سرچ کنید چرا که کدهای متفاوت جواب های متفاوتی برای حل مسئله دارند.
https://bit.ly/3fiDzSW
موفق باشید

ادامه مطلب
 
  1. سبحان

با عرض سلام
میخواستم ببینم ماژول جوس استیک رو از کجا برای کتابخونه پروتیوس دانلود کنم 3 روزه دارم میگردم نیست کمک کنید

 
  1. پشتیبانی    سبحان

سلام سبحان عزیز
در پروتئوس این ماژول وجود نداشته و مواردی که من دیدم معمولا از مقاومت و کلید برای این منظور استفاده می کنند. به لینک زیر مراجعه کنید همین کار رو انجام داده.
https://bit.ly/34uQEoQ
موفق باشید

 
  1. محمد عرفان دشتی

سلام
چطور میشود که چهر سرووموتور و دو ماژول جوی استیک داشته باشیم؟
فقط با یک برد اردوینو.
متشکر میشوم که پاسخ دهید.

 
  1. پشتیبان    محمد عرفان دشتی

سلام محمد عزیز
خیلی راحت! آردوینو Uno تعداد پایه کافی برای اتصال این ابزارها داره و مشکلی نخواهید داشت. هر سروو موتور یک پایه PWM نیاز داره. همینطور هر جوی استیک دو پایه آنالوگ و یه پایه دیجیتال (اگه بخواید از کلیدش هم استفاده کیند) نیاز خواهد...

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

ادامه مطلب
 
  1. حامد

با سلام من از اردوینو mega استفاده میکنم و به pin های A4 و A5 نیاز دارم . اگه به جای این دو مورد ، lcd را به پین های انالوگ دیگری وصل کنم و در برنامه نام پین های جدید را جایگزین کنم اشکالی پیش نمی اید؟

 
  1. پشتیبان    حامد

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

 
هیچ نظری در اینجا وجود ندارد

نظر خود را اضافه کنید.

ارسال نظر بعنوان یک مهمان
پیوست ها (0 / 3)
مکان خود را به اشتراک بگذارید

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

ما را دنبال کنید:

Copyright © 2017-2018 | Sanatbazar.com