برچسب: programming

جدید مانیتور سریال در آردوینو

مانیتور سریال آردوینو ابزار بسیار مفیدی است که در خود IDE آردوینو تعبیه شده است. بنابراین برای برقراری ارتباط با آردوینو از طریق پورت سریال نیازی به یک ترمینال خارجی ندارید. فقط مانیتور سریال را باز کنید، باود ریت صحیح را برای ارتباط تنظیم کنید، و برنامه را آپلود نمایید.در اینجا یک برنامه ساده آردوینو را مشاهده می کنید که هر ثانیه یک بار پیام “Hello karakit” را از طریق پورت سریال به ترمینال IDE می فرستد و ما آن را در مانیتور سریال مشاهده خواهیم کرد. تابع setup یک بار زمانی که برد روشن یا ریست می شود فراخوانی می شود. در این کد با استفاده از Serial.begin(115200) ارتباط سریال را با باودریت 115200 مقداردهی اولیه می کند. حلقه loop پس از تکمیل تابع setup به طور مداوم اجرا می شود. این کد عبارت “Hello karakit” را با استفاده از دستور Serial.println (“Hello karakit”) در مانیتور سریال چاپ می کند و سپس قبل از تکرار فرآیند، با استفاده از delay (1000) 1 ثانیه منتظر می ماند. اگر باودریت مانیتور سریال با باودریت تعیین شده در برنامه برابر نبود می توانید آن را تغییر دهید و تنظیم کنید: دریافت ورودی از کاربر در پورت سریال سه نوع داده رشته [ . . . ]

  • 1,732 بازدید
  • 0
  • 11 دسامبر, 2023
ادامه مطلب

جدید ورودی دیجیتال در آردوینو

قصد داریم برای آشنای با ورودی دیجیتال در آردوینو یک دکمه به یکی از پایه های آن وصل کنیم و برنامه ای بنویسیم که در صورت فشرده شدن دکمه یک LED که به یکی از پایه های خروجی متصل شده روشن شود. وقتی می گوییم ورودی دیجیتال یعنی این ورودی تنها می تواند یکی از دو مقدار High یا Low داشته باشد. دکمه را به پایه 2 و LED را از طریق مقاومت 220 اهم به پایه 8 وصل می کنیم. مدار به شکل زیر است: برنامه به شکل زیر نوشته می شود: کد از دو قسمت تشکیل شده است: setup و loop. قبل از تابع setup سه متغیر led، button و buttonValue را مقداردهی اولیه کرده ایم. در خط اول متغیری به نام led از نوع int با مقدار 8 را مقداردهی اولیه شده است. این متغیر برای ذخیره شماره پین متصل به LED استفاده می شود. سپس دمتغیری به نام button از نوع int با مقدار 2 را مقداردهی اولیه شده است. این متغیر برای ذخیره شماره پین دکمه ای که به برد آردوینو متصل است استفاده می شود. در خط بعد متغیری به نام buttonValue از نوع int با مقدار 0 را مقداردهی اولیه شده است. [ . . . ]

  • 764 بازدید
  • 0
  • 9 دسامبر, 2023
ادامه مطلب

جدید شروع کار با آردوینو

آردوینو چیست؟ آردوینو یک پلتفرم الکترونیکی منبع باز است که بر اساس سخت افزار و نرم افزار آسان برای استفاده است. این یک برد نمونه‌سازی مبتنی بر میکروکنترلر است که می‌تواند برای توسعه دستگاه‌های دیجیتالی استفاده شود که می‌توانند ورودی‌های مختلف را مانند فشردن دکمه، لمس روی صفحه، نور روی سنسور و غیره بخوانند و خروجی های مختلف مانند روشن کردن LED ، چرخاندن موتور، پخش آهنگ ها از طریق بلندگو و موارد دیگر را کنترل کند. برد آردوینو به تمام قطعات الکترونیکی مورد نیاز برای راه اندازی میکروکنترلر روی یک PCB مجهز شده است. همچنین دارای ویژگی های مفید دیگری مانند پین های ورودی/خروجی، یک پورت USB برای ارتباط بین آردوینو و یک کامپیوتر، و یک کانکتور برق 9 ولت DC است. طی سال‌ها، آردوینو مغز هزاران پروژه از وسایل روزمره گرفته تا ابزارهای علمی پیچیده بوده است. سازندگان، دانشجویان، علاقه‌مندان، هنرمندان، برنامه‌نویسان و متخصصان سراسر جهان حول این پلتفرم منبع باز گرد آمده‌اند و مشارکت‌های آنها به تولید دانش زیادی درباره آردوینو منجر شده است که می‌تواند به افراد تازه‌کار و متخصص کمک بزرگی بکند. آردوینو در مؤسسه طراحی تعامل Ivrea به عنوان ابزاری آسان برای نمونه‌سازی سریع متولد شد، که هدف آن [ . . . ]

  • 458 بازدید
  • 0
  • 9 دسامبر, 2023
