سلام به همه
یادمه اولین بار که برای آموزش رزبری پای با پایتون میخواستم با رزبری پای کار کنم، خیلی برام سؤال بود که چطوری میشه برای سخت افزار توی آموزش رزبری پای برنامه نویسی کرد و حقیقتش یه غول خیلی عجیب و غریب شده بود برام که چطوری باید برای سخت افزار برنامه نویسی کرد. از اونجایی که من مرد روزهای سخت هستم گفتم برم سراغش ببینم چی میشه. واقعاً خیلی راحت و آسونه این کار (حداقل با کارهایی که من کردم شایدم کار سخت هست اما من انجام ندادم). ما برنامه نویس ها اولین خط کدی که مینویسیم به Hello World معروفه، توی سخت افزار به LEB Blink معروفه (یعنی بتونی یه LED رو خاموش و روشن کنی.) من به راحتی هرچه تمامتر این کار رو انجام دادم و ازش لذت بردم.
برای این کار من به چند تا قطعه نیاز داشتم:
- رزبری پای ( مال من ۴ بود)
- bread board (کوچیک یا بزرگش فرقی نداره)
- LED (رنگش فرقی نداره)
- مقاومت (ترجیحا ۲۲۰)
- دوقطعه سیم (ترجیحا ۲ رنگ متفاوت)
خب اول از همه من سیستم عامل rasbian رو انتخاب کردم برای این کار، سیستم عامل رو ریختم روی مموری و اون رو داخل رزبری گذاشتم و رزبری رو روشن کردم. سیستم عامل رو روشن کردم و خیلی خوب اومد بالا. حالا نوبت برنامه نویسی برای LED Blink بود. رفتم سراغ LED و اون رو توی bread board گذاشتم به طوری که پایه منفی اون به E55 و پایه مثبت به E57 وصل بود. پابه مثبت مقاومت رو به D57 و پایه منفی اون رو هم به D64 زدم. خب همه چیز تا الان خوب بود و حالا باید برق بهش وصل میکردم.
شاید برای شما مفید باشد: آموزش رزبری پای از 0 تا 100 از مقدماتی تا پیشرفته
همچنین قبلاً در سیسوگ نحوه نصب سیستم عامل رزبرین به طور کامل آموزش داده شده است:
اتصال به رزبری پای
همون طور که توی تصوبر raspberry pi GPIO pinout مشاهده میکنید پین شماره ۶ رزبری مشیه منفی و پین شماره ۷ میشه GPIO4. (دقت کنید که من از رزبری 4 استفاده کردم) من هم یه سیم رو به پین شماره ۶ رزبری و سر دیگه سیم رو به پین شماره A55 بردبورد وصل کردم و سیم دیگه ای رو به پین شماره ۷ رزبری و سر دیگه رو به B64 بردبورد زدم.
حالا فقط مونده بود برنامه نویسی اون.
برنامه نویسی
محیط برنامه نویسی رزبری رو باز کردم (مثلاً NANO) و شروع به برنامه نویسی کردم: (کتابخونه هاش هم از قبل وجود داره)
1 | import RPi.GPOI as GPIO |
با این کد کتابخانه GPIO رو فراخوانی کردم
1 | import time |
و با این خط کد، کتابخانه time رو فراخانی کردم.
1 2 | GPIO.setmode(GPIO.BCM) GPIO.setup(4,GPIO.OUT) |
همون طور که حدس میزنید این دو خط برای اینه که به رزبری یگم من میخوام از GPIO4 که همون پین شماره ۷ میشه به عنوان خروجی استفاده کنم.
1 | GPIO.output(4,True) |
این خط ینی LED رو روشن کن
1 | GPIO.output(4,False) |
و این خط هم ینی LED رو خاموش کن.
حالا برای اینکه این خاموش و روشن شدن همیشگی باشه اون رو تو حلقه while گداشتم و برای اینکه خاموش و روشن شدن با تأخیر باشه به برنامه گفتم بعد از هر بار خاموش یا روشم شدن ۱ ثانیه صبر کنه:
1 2 3 4 5 6 | while True: GPIO.output(4,True) time.sleep(1) GPIO.output(4,False) time.sleep(1) |
وقتی این برنامه رو اجرا کردم LED یک ثانیه روشن و یک ثانیه خاموش میشه.
به همین سادگی و به همین خوشمزگی یه LED blinker درست کردم.
شما عملا هنوز هم با خود سخت افزار درگیر نشدی و کتابخانه های پایتون از قبل این کارو برای شما انجام داده بودن نمیگم کاری که کردی اشتباه چون اونم یه راه حله اما اسون ترین روش ممکن شما موقعی میتونی بگی من مرد روز های سخت هستم ک خودت بتونی سخت افزارشم درک کنی ومشکل منم با این حجم از خودستایی ک یکم زیاده و واقعا درک نمیکنم چون خود زئوسشم این همه ادعا نمیکنه