Ana içeriğe atla

Raspberry PI ve GPIO Kontrolü

Makaleme başlamadan önce bu yazıyı bir Linux işletim sisteminde daha da önemlisi Raspbian'da yazıyor olmamın heyecanını sizlerle paylaşmak istiyorum.  Raspbian nedir diyecek olursanız kısaca; Raspberry PI için yazılmış ve özelleştirilmiş bir işletim sistemi olarak açıklanabilir. Hemen aşağıda Raspbian'dan bir ekran görüntüsü paylaştıktan sonra ana konumuza dönebiliriz.


Raspberry PI 3 ve GPIO Kontrolü Nasıl Sağlanır - Raspberry'nin Üzerindeki Pinler Nasıl Kullanılır?

Raspberry'i bir embedded systems yani gömülü sistem olarak kullanmadan önce galiba ilk bilmeniz gereken şey Raspberry'nin üzerindeki pinlerin GPIO olarak adlandırılıyor olmasıdır. GPIO açılımı General Purpose Input Output yani temel veri giriş çıkış pinleri diye adlandırabiliriz. Arduino'nun üzerindeki pinler ile aynı görevi görürler lakin kullanımları biraz daha karmaşıktır. Belli bir düzenleri vardır ama bu düzen Arduinodaki gibi kartın üzerinde yazmaz genelde Raspberry'nin datasheetlerinde paylaşılır ve Raspberry'nin sürümlerinde farklılık gösterirler. Raspberry PI 2/3'te aynı olmasına rağmen Raspberry Zero'da onların reverse edilmiş yani aynaya göre ters çevrilmiş halidir. Aşağıdaki görsellerde GPIO dizilimlerini gösterdikten sonra sonraki yazımızda örnek LED yakımı kodunu ve nasıl yapılacağını sonraki makalelerimizde bulabilirsiniz.

Raspberry Pi 2 - Pi 3 - Raspberry Pi Zero - Zero W GPIO Gösterimi



Sadece Raspberry Pi 3 GPIO Gösterimi





Yorumlar

Bu blogdaki popüler yayınlar

Arduino Buzzer için Örnek Müzik Kodları

Bugün ki yazımda programlaması tamamıyla bana ait olan bazı buzzer kodlarını yazımın devamında paylaşıyor olacağım. Öncelikle bağlantı şemasıyla başlayalım; Malzemeler: Arduino (Uno, Nano, Mega) 100 Ohm Direnç Breadboard Bağlama Tarifi: Buzzer'da iki bacak bulunur. Buzzer'ın üstüne baktığınızda bacaklardan birisinin hizasında (+) yazar. Bu bacağı 8 No.lu pine bağlayabilirsiniz. veya istediğiniz herhangi başka bir digital bacak da olabilir. Kodunuzu da ona göre düzenlemeniz gerekir. İkinci bacağı da direnç üzerinden GND (-) Toprak hattına bağlamak gerekir. Bağlantı Şeması: Yukarıdaki şemada siyah (-), kırmızı (+) ucu temsil etmektedir. Ben kodlara ilgili notaların frekanslarını ekledim. Örnek olarak da 2 adet müziği buraya ekleyeceğim. sizler diğer müziklerin notalarını öğrendikten sonra duraksamaları deneme yanılma yoluyla bulabilirsiniz. Takıldığınız yerde aşağıya yorum bırakırsanız seve seve yardımcı da olabilirim. Notalar: 1 2 3 4 5 6 7

16x2 LCD I2C (i2c) Hataları ve Çözümler

Merhaba arkadaşlar arduino I2C modülü kullanımında oluşan bazı hatalardan bahsetmek istiyorum. Öncelikle bu modülle görüntü alamıyorsanız arkasındaki potansiyometreyi sağa ve sola çevirerek uygun konstrata getirin bu sebeple yazılar görünmüyor olabilir. Bağladığınızda arduino kapanıyorsa kısa devre vardır lehim aralıklarını kontrol edin temas olabiliyor. Eğer tek karakter ekranda çıkıyor diğer karakterler çıkmıyorsa aşağıda verdiğim kütüpaneyi yükleyin sorununuz çözülecektir. Eğer buna rağmen görüntü alamıyorsanız LCD panel adresiniz farklı olabilir  LiquidCrystal_I2C lcd(0x27, 16, 2);  kod satırındaki " 27 " yi " 3f " yapın. Yani şöyle olmalı  LiquidCrystal_I2C lcd(0x3f, 16, 2);  Bu şekilde büyük olasılıkla görüntü alamama sorununuz çözülecektir. I2C Port bağlantıları şöyle olmalıdır: gnd-gnd vcc - 5 v sda- A4 scl-A5 pinine bağlanmalıdır. Örnek Kod: #include <Wire.h> #include <LiquidCrystal_I2C.h> // LCD adres 0x3f 16 kara

PID Algoritmalı Çizgi İzleyen Robot (PID Line Follower)

PID var olan bir problemin çözümünde  Oranı, integrali ve Türevi toplayarak bir hata oranı çıkarır ve bunu minimuma indirgemek için bir yol geliştirilir. Daha sonra PID'nin detaylı açıklamasını yaparım. Bu yazıdaki amacım hani hep gördüğünüz virajları çok hızlı dönen çizgi izleyenlerin nasıl yapıldıklarını nacizane göstermek. Malzemeler: Arduino Nano veya UNO Pololu QTR 8RC Kızıl ötesi sensör dizisi Pololu TB6612FNG Motor Sürücü 2 Adet Redüktörlü 6V DC Motor 9V Tercihen Duracell Pil (Arduino beslemesi için)  11.1V bir Li-Po pil (Motor sürücü için) Bağlantı Şeması: Kaynak Kodu: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 #include <QTRSensors.h> #define Kp 0 // Kendi deneyimlerinizle bulmanız gerekli küçük bir değer ile başlayıp, büyütebilirsiniz en kararlı Kp değerini bulana kadar.. #