ادامه مطلب

جدید نمایش ویژگی های یک شی در پایتون با استفاده از __repr__

فرض کنید که بخواهیم ویژگی های یک شی را که از روی یک کلاس ایجاد کرده ایم نمایش دهیم. کلاس Person را که در مطالب قبلی استفاده کردیم در نظر بگیرید: اگر یک کارمند جدید با این کلاس ایجاد کنیم و با دستور print بخواهیم مقدارش را نمایش دهیم خروجی به این شکل نمایش داده می شود: <__main__.Person object at 0x000001F327211370> اما این نمایش چیزی از خصوصیات شی Kamran ارایه نمی دهد. اما برای این کار می توانیم از متد خاصی به نام __repr__ استفاده کنیم. متد __repr__ یک متد خاص در کلاس‌های پایتون است که نمایش رشته‌ای از یک شی را برمی‌گرداند. توسط تابع ()repr داخلی فراخوانی می شود و برای ارائه یک نمایش رشته دقیق تر و رسمی از یک شی استفاده می شود. در اینجا مثالی از نحوه تعریف متد __repr__ در کلاس Person آورده شده است: در این مثال، متد __repr__ رشته‌ای را برمی‌گرداند که می‌توان از آن برای ایجاد مجدد شی Person استفاده کرد. این رشته حاوی مقادیر first_name، last_name و IDnumber شیء است. برنامه کامل را در زیر می بینید: این بار با اجرای برنامه خروجی را به این صورت مشاهده خواهید نمود: Person(‘Kamran’, ‘Hamidi’, 1257148) که مقادیر ویژگی [ . . . ]

  • 945 بازدید
  • 0
  • 2 دسامبر, 2023
ادامه مطلب

جدید چند ریختی یا polymorphism در کلاس های پایتون

اصطلاح “چند شکلی” یا “چند ریختی” یا polymorphism از زبان یونانی گرفته شده و به معنای چیزی است که چندین شکل به خود می گیرد.چند ریختی به توانایی یک زیر کلاس برای انطباق متدی که قبلاً در سوپرکلاس آن وجود دارد برای رفع نیازهایش اشاره دارد. به بیان دیگر، یک زیر کلاس می تواند از متدی از سوپرکلاس خود استفاده کند یا در صورت نیاز آن را تغییر دهد.همان کلاس Person که در مطالب قبلی استفاده کردیم را در نظر بگیرید: با استفاده از این کلاس می توان اعضای شاغل در یک شرکت را تعریف نمود و نام و نام خانوادگی و شماره پرسنلی آنها را مشخص کرد. همچنین از طریق متد set_salary می توان در زمان لزوم حقوق هر شخص را نیز معین کرد. حالا فرض کنیم که بعضی کارمندها رتبه بالاتری دارند و حقوق آنها 10 درصد بیشتر از سایر کارمندان است و قصد داریم یک کلاس فرزند برای آنها ایجاد کنیم و بتوانیم حقوق آنها را جداگانه مشخص کنیم. برای ایجاد یک زیر کلاس که از چند شکلی استفاده می کند، می توانیم یک کلاس جدید تعریف کنیم که از کلاس Person به ارث می برد و متد set_salary را دوباره در [ . . . ]

  • 455 بازدید
  • 0
  • 2 دسامبر, 2023
ادامه مطلب

جدید وراثت کلاس ها در پایتون

مانند هر زبان شی گرای دیگر، پایتون نیز از مفهوم وراثت کلاس پشتیبانی می کند. وراثت به ما اجازه می دهد تا یک کلاس جدید را از دل یک کلاس موجود ایجاد کنیم.کلاس جدیدی که ایجاد می شود به عنوان زیر کلاس (کلاس فرزند یا مشتق شده) و کلاس موجود که کلاس فرزند از آن مشتق شده است به عنوان سوپرکلاس (کلاس والد یا پایه) شناخته می شود.زیر کلاس یا کلاس فرزند کلاسی است که ارث می برد. سوپرکلاس یا کلاس والد کلاسی است که متدها و/یا ویژگی ها از آن به ارث برده می شوند.بگذارید برای بررسی این مفهوم به سراغ مثال قبلی برویم. کلاس Person می تواند اعضای شاغل در یک شرکت را تولید کند و بعضی ویژگی های مربوط به انها را مشخص کند. مثل نام و نام خانوادگی و شماره پرسنلی و حقوق. اما همه اعضای یک شرکت لزوما موقعیت های مشابهی ندارند. فرض کنید قصد داریم اعضای یک شرکت را به دو دسته کارمند و سهامدار تقسیم کنیم. بنابراین لازم است برای هر کدام یک کلاس جداگانه تعریف نماییم. اما بعضی خصوصیات هر دو دسته مشابه هم است. مثلا هر دو نام و نام خانوادگی دارند. بازنویسی همه آن کد [ . . . ]

  • 460 بازدید
  • 0
  • 2 دسامبر, 2023
