کنترل آردوینو با پایتون – کنترل LED در آردوینو به وسیله پایتون

در این پروژه، کنترل آردوینو با پایتون را یاد می‌گیریم. آردوینو را به پایتون متصل کرده و یک پروژه ساده برای کنترل آردوینو با زبان پایتون را پیاده سازی می کنیم.

استفاده از آردوینو با پایتون - کنترل LED در آردوینو به وسیله پایتون

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

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

پایتون مجموعه عظیمی از کتابخانه ها متن باز را دارد که استفاده از آن ها آسان است و همین امر باعث می شود زبان برنامه نویسی پایتون مناسب ترین زبان برای برنامه های IOT باشد.

در این پروژه خواهیم دید که چگونه پایتون  IDE را بر روی رایانه خود نصب کرده و همچنین چگونه می توانیم از زبان برنامه‌نویسی پایتون برای کنترل آردوینو استفاده کنیم.

دانلود پایتون

اولین قدم دانلود پایتون IDE از وب سایت رسمی پایتون است. مراحل نصب ذکر شده در این پروژه فقط مربوط به سیستم عامل ویندوز 7 است (ممکن است مراحل نصب شبیه به ویندوز 10 نیز باشد). مراحل نصب  پایتون در سایر سیستم عامل ها مانند مک، و لینوکس متفاوت خواهد بود.

پایتون را می توان از وب سایت رسمی پایتون دانلود کرد.قبل از دانلود پایتون IDE، باید بدانیم که دو ورژن پایتون وجود دارد: پایتون 2 و پایتون 3 که ما از ورژن ۲ استفاده می‌کنیم برای شروع ولی در پروژه‌های بعدی از ورژن ۳ که جدیدتر است استفاده خواهیم کرد.

از طرف دیگر، پایتون 2 نسخه ای از قبل به جا مانده با پشتیبانی گسترده از کتابخانه ها، و فروم های ارتباطی است. بنابراین، ما Python v2.x را دانلود خواهیم کرد (x آخرین نسخه).

در زمان اجرای این پروژه(منظور تالیف اصلی پروژه است نه زمان ترجمه) آخرین نسخه پایتون،  2.7.14 است. می توانید نسخه 32 بیتی پایتون 2.7.14 را از این لینک دانلود کنید.

https://www.python.org/downloads

نصب پایتون بر روی رایانه شما

پس از دانلود فایل نصب، با کلیک کردن بر روی آن، نصب را ادامه دهید.

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

“Install for all users” را انتخاب کنید و روی next کلیک کنید. پوشه نصب پیش فرض را که “C: \ Python27” است را تغییر ندهید و روی next کلیک کنید.

نصب پایتون

در مرحله بعد گزینه “Add python.exe to path” را در قسمت Customize Python 2.7.14 انتخاب کنید. با این کار دایرکتوری پایتون به صورت خودکار به مسیر سیستم ویندوز اضافه می شود. اگر این مرحله را رد کردید، می توانید فهرست را به صورت دستی اضافه کنید. نصب را انجام داده و به پایان برسانید.

افزودن python.exe به path

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

برای این کار، Command Prompt را در حالت Administrator اجرا کنید و فقط “python” را وارد کنید. اگر پایتون با موفقیت در رایانه شما نصب شود، پاسخی دریافت می کنید که مربوط به نسخه پایتون و نوع نسخه (نسخه 32 بیتی) نصب شده است.

اجرای python در command prompt

در این مرحله، می توانید با جستجوی «پایتون» در منوی استارت ویندوز 7، از پایتون IDE استفاده کنید. در اینجا شما گزینه IDLE (Python GUI) را دریافت خواهید کرد. IDLE مخفف Integrated Development and Learning Environment (توسعه یکپارچه و محیط یادگیری) و یک پایتون IDE مبتنی بر رابط کاربری گرافیکی(GUI) می باشد.

اجرای پایتون IDE

با انتخاب آن، Python Shell باز خواهد شد، که به شما امکان می دهد از مفسر پایتون در یک حالت تعاملی استفاده کنید، یعنی می توانید دستورات را تایپ کرده و نتایج را فوراً مشاهده کنید. به عنوان مثال، عملیات های ساده ریاضی دقیقاً به همی سادگی اجرا می شوند.

اجرای Python Shell

دریافت PySerial

برای دستیابی به پورت سریال رایانه از طریق پایتون، ما به کتابخانه ای بنام PySerial نیاز داریم. pySerial یک افزونه پورت سریال پایتون است که امکان دسترسی به پورت سریال را برای پایتون در سیستم عامل های مختلف مانند ویندوز، لینوکس، مک و غیره فراهم می کند.

در این پروژه ما از PySerial برای خواندن و نوشتن داده در آردوینو از طریق پایتون، استفاده خواهیم کرد. به منظور دانلود pySerial، از لینک پیوست شده استفاده کنید.

مطلب پیشنهادی:  تجزیه و تحلیل کدهای پروژه دیتالاگر با Arduino : بخش سوم

این لینک pySerial-3.4 (آخرین نسخه در زمان اجرای این پروژه) را در یک فایل با فرمت .tar دانلود می کند.

محتویات فایل را در هر پوشه ای مانند “C: \ pyserial-3.4” از حالت زیپ خارج(استخراج) کنید.

توجه: مکان استخراج مهم است، زیرا ما باید به این مکان برویم و pySerial را نصب کنیم.

اکنون، Command Prompt را در حالت Administrator اجرا کنید و به پوشه ای که pySerial در آن استخراج شده است بروید. (برای مثال C: \ pyserial-3.4 ).

cd  C:\pyserial-3.4

به منظور نصب pySerial، دستور زیر را در خط فرمان تایپ کنید و کلید enter را بزنید.

python setup.py install

دریافت PySerial پایتون

پس از نصب موفقیت آمیز PySerial، می توانید با وارد کردن دستور زیر در Python IDLE، بررسی کنید که آیا به پایتون الحاق(import) شده است یا خیر.

import serial

اگر همه چیز به خوبی پیش برود، شما خطایی دریافت نخواهید کرد.

الحاق به پایتون با Python IDLE

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

اکنون که پایتون و PySerial را با موفقیت نصب کرده ایم، با اتصال آردوینو به پایتون ادامه خواهیم داد. برای این کار، ما با استفاده از پایتون، می توانیم LED موجود در آردوینو را کنترل کنیم، یعنی با استفاده از زبان برنامه نویسی پایتون و IDE روی LED آردوینو مسلط می شویم.

برای این کار، ابتدا یک برنامه ساده برای آردوینو خواهیم نوشت. ایده پشت این برنامه به این صورت است که: آردوینو UNO که به رایانه متصل است، سریال داده ها را بررسی می کند و بسته به داده های دریافت شده از پورت سریال، LED را روشن یا خاموش می کند.

برنامه آردوینو برای متصل سازی آردوینو با پایتون در زیر آورده شده است.

const int led=13;
int value=0;

void setup() 
   { 
      Serial.begin(9600); 
      pinMode(led, OUTPUT);
      digitalWrite (led, LOW);
      Serial.println("Connection established...");
   }
 
void loop() 
   {
     while (Serial.available())
        {
           value = Serial.read();
        }
     
     if (value == '1')
        digitalWrite (led, HIGH);
     
     else if (value == '0')
        digitalWrite (led, LOW);
   }

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

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

import serial                                 # add Serial library for Serial communication

Arduino_Serial = serial.Serial('com12',9600)  #Create Serial port object called arduinoSerialData
print Arduino_Serial.readline()               #read the serial data and print it as line
print ("Enter 1 to ON LED and 0 to OFF LED")

while 1:                                      #infinite loop
    input_data = raw_input()                  #waits until user enters data
    print "you entered", input_data           #prints the data for confirmation
    
    if (input_data == '1'):                   #if the entered data is 1 
        Arduino_Serial.write('1')             #send 1 to arduino
        print ("LED ON")
       
    
    if (input_data == '0'):                   #if the entered data is 0
        Arduino_Serial.write('0')             #send 0 to arduino 
        print ("LED OFF")

نوشتن کد را در ویرایشگر شروع کنید (کد بالا را کپی و پیست کنید) و پس از اتمام کار، فایل را با استفاده از File – -> Save یا Ctrl + s ذخیره کنید. با این کار از شما خواهد خواست تا نامی برای پرونده وارد کنید. یک نام انتخاب و فایل را در یک مکان مناسب ذخیره کنید.

فرمت اجرایی و ذخیره سازی برای برنامه پایتون ” .py ” است. با ذخیره کردن، این فرمت به طور خودکار به فایل اختصاص می یابد.

توجه: دستورالعمل گروه بندی در پایتون بسیار مهم است. برای اطلاعات بیشتر به هرگونه آموزش پایتون برای مبتدیان مراجعه کنید.

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

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

کد آردوینو را در آردوینو UNO بارگذاری کنید. به پورت COM که به آن وصل شده است توجه کنید. همان شماره پورت COM باید در کد پایتون داده شود.

پس از بارگذاری کد در آردوینو، برنامه پایتون را راه اندازی کنید. Python Shell با پیامی با عنوان، ” Connection Established” و “Enter 1 to ON LED and 0 to OFF LED” باز خواهد شد.

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

می توانید 1 یا 0 را در Python Shell  وارد کنید تا LED در آردوینو به طور متناوب روشن یا خاموش شود. در این پروژه، ما چگونگی نصب پایتون را مشاهده کردیم و همچنین نحوه ایجاد اتصال آردوینو به پایتون و کنترل یک LED  بر روی آن را آموختیم.

اگر این نوشته‌ برایتان مفید بود لطفا کامنت بنویسید.

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

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

3 دیدگاه

  1. سلام
    می شد به جای این همه کار بعد از نصب پایتون توی cmd نوشت pip install pyserial تا کتابخانه pyserial نصب بشه.

  2. این در حقیقت ارتباط واقعی آردوینو با پایتون نیست.
    در حقیقت آردوینو به پورت سریال گوش میدهید و از آن طرف با کد پایتون پورت سریال کنترل می شود و چیزی به پورت سریال فرستاده میشود. فقط همین .
    من فکر میکردم آردوینو را میشود با زبان پایتون کد نویسی کرد !!!