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