ওকে এলইডি ব্যবহারকারীর স্পেস সফটওয়্যার থেকে নিয়ন্ত্রণ করা যায়। বিশদগুলি এখানে: পুনরায়: আমরা কী বোর্ডের নেতৃত্বগুলি নিয়ন্ত্রণ করতে পারি?
উপরের থেকে সংক্ষিপ্তসার (সমস্ত ক্রেডিট ব্রায়ানডাব্লু):
ঠিক আছে এলইডি হিসাবে উপলব্ধ /sys/class/leds/led0/।
কার্নেল এলইডি ড্রাইভারের "ট্রিগার" রয়েছে যা কার্নেলের কিছু অংশ এলইডি নিয়ন্ত্রণ করতে দেয়। LED এর ডিফল্ট ট্রিগারটি ' mmc0', যা এসডি কার্ডটি অ্যাক্সেস করা হলে এটি চালু করে।
root@raspberrypi:~# cat /sys/class/leds/led0/trigger
none [mmc0]
আপনি mmc0নিম্নলিখিত হিসাবে ট্রিগার নিষ্ক্রিয় করতে পারেন :
echo none >/sys/class/leds/led0/trigger
' brightness' ফাইলটি ব্যবহার করে LED চালু এবং বন্ধ করা যায় । সর্বনিম্ন উজ্জ্বলতা 0, এবং সর্বোচ্চ 255 5 কোনও পরিবর্তনশীল উজ্জ্বলতা সমর্থন না থাকায় 0 এর চেয়ে বড় যে কোনও মান এলইডি চালু করবে।
echo 1 >/sys/class/leds/led0/brightness
echo 0 >/sys/class/leds/led0/brightness
উজ্জ্বলতা 0 তে সেট করা স্বয়ংক্রিয়ভাবে ট্রিগারটিকে "কিছুই নয়" তে সেট করে।
আপনি যদি এলইডিটিকে তার ডিফল্ট ফাংশনে ফিরে যেতে চান:
echo mmc0 >/sys/class/leds/led0/trigger
কয়েকটি কার্নেল মডিউল রয়েছে যা আপনি লোড করতে পারেন ( ledtrig_timerএবং ledtrig_heartbeat) যা আপনার জন্য এলইডি ফ্ল্যাশ করবে।
modprobe ledtrig_heartbeat
echo heartbeat >/sys/class/leds/led0/trigger
একবার আপনি mmc0ট্রিগারটি বন্ধ করে দিলে, আপনি LED নিয়ন্ত্রণ করতে GPIO16 ব্যবহার করতে পারেন। এটি সক্রিয়-নিম্ন, তাই আপনাকে এলইডি চালু করতে পিনটি কম সেট করতে হবে এবং এটিকে বন্ধ করতে উচ্চতর high
পাইথন থেকে, আপনি RPi.GPIOপিন 16 নিয়ন্ত্রণ করতে মডিউলটি ব্যবহার করতে পারেন There এছাড়াও সি # ড্রাইভারও রয়েছে।
কোডের উদাহরণ
#!/usr/bin/python
import RPi.GPIO as GPIO
from time import sleep
# Needs to be BCM. GPIO.BOARD lets you address GPIO ports by periperal
# connector pin number, and the LED GPIO isn't on the connector
GPIO.setmode(GPIO.BCM)
# set up GPIO output channel
GPIO.setup(16, GPIO.OUT)
# On
GPIO.output(16, GPIO.LOW)
# Wait a bit
sleep(10)
# Off
GPIO.output(16, GPIO.HIGH)