ওকে এলইডি ব্যবহারকারীর স্পেস সফটওয়্যার থেকে নিয়ন্ত্রণ করা যায়। বিশদগুলি এখানে: পুনরায়: আমরা কী বোর্ডের নেতৃত্বগুলি নিয়ন্ত্রণ করতে পারি?
উপরের থেকে সংক্ষিপ্তসার (সমস্ত ক্রেডিট ব্রায়ানডাব্লু):
ঠিক আছে এলইডি হিসাবে উপলব্ধ /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)