ادامه مطلب

جدید کپسوله سازی یا Encapsulation در پایتون

کپسوله‌سازی فرآیندی است برای جلوگیری از دسترسی مشتریان به بعضی ویژگی‌های ، که فقط از طریق روش‌های خاص قابل دسترسی است. ویژگی‌های خصوصی ویژگی‌های غیرقابل دسترسی هستند و ما از دو underscore  (__) برای اعلام ویژگی های خصوصی استفاده می کنیم. مثال قبلی را در نظر بگیرید. فرض کنید می خواهیم در کلاس Person متدی داشته باشیم که تعداد ساعت اضافه کار کارمند در یک ماه را بگیرد و اضافه حقوق این ماه او را به ما بدهد. ابتدا لازم است یک ویژگی خصوص در __init__ اضافه کنیم که دستمزد اضافه کاری به ازای هر یک ساعت را در آن ذخیره کنیم: همچنین باید یک متد به کلاس اضافه کنیم که تعداد ساعت اضافه کار را بگیرد و اضافه حقوق را محاسبه نماید و برگرداند: کلاس را به طور کامل می توانید در زیر مشاهده کنید: حالا یک عضو تعیین می کنیم و سپس مقدار اضافه حقوق او را دریافت می نماییم: با توجه به اینکه دستمزد یک ساعت اضافه حقوق را از طریق self.__extraperhour معادل 500000 ریال تعریف کرده بودیم، این کارمند به ازای 9 ساعت اضافه کار مبلغ 4500000 ریال اضافه حقوق دریافت خواهد کرد. حالا اگر تلاش کنید که با دستور زیر [ . . . ]

  • 382 بازدید
  • 0
  • 2 دسامبر, 2023
ادامه مطلب

جدید کلاسها و اشیا در پایتون

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

  • 424 بازدید
  • 0
  • 2 دسامبر, 2023
ادامه مطلب

جدید معرفی برنامه نویسی شی گرا یا oop

برنامه نویسی شی گرا (OOP) یک الگوی برنامه نویسی است که می توانید از آن برای مدل سازی دنیای واقعی در کد استفاده کنید. استفاده از این پارادایم مزایای متعددی دارد. با OOP، می‌توانید پیاده‌سازی‌هایی ایجاد کنید که به راحتی قابل تغییر و گسترش با کد کمتر هستند. این بر اساس ایده گروه بندی داده ها و توابع مرتبط به گروه های اطلاعات است. این گروه ها به عنوان اجسام شناخته می شوند. برنامه نویسی شی گرا (OOP) یک الگوی برنامه نویسی است که بر مفهوم کلاس ها و اشیاء تکیه دارد. برای ایجاد ساختار یک برنامه نرم افزاری به قطعات ساده و قابل استفاده مجدد از قطعه های کد (معمولاً کلاس ها) استفاده می شود که برای ایجاد نمونه های جداگانه از اشیاء استفاده می شود. OOP به گونه ای طراحی شده است که هنگام برنامه نویسی باید روی یک شی تمرکز کرد نه بر روی رویه ها. یک شی می تواند هر چیزی باشد که در اطراف خود می بینیم. مثلا می تواند یک انسان باشد که دارای برخی ویژگی ها است مانند – نام، آدرس، کد ملی و غیره، یا یک صندلی که بر اساس اندازه، رنگ، مواد به کار رفته، قیمت [ . . . ]

  • 317 بازدید
  • 0
  • 2 دسامبر, 2023
ادامه مطلب

جدید ساخت فایل gif با استفاده از pillow در پایتون

ما می توانیم از Pillow برای ایجاد یک GIF از چندین تصویر استفاده کنیم. در اینجا یک نمونه کد ارایه شده که نحوه ایجاد یک GIF از سه تصویر با استفاده از Pillow را نشان می دهد: در این مثال، ابتدا لیستی از اشیاء Image از سه فایل تصویری با استفاده از متد Image.open از Pillow ایجاد می کنیم. سپس فریم ها را به عنوان یک فایل GIF با استفاده از متد save با آرگومان format=’GIF’ و پارامتر append_images ذخیره می کنیم تا فریم های باقی مانده را به فریم اول اضافه کنیم. پارامتر duration فاصله زمان بین فریم ها را بر حسب میلی ثانیه مشخص می کند و پارامتر loop تعداد دفعاتی را که انیمیشن باید حلقه بزند (0 به معنای حلقه بی نهایت است) را مشخص می کند.

  • 685 بازدید
  • 0
  • 27 نوامبر, 2023
ادامه مطلب
pico book
برای سفارش کتاب راه اندازی رزبری پای پیکو با 15درصد تخفیف روی عکس کلیک کنید