خاموش و روشن کردن LED های مارس برد و بررسی برنامه Python معادل آن

در این نوشته به بررسی خاموش و روشن کردن led های مارس برد می پردازم. من فرض را بر این می گذارم که شما xubuntu را دانلود و روی sd ریخته اید.

همانطور که از قبل هم می دانید شما برای کنترل پایه های مورد نظر بایستی اول درایور gpio را در کرنل فعال کرده و سپس پایه ها را در فایل script.bin مشخص و فعال کنید.

من این دو کار را برای xubuntu انجام داده و علاوه بر فعال کردن درایورپین های چهار led کنار rj45 که PB5-8 هستند را در script.bin مشخص کرده ام که شما می توانید در انتها آن را دانلود کنید.(فایل uImage جدید تا حدودی سرعت xubuntu را بهبود می بخشد که در آموزش جداگانه بررسی خواهد شد.)

حال شما بعد از تعویض فایلها کافی است که ترمینال را باز کرده و به شاخه زیر بروید :

cd /sys/class/gpio

حال برای دسترسی به پایه ها باید از export به صورت زیر استفاده کنید تا 4 پایه در دسترس شوند:

echo 1 > export
echo 2 > export
echo 3 > export
echo 4 > export

و برای انجام عمل بالا در Python:(برای یک پایه)

fw = file("/sys/class/gpio/export", "w")
fw.write("%d" % (4))
fw.close()

بعد از عمل بالا در شاخه gpio چهار پین led ظاهر خواهد شد:

gpio xubuntu 1

حال با توجه به تصویر زیر قادر به تعیین value و active_low و direction هر پایه خواهیم بود:

gpio xubuntu 2

حال با توجه به نحوه آرایش پایه ها در شماتیک مارس برد می بینیم که led ها active low هستند پس به داخل هر پوشه led رفته و با دستور زیر آن را فعال می کنیم :

echo 1  >  active_low

حال باید نوع پایه را خروجی تعیین کنیم:

echo out > direction

در Python داریم:

fw = file(“/sys/class/gpio/gpio4_pb8/direction”, “w”)
fw.write(“out”)
fw.close()

در انتها برای خاموش و روشن کردن led از فرمانهای زیر استفاده می کنیم:

echo 1 > value
echo 0 > value

در Python داریم:

fw = file(“/sys/class/gpio/gpio4_pb8/value”, “w”)
fw.write(“1”)
fw.flush()

دانلود فایلهای evb.bin و uImage:

xubuntu gpio

 

Bookmark the پیوند یکتا.

دیدگاهتان را بنویسید