در این پروژه، کنترل آردوینو با پایتون را یاد میگیریم. آردوینو را به پایتون متصل کرده و یک پروژه ساده برای کنترل آردوینو با زبان پایتون را پیاده سازی می کنیم.
آردوینو یکی از قدرتمندترین نمونه های اولیه پلتفورم های متن باز، در الکترونیک است که با میکروکنترلرهای 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
نصب پایتون بر روی رایانه شما
پس از دانلود فایل نصب، با کلیک کردن بر روی آن، نصب را ادامه دهید.
“Install for all users” را انتخاب کنید و روی next کلیک کنید. پوشه نصب پیش فرض را که “C: \ Python27” است را تغییر ندهید و روی next کلیک کنید.
در مرحله بعد گزینه “Add python.exe to path” را در قسمت Customize Python 2.7.14 انتخاب کنید. با این کار دایرکتوری پایتون به صورت خودکار به مسیر سیستم ویندوز اضافه می شود. اگر این مرحله را رد کردید، می توانید فهرست را به صورت دستی اضافه کنید. نصب را انجام داده و به پایان برسانید.
پایتون با موفقیت روی رایانه شما نصب شده است. اگر مسیر سیستم را انتخاب کرده اید (به صورت دستی یا در حین نصب مسیر)، می توانید بررسی کنید که پایتون با موفقیت نصب شده است یا خیر.
برای این کار، Command Prompt را در حالت Administrator اجرا کنید و فقط “python” را وارد کنید. اگر پایتون با موفقیت در رایانه شما نصب شود، پاسخی دریافت می کنید که مربوط به نسخه پایتون و نوع نسخه (نسخه 32 بیتی) نصب شده است.
در این مرحله، می توانید با جستجوی «پایتون» در منوی استارت ویندوز 7، از پایتون IDE استفاده کنید. در اینجا شما گزینه IDLE (Python GUI) را دریافت خواهید کرد. IDLE مخفف Integrated Development and Learning Environment (توسعه یکپارچه و محیط یادگیری) و یک پایتون IDE مبتنی بر رابط کاربری گرافیکی(GUI) می باشد.
با انتخاب آن، Python Shell باز خواهد شد، که به شما امکان می دهد از مفسر پایتون در یک حالت تعاملی استفاده کنید، یعنی می توانید دستورات را تایپ کرده و نتایج را فوراً مشاهده کنید. به عنوان مثال، عملیات های ساده ریاضی دقیقاً به همی سادگی اجرا می شوند.
دریافت PySerial
برای دستیابی به پورت سریال رایانه از طریق پایتون، ما به کتابخانه ای بنام PySerial نیاز داریم. pySerial یک افزونه پورت سریال پایتون است که امکان دسترسی به پورت سریال را برای پایتون در سیستم عامل های مختلف مانند ویندوز، لینوکس، مک و غیره فراهم می کند.
در این پروژه ما از PySerial برای خواندن و نوشتن داده در آردوینو از طریق پایتون، استفاده خواهیم کرد. به منظور دانلود pySerial، از لینک پیوست شده استفاده کنید.
این لینک 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، می توانید با وارد کردن دستور زیر در Python IDLE، بررسی کنید که آیا به پایتون الحاق(import) شده است یا خیر.
import serial
اگر همه چیز به خوبی پیش برود، شما خطایی دریافت نخواهید کرد.
اتصال آردوینو به پایتون
اکنون که پایتون و 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 بر روی آن را آموختیم.
اگر این نوشته برایتان مفید بود لطفا کامنت بنویسید.
سلام
می شد به جای این همه کار بعد از نصب پایتون توی cmd نوشت pip install pyserial تا کتابخانه pyserial نصب بشه.
این در حقیقت ارتباط واقعی آردوینو با پایتون نیست.
در حقیقت آردوینو به پورت سریال گوش میدهید و از آن طرف با کد پایتون پورت سریال کنترل می شود و چیزی به پورت سریال فرستاده میشود. فقط همین .
من فکر میکردم آردوینو را میشود با زبان پایتون کد نویسی کرد !!!
آردوینو را میشه با پایتون برنامه نویسی کرد با micropython امکان پذیر هست