Bilgisayar
OKUDUĞUNUZ KONU
Raspberry Pi Led Uygulamaları
2

Raspberry Pi Led Uygulamaları

Yazar : Eren Uyanık1 Eylül 2016

Merhaba arkadaşlar, bugün sizlere rPi led kontrolünden bahsedeceğim. Fakat, uygulamamda led yerine röle kartı kullanmayı denedim ve çıktısı da gayet verimli oldu. Temelde röle kartı için yazmış olduğum kodların, led kontrolü için yazılan kodlardan hiç bir farkı yok. Ayrıca kurulum vb. yönlerden de büyük kolaylık sağladığını söyleyebilirim.

Kullanmış olduğum röle kartı, Turta isimli yerli bir firma tarafından geliştirilen ve piyasaya sürülen 4 kanallı bir röle HAT. (Bkz: turta.io) Turta firmasının geliştirmiş olduğu modülü direk olarak rPi’nin (Model 2 veya 3) GPIO pinleri üzerine takıyoruz. Modül bizlere tek sıra bir pin çıkışı veriyor. Bu pinler üzerinden geçtiğimiz aylarda yazmış olduğum USB-TTL bağlantısı ile rPi ile bilgisayar arasındaki bağlantıyı sağlıyoruz. Kodlarımızı yazmaya başlamadan önce her zamanki gibi güncelleme işlemlerimizi kontrol ediyoruz. Ayrıca daha önce yüklemeyen arkadaşlar var ise, rPi.GPIO paketinin kurulumunu yapmaları gerekmektedir.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python-dev python-rpi.gpio

Artık kodlarımızı yazmaya hazırız. Bu arada yazılan kodların Python dilinde yazıldığını hatırlatmakta fayda var diye düşünüyorum. Script dosyalarını oluşturacağımız dizine karar verdikten sonra “sudo nano dosyaismi.py” komutu ile dosyamızı oluşturuyoruz. Daha sonrasında aynı dizin içerisinde bu script’i “sudo python dosyaismi.py” komutu ile çalıştıracağız.

Step1 Uygulamasının Kodları

#!/usr/bin/python
import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)

#Role pin listesi
pinList = [21, 22, 23, 24]

#pinList degerlerini cikis ve 1 olarak ayarla
for i in pinList:
GPIO.setup(i, GPIO.OUT)
GPIO.output(i, GPIO.HIGH)

#ana dongudeki gecikme
Gecikme = 0.5

#ana dongu
try:
GPIO.output(21, GPIO.HIGH)
time.sleep(Gecikme);
GPIO.output(21, GPIO.LOW)
print "1.Role"
time.sleep(Gecikme);
GPIO.output(22, GPIO.LOW)
print "2.Role"
time.sleep(Gecikme);
GPIO.output(23, GPIO.LOW)
print "3.Role"
time.sleep(Gecikme);
GPIO.output(24, GPIO.LOW)
print "4.Role"
time.sleep(Gecikme);
GPIO.cleanup()
print "Gule gule :)"

#Programi sonlandiran klavye girdisi
except KeyboardInterrupt:
print " Cikis"

#Reset GPIO Ayarlari
GPIO.cleanup()

 

Step2 Uygulamasının Kodları


#!/usr/bin/python
import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)

pinList = [21, 22, 23, 24]

for i in pinList:
GPIO.setup(i, GPIO.OUT)
GPIO.output(i, GPIO.HIGH)

Gecikme = 0.1

try:
while True:

for i in pinList:
GPIO.output(i, GPIO.LOW)
time.sleep(Gecikme);

for i in pinList:
GPIO.output(i, GPIO.HIGH)
time.sleep(Gecikme);

pinList.reverse()

except KeyboardInterrupt:
print " Cikis"

GPIO.cleanup()

Step3 Uygulamasının Kodları


#!/usr/bin/python
import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)

pinList = [21, 22, 23, 24]

for i in pinList:
GPIO.setup(i, GPIO.OUT)
GPIO.output(i, GPIO.HIGH)

Gecikme = 0.1

try:
tur = 5
while (tur > 0):

print ' Kalan Tur Sayisi:', tur

for i in pinList:
GPIO.output(i, GPIO.LOW)
time.sleep(Gecikme);

pinList.reverse()

for i in pinList:
GPIO.output(i, GPIO.HIGH)
time.sleep(Gecikme);

pinList.reverse()
tur = tur - 1

except KeyboardInterrupt:
print " Cikis"

GPIO.cleanup()

Uygulamalara ait video yukarıdadır. Bir sonraki yazımda görüşmek dileğiyle hoşçakalın.

SİZCE NASIL OLMUŞ?
Beğendim
75%
İlginç
0%
Eh İşte
0%
Anlamadım
0%
Kötü
0%
Berbat
25%
YAZAR HAKKINDA
Eren Uyanık
Eren Uyanık
Elektrik-Elektronik Müh. | Elektronik, Yazılım ve Robotik alanlarında çalışmalar yapmaktayım.
2 YORUMLAR

YORUM YAP