آموزش آردوینوآموزش الکترونیک

آموزش کامل برنامه نویسی آردوینو با پایتون Arduino – Python

سلام. آموزش کامل برنامه نویسی آردوینو با پایتون Arduino – Python را آماده کردیم.

آموزش ارتباط Arduino با Python

آردوینو همیشه در حال توسعه سخت افزاری و نرم افزاری برای یادگیری آسان تر بوده است. پایتون یکی از زبان های برنامه نویسی شیئ گرا با معانی پویا است که برای توسعه سریع برنامه مفید است. با ترکیب قدرت آردوینو و پایتون امکانات بسیاری فراهم خواهد شد زیرا پایتون با ارتباط با سایر پلتفرم ها مثل متلب ، OpenCV و … امکانات بهره وری بیشتری را فراهم میکند. ما در این آموزش چگونگی استفاده از پایتون برای کنترل یک ال ای دی روی برد آردوینو را خواهیم آموخت.

در این آموزش یاد خواهیم گرفت :

  1. نصب پایتون روی کامپیوتر
  2. نصب PySerial در پایتون
  3. برنامه نویسی آردوینو برای ارتباط Arduino و Python
  4. برنامه نویسی پایتون برای ارتباط Arduino و Python
  5. پروژه کنترل ال ای دی با پایتون و آردوینو

1. آموزش کامل نصب پایتون روی کامپیوتر

بدیهی است اولین قدم در این آموزش نصب پایتون بر روی رایانه ما است. مراحل ذکر شده در زیر فقط برای کاربران ویندوز که دارای سیستم عامل 32 بیتی یا 64 بیتی هستند قابل استفاده است. روش نصب MAC و Linux متفاوت است.

مرحله 1: ابتدا باید نرم افزار پایتون را از این لینک دانلود کنید. نسخه 32 بیتی دانلود میشود. توجه داشته باشید نسخه 32 میتوانید روی سیستم عامل های 64 بیتی نیز نصب شود. و دلیل استفاده از این نسخه خاص این است که از کتابخانه های آردوینو پشتیبانی میکند. لطفا پایتون را بروزرسانی نکنید و نسخه های دیگر را دانلود نکنید زیرا از Library های Arduino پشتیبانی نمیکنند.

مرحله 2: پرونده بارگیری شده را باز کرده و فقط روی Next کلیک کنید. پایتون به طور پیشفرض در آدرس C: \ Python27 نصب میشود. مکان نصب را نیز تغییر ندهید.

در حین نصب پایتون ممکن است از آنتی ویروس خود هشدار دریافت کنید (ممکن است !). در صورت دریافت هشدار روی Allow کلیک کنید.

حالا پایتون با موفقیت روی لپ تاپ / کامپیوتر ما نصب شده است. شما میتوانید عبارت Python IDLE را سرچ کنید تا مطمئن شوید که نصب موفقیت آمیز بوده است یا خیر.

نصب پایتون روی کامپیوتر

در تصویر بالا روی گزینه دوم که نوشته شده است “Python IDLE” کلیک کنید و نرم افزار را باز کنید. با صفحه زیر مواجه میشوید که به آن پایتون شل (پوسته پایتون = Python Shell) گفته میشود.

آموزش کامل نصب پایتون روی لپ تاپ

شما می توانید مستقیماً از اینجا کدنویسی را شروع کنید و خروجی را در همان صفحه دریافت کنید یا یک فایل جدید ایجاد کنید و برنامه را در آنجا بنویسید و برنامه را verify کنید.

حالا بگذارید بررسی کنیم که Python به درستی کار میکند یا خیر. برای انجام تست ، کافی است

"Print (1 + 1)" 

را تایپ کرده و Enter را فشار دهید. مطابق شکل زیر باید نتیجه را مشاهده کنید.

تست عملکرد نرم افزار پایتون

اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید.

2. آموزش نصب PySerial در پایتون

مرحله بعدی نصب pyserial است. PySerial یک ماژول API Python است که برای خواندن و نوشتن داده های سریال برای  Arduino یا هر میکروکنترلر دیگر استفاده می شود.

برای بارگیری PySerial روی این لینک کلیک کنید. فایل بارگیری شده یک پرونده exe خواهد بود که می تواند مستقیماً نصب شود. در حین نصب هیچ تنظیماتی را تغییر ندهید. آن را مکان پیشفرض نصب کنید.

حالا باید بررسی کنید که PySerial به درستی نصب شده است یا خیر. برای انجام این کار، Python Shell را باز کرده و تایپ کنید :

import serial

اگر كتابخانه با موفقیت نصب شده باشد ، همانطور كه ​​در تصویر زیر نشان داده شده است، هیچ پیام خطایی دریافت نمیكنید. در صورت بروز هرگونه خطا ، آنها را در بخش نظرات بنویسید و ما سعی خواهیم کرد تا آن را برطرف کنیم.

این آموزش فرض می کند که شما با آردوینو آشنا هستید و تجربه بارگذاری پروژه ها در آردوینو را دارید. بنابراین اجازه دهید مستقیماً وارد برنامه پایتون شویم. اگر در زمینه آردوینو تازه وارد هستید، قسمت آموزش آردوینو و پروژه آردوینو سایت را چک کنید.

همانطور که قبلاً گفته شد ، ما با استفاده از اسکریپت پایتون برد آردوینو را کنترل خواهیم کرد. بگذارید با کد آردوینو شروع کنیم.

3. برنامه نویسی آردوینو برای ارتباط Arduino و Python

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

در داخل تابع تنظیمات setup void () ، ما ارتباط سریال را با نرخ 9600 baud آغاز می کنیم و اعلام می کنیم که از LED داخلی به عنوان خروجی استفاده می کنیم و در هنگام شروع برنامه آن را خاموش می کنیم. ما همچنین از طریق Serial println پیام خوش آمدید (Hi!, I am Arduino) را به پایتون ارسال میکنیم :

void setup() {
  Serial.begin(9600); //تنظیم baudrate روی 9600
  pinMode(LED_BUILTIN, OUTPUT); //تنظیم ال ای دی داخلی یعنی پین 13 به عنوان خروجی
  digitalWrite (LED_BUILTIN, LOW); // خاموش کردن ال ای دی داخلی
  Serial.println("Hi!, I am Arduino"); // ارسال پیام سریالی
}

در داخل تابع حلقه void loop() ، داده هایی را که به صورت سریالی وارد می شوند می خوانیم و مقدار را به متغیر “data” می دهیم. اکنون بر اساس مقدار این متغیر (“data”) همانطور که در شکل زیر نشان داده شده است، LED داخلی آردوینو را روشن و خاموش میکنیم.

void loop() {
while (Serial.available()){ // هنگامی که داده های موجود هستند
  data = Serial.read(); // خواندن مقدار سریال و قرار دادن در متغیر data
}

if (data == '1') // اگر مقدار سریال 1 باشد
digitalWrite (LED_BUILTIN, HIGH); // روشن کردن ال ای دی

else if (data == '0') // اگر مقدار سریال 0 باشد
digitalWrite (LED_BUILTIN, LOW); // خاموش کردن ال ای دی
}

کد کامل آردوینو این آموزش :

int data;
void setup() { 
  Serial.begin(9600); 
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite (LED_BUILTIN, LOW);
  Serial.println("Hi!, I am Arduino");
}
void loop() {
while (Serial.available()){
  data = Serial.read();
}
if (data == '1')
digitalWrite (LED_BUILTIN, HIGH);
else if (data == '0')
digitalWrite (LED_BUILTIN, LOW);
}

4. برنامه نویسی پایتون برای ارتباط Arduino و Python

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

  1. ابتدا پایتون شل را باز کنید و روی  File -> New کلیک کنید.
  2. سپس صفحه جدیدی باز میشود که در آنجا کدنویسی را ادامه میدهیم.
  3. سپس قبل از نوشتن کد فایل را ذخیره کنید. میتوانید از کلید میانبر Ctrl+S استفاده کنید. این کار فایلی را با فرمت .py در مکان مورد نظر شما با نام مورد نظر شما ذخیره میکند.
  4. حالا میتوانید کد را بنویسید یا کد کامل را در انتهای صفحه دریافت کنید و در آن کپی کنید.

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

import serial #Serial imported for Serial communication
import time #Required to use delay functions

مرحله بعدی این است که با استفاده از کتابخانه سریال، یک شیء سریال (serial object) را پیکربندی کنید. در این برنامه شئیئ سریال خود را “ArduinoSerial” مینامیم. در این خط باید نام پورت COM را که آردوینو ما به آن متصل شده است ، ذکر کنیم و بگوییم با چه نرخ باودی کار میکند.

ArduinoSerial = serial.Serial(‘com18’,9600)

توجه: ذکر نام درست پورت COM بسیار مهم است. با استفاده از Device Manager در رایانه خود شما می توان آن را بیابید.

برای اینکار ابتدا Device Manager را باز کنید. سپس گزینه ای به نام “Ports COM & LPT” را مانند تصویر زیر پیدا میکنید. مطمئن شوید که برد آردوینو در آن قسمت شناخته شده است یا خیر.

آموزش پیدا کردن پورت COM برای ارتباط آردوینو با پایتون

توجه: نام PORT برای برد آردوینوی من به عنوان Arduino ظاهر شده است، ممکن است نام برد شما بر اساس سازنده تابلو متفاوت باشد. به طور مثال میتواند CCH450 یا چیزی شبیه به این باشد ، بنابراین در مورد نام پورت نگران نباشید.

اگر گزینه ای به نام “Ports COM & LPT” پیدا نکردید، به این معنی است که برد شما شناخته نشده است. بنابراین شما باید درایورهای صحیح را برای بورد خود نصب کنید.

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

پس از اینکه شیئ سریالی خود را پیکربندی کردید برای برقراری ارتباط باید دوثانیه برنامه را اجرا کنیم. این کار با نوشتن کد زیر انجام میشود.

time.sleep(2)

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

با خط زیر هرچیز که از آردوینو می آید خوانده میشود و در پایتون شل چاپ خواهد شد

print ArduinoSerial.readline()

همچنین می توانید مقدار را به یک متغیر اختصاص دهید و از آن برای محاسبات استفاده کنید.

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

ArduinoSerial.write('1')

اکنون ، با بازگشت به برنامه خود، در داخل while loop سطرهای زیر را مینویسیم.

var = raw_input() #get input from user
    print "you entered", var #print the input for confirmation
   
    if (var == '1'): #if the value is 1
        ArduinoSerial.write('1') #send 1
        print ("LED turned ON")
        time.sleep(1)

    if (var == '0'): #if the value is 0
        ArduinoSerial.write('0') #send 0
        print ("LED turned OFF")
        time.sleep(1)

خط var = raw_input هر مقدار را که در اسکریپت Shell تایپ شده است دریافت می کند و آن مقدار را به متغیر var اختصاص می دهد.

اگر مقدار 1 باشد ، سریال 1 را به Arduino ارسال می کند و اگر 0 باشد ، سریال 0 را برای آردوینو میفرستد.

ما مقدار 1 و  را در برنامه آردوینو تنظیم کرده ایم. شما میتوانید هرچیزی را به جای 0 و 1 قرار دهید و اعمال دلخواه خود را برای آن ها تعیین کنید.

کد کامل پایتون این آموزش :

import serial 
import time

ArduinoSerial = serial.Serial('com18',9600) 
time.sleep(2) 
print ArduinoSerial.readline() 
print ("Enter 1 to turn ON LED and 0 to turn OFF LED")

while 1: 
    var = raw_input() 
    print "you entered", var 

    if (var == '1'): 
        ArduinoSerial.write('1') 
        print ("LED turned ON")
        time.sleep(1)

    if (var == '0'): 
        ArduinoSerial.write('0') 
        print ("LED turned OFF")
        time.sleep(1)

پس از قرار دادن این برنامه در پایتون، صفحه را مانند تصویر پایین مشاهده خواهید کرد.

برنامه نویسی پایتون برای ارتباط Arduino و Python

اکنون بر روی Run -> Run Module کلیک کرده یا F5 را فشار دهید که ممکن است از شما بخواهد برنامه را ذخیره کنید و سپس آن را اجرا میکند.

5. پروژه کنترل ال ای دی با پایتون و آردوینو

کار این پروژه بسیار آسان است. برنامه را در Arduino خود بارگذاری کرده و مطمئن شوید که به همان درگاه COM که در برنامه پایتون گفته شد، وصل شده است. سپس برنامه Python را همانطور که در بالا ذکر شد راه اندازی کنید.

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

پروژه کنترل ال ای دی با پایتون و آردوینو

همانطور که می بینید عبارت “Hi!, I am Arduino” که در برنامه Arduino وارد شده توسط پایتون دریافت شده و در پنجره شل آن نمایش داده می شود.

هنگامی که پنجره شل از شما می خواهد مقادیر را وارد کنید، می توانیم 0 یا 1 را وارد کنیم. اگر 1 را وارد کنید ال ای دی را در برد Arduino روشن می کنیم و اگر 0 را بفرستیم LED را در برد آردوینو خاموش می کنیم.

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

نظرتان را در مورد این مطلب با ستاره دادن اعلام کنید امیدوارم این مطلب برای شما مفید بوده باشد. نظرات ، مشکلات و پیشنهادات خود را در پایین صفحه اعلام کنید

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید)

5 نظر

  1. سلام
    دستتون درد نکنه که این مطلب مفید که گزاشتین
    من یه مشکل توی قسمت 2 داشتم ،وقتی import serial رو تایپ میکنم و enter میزنم
    Traceback (most recent call last):
    File “”, line 1, in
    import serial
    ImportError: No module named serial
    اینو نمایش میده .
    PySerial نصب کردم و همونطور که گفتین به تنظیمات نصب هم دست نزدم
    از پایتون 2.7.9 هم استفاده میکنم

    ممنون میشم راهنماییم کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا