استفاده از GPIO رزبری پای به عنوان ورودی : پین های ورودی و خروجی رزبری پای2 raspberry pi gpio tutorial2
مطلب جلسه اول این مطلب : پین های ورودی و خروجی رزبری پای raspberry pi gpio tutorial
پروژه 1 رزبری پای
به نام خدای علی(ع)آفرین
این قسمت رو در قالب یه مثال شروع می کنیم. می خوایم یه کلید فشاری به رزبری پای وصل کنیم و وقتی کلید فشار داده شد، یه ال ای دی روشن بشه. مدار زیر رو می بندیم.
قصد داریم پایه GPIO18 رو به عنوان ورودی تعریف کنیم تا با فشرده شدن کلید مورد نظر، ال ای دی متصل به GPIO16 روشن شود. و مطابق با وضعیت کلید، یه جمله چاپ کنه.
یک فایل پایتون با نام دلخواه ایجاد کنید برای این کار، در ترمینال رزبری پای تایپ کنید.
1 |
sudo nano input.py |
در فایل باز شده، قطعه کد زیر رو وارد کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import RPi.GPIO as GPIO from time import sleep GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) GPIO.setup(18, GPIO.IN,pull_up_down=GPIO.PUD_UP) GPIO.setup(16, GPIO.OUT) while 1: if GPIO.input(18): GPIO.output(16,1) print(‘button pressed’) else: GPIO.output(16,0) Print(‘button not pressed’) |
توضیح خط پنجم : به دلیل اینکه کلید به زمین متصل شده است، پایه GPIO18 پول آپ شده است.
فایل رو ذخیره کنید ( Ctrl+x و بعدش y و بعدش اینتر )
سپس فایل ساخته شده رو اجرا کنید.
1 |
sudo python input.py |
برای خروج از برنامه، Ctrl+z رو بزنید.
پروژه 2 رزبری پای
در مثال بعدی، با دو کلید، دو ال ای دی رو کنترل می کنیم. که یکی از کلید ها پول آپ و دیگری رو پول داون در نظر می گیریم :
در این مدار، GPIO18 و GPIO12 به عنوان ورودی کلید ها در نظر گرفته شده و به ترتیب یکی پول داون و دیگری پول آپ می شود. و GPIO16 و GPIO20 هم دو ال ای دی رو کنترل می کنند.
توجه : از این به بعد، دیگه نمیگم ترمینال رو باز کنید و فایل باز کنید و…
برنامه اش هم به صورت زیره :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import RPi.GPIO as GPIO from time import sleep GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) GPIO.setup(12, GPIO.IN,pull_up_down=GPIO.PUD_UP) GPIO.setup(18, GPIO.IN,pull_up_down=GPIO.PUD_DOWN) GPIO.setup(16, GPIO.OUT) GPIO.setup(20, GPIO.OUT) while 1: while GPIO.input(12) == GPIO.LOW: GPIO.output(16,1) GPIO.output(20,0) while GPIO.input(18) == GPIO.HIGH: GPIO.output(20,1) GPIO.output(16,0) |
خب فایل رو ذخیره و اجرا کنید.
توجه : ال ای دی ها تا رخ دادن کلید بعدی در حالت خود می ماند. یعنی حالت ال ای دی فقط وقتی تغییر می کند که شما کلید دیگری را فشار دهید. حالا اگه بخوایم وقتی هیچ کلیدی رو فشار ندادیم، ال ای دی ها خاموش باشند چه کاری باید انجام داد؟ خیلی ساده هست دو خط برنامه باید به کد اضافه کنیم. و نمیگم کجاش!!!یه کمی فکر کنید.
جهت هر چه مستحکم تر شدن مقام ولایت فقیه و تعجیل درظهور بابای خوبمون مهدی(عج) صلوات
مهمان
با عرض سلام و خسته نباشید خدمت شما
میخاستم ببینم چجوری میتونم توسط پین های رزبری پای لامپ معمولی راکنترل کنم ؟
یا در واقع چجوری مقدار خروجی پین را به ۲۲۰ برسانم?
نویسنده این مطلب
سلام
دو تا راه به ذهنم میرسه
۱٫استفاده از رله
۲٫استفاده از ترانزیستور یا تریستور
مدیر سایت
میگم این آموزشایی که میدی فقط برا رزبری پایی 3 هستش یا رو 2 هم جواب میده؟
نویسنده این مطلب
سلام_عیدت مبارک روی رسپری 2 هم اجرا میشه چون پایه ها عینا مثل هم هستن برای رسپری های قدیمی تر هم میشه استفاده کرد.فقط باید شماره پایه ها رو تغییر داد چون تعداد پایه هاشون کمتر از رسپری 2 و 3 هست.
مدیر سایت
خب این رزبری پای ها هم مدلای مختلفی دارن


A
B
B+
و…
خب فرق اینا چیه؟ الان این پروژه ها و مطالب شما بر مبنای کدومه؟ برای تغییرات به مدل دیگه فقط پایه ها رو باید تغییر بدیم؟
یه مطلب درباره فرق انواع مدلهای رزبری پای و انی که اگه پروژه ای یه جا دیدم که برمبنای 3 بود چطوری به رزبریپای 2 تبدیبلش کنیم.
امکانش هست تو یه مطلب فقط اینا رو بگین؟؟
نویسنده این مطلب
شما اگه این فایل با فرمت py. رو اگر به رسپری دیگه ای بذارید، اجرا میشه.فرق این مدل ها در سایت رسمی رسپری خیلی خوب توضیح داده شده.اگر هم حال و حوصله ندارید،تو فروشگاههای اینترنتی مثل eca ،roboeq ،aftabrayaneh و … قسمتای به درد بخورش رو گذاشتن.راستش دارم وارد بحث opencv در رسپری میشم و وقت کافی برای گشتن دنبال مطلب ندارم.