Raspberry Pi Pin No(BOARD) veya GPIO Pinleri(BCM) Kullanılması

GPIO ve Pin Numaraları

Ras pi yi programlarken istersek GPIO pinlerini istersek pin numaralarını kullanabiliriz.

import RPi.GPIO as GPIO  
  
# GPIO numaraları için BCM seçilir  
GPIO.setmode(GPIO.BCM)  
  
# veya pin numaları için BOARD seçilir  
GPIO.setmode(GPIO.BOARD)  
  
# unutmayın bunlardan birini seçebilirsiniz !!!  

25 numaralı GPIO pinini girip yapmak

GPIO.setup(25, GPIO.IN)
import RPi.GPIO as GPIO  
GPIO.setmode(GPIO.BCM)  # GPIO dizilimi kullanılacak  
GPIO.setup(25, GPIO.IN) # 25 nolu GPIO pini giriş yapıldı

Inputtan Gelen Değeri Okumak

1 veya 0 değerleri alabilir.

GPIO.HIGH veya GPIO.LOW (True, False)

0 0Volta karşılık gelir 1 ise 3.3 volta karşılık gelir.

if GPIO.input(25): # if port 25 == 1  
    print "Port 25 is 1/GPIO.HIGH/True"  

Butona basılma kontrolü

button_press = GPIO.input(25)  

Örnek Kullanımı

import RPi.GPIO as GPIO  
GPIO.setmode(GPIO.BCM)       # BCM GPIO olarak ayarla 
GPIO.setup(25, GPIO.IN)      # 25 numaralı GPI pini giriş olarak ayarla
  
if GPIO.input(25):           # if port 25 == 1  
    print "Port 25 is 1/GPIO.HIGH/True"  
else:  
    print "Port 25 is 0/GPIO.LOW/False"  
  
GPIO.cleanup()               # temizle 

Bu kod 1 kere kullanılır. Çalışır ve temizler.

Eğer CTRL+C yapıldığında çıkmak istersek

import RPi.GPIO as GPIO  
from time import sleep     # Bekleme için
GPIO.setmode(GPIO.BCM)     # GPIO Olarak kullan 
GPIO.setup(25, GPIO.IN)    # 25 numaralı pin giriş olarak ayarla 
  
try:  
    while True:            # CTRL+C basana kadar devam et
        if GPIO.input(25): # if port 25 == 1  
            print "Port 25 is 1/GPIO.HIGH/True - butona basıldı"  
        else:  
            print "Port 25 is 0/GPIO.LOW/False - buton bırakıldı"  
        sleep(0.1)         # biraz bekleme 0.1 saniye  
  
except KeyboardInterrupt:  #ctrl+c veya del basında bu istisna atılır.
    GPIO.cleanup()         # temizle

NOT: Normalde python da hata ayıklamak için

try:
  print("Hello")
except:
  print("Something went wrong")
else:
  print("Nothing went wrong")

Yayınlayan

Ahmet KADAK

Bilgisayar Öğretmeni & Bilgisayar Mühendisi

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.