Bilgisayar
OKUDUĞUNUZ KONU
Raspberry Pi PWM ile Led Kontrolü
0

Raspberry Pi PWM ile Led Kontrolü

Yazar : Murat Duran29 Temmuz 2015

Gömülü sistemler konusunda rakipsiz sayılabilecek bir geliştirme kartı olan Raspberry Pi ile bu projemizde PWM tekniği kullanarak led parlaklığını kontrol edeceğiz.

Öncelikle PWM nedir bundan bahsedelim.PWM (Pulse Width Modulation) yani türkçesi basit haliyle bir sinyal modülasyon tekniği olarak tanımlanabilir. Sinyal bilgisinin aktarım için uygun hale çevirilmesi amacının yanı sıra güç kontrolü sağlamak ve elektrik makineleri, güneş pili şarj üniteleri gibi özel devrelere destek olmak amacı da taşır.Raspberry Pi PWM ile hemen hemen her türlü uygulama yapılabilir.

Duty Cycle Nedir ? Görev döngüsü anlamına gelmektedir, yapılan işlemin süresini belirler.Bu süre ne kadar düşük olursa güçtü bir hayli düşük olur.Ne kadar yüksek olursada o kadar yüksektir.


import RPi.GPIO as GPIO # GPIO kütüphanesi import edilir.
from time import sleep # time modülünden sleep fonksiyonu import edilir.

GPIO.setmode(GPIO.BCM) # Pin Şeması BCM olarak ayarlanır.

GPIO.setup(25, GPIO.OUT)# 25 numaralı pin beyaz için çıkış olarak ayarlanır.
GPIO.setup(24, GPIO.OUT)# 24 numaralı pin kırmızı için çıkış olarak ayarlanır.

beyaz = GPIO.PWM(25, 100) # beyaz LED PWM çıkış ve 100 Hertz olarak ayarlanır
kirmizi = GPIO.PWM(24, 100) # kırmızı LED PWM çıkış ve 100 Hertz olarak ayarlanır.

beyaz.start(0) # Beyaz LED 0 duty cycle ile başlatılır.Buda sönük olması demektir.
kirmizi.start(100) # Kırmızı LED %100 duty cycle ile başatılır.Yani parlak durumdadır.
pause_time = 0.02 #Bekleme süresi bu kısmı kendinize göre değişebilirsiniz.

try:
while True: #sonsuz döngü oluşturulur.
for i in range(0,101): # 101 çünkü 100 olunca duracak.
beyaz.ChangeDutyCycle(i)
kirmizi.ChangeDutyCycle(100 - i)
sleep(pause_time)
for i in range(100,-1,-1): # 100 den 0'a birer azalacak.
kirmizi.ChangeDutyCycle(100 - i)
sleep(pause_time)

except KeyboardInterrupt:
beyaz.stop() # beyaz LED PWM i durdurulur.
kirmizi.stop() # kırmızı LED PWM'i durdurulur
GPIO.cleanup() # GPIO lar temizlenir.

#Klavyeden bir tuşa basılıncaya kadar işlem devam eder.

Kaynak : Mekatronik Mühendisliği

SİZCE NASIL OLMUŞ?
Beğendim
100%
İlginç
0%
Eh İşte
0%
Anlamadım
0%
Kötü
0%
Berbat
0%
YAZAR HAKKINDA
Murat Duran
Murat Duran
Açık kaynak donanım ve yazılım geliştiricisiyim , mekanik ve robotik sistemler üzerinde çalışmalar yapmaktayım.Ayrıca bir start-up firması olan Proje Hocam 'ın kurucuyum.
YORUMLAR

YORUM YAP