Sanallaştırma

Raspberry Pi Nedir? Modelleri Nelerdir? Pi 3 Kurulumu #1


Bu içerik ​9 ​Nisan 201​8 tarihinde güncellenmiştir​. Güncellenen kısımları daha kolay şekilde görebilmeniz için farklı renkte (lacivert) yazdık. Güncelliğini yitiren kısımların ise üzerini çizdik. Keyifle oku, bol bol üret!

Merhaba arkadaşlar,

Yazıyı okumadan önce sizlere kolaylık olması için bir açıklama yapmak istiyoruz. Raspberry Pi Dersleri serimizde kullanacağımız malzemelerin tamamına sizler için hazırladığımız setler ile kolayca sahip olabilirsiniz. Raspberry Pi’ye Uzaktan Bağlantı Yöntemleri (VNC,SSH,TTL) #4 dersimize kadar olan malzemeler için Kombo Kit, Raspberry Pi 3 Röle Kartı İle Alarm Devresi Yapımı #11 dersimize kadar olan malzemeler için Süper Başlangıç Seti, tüm derslerdeki malzemeler için Proje Seti tercih edebilirsiniz.

Raspberry Pi serimizde sizlerle birlikte çeşitli uygulamalar yapacağız. Öncelikle en temelden başlayalım:

Raspberry Pi nedir?

Raspberry Pi, kredi kartı büyüklüğünde bir bilgisayardır. Fiyatının uygun olması sebebiyle özellikle küçük yaştaki çocukların kullanması ve kodlamayı sevmesi için geliştirilmiştir. Ama tabi ki bu bizlerin de kullanması ve sevmesine engel olmamalı 🙂 . Masaüstü veya dizüstü bilgisayarların yapabileceği çoğu işlemi yapabilme kapasitesine sahiptir.

Raspberry Pi Modelleri

Raspberry Pi’nin çeşitli modelleri bulunmaktadır. Bu modeller temelde aynı olsalar da, yenilik, hız vb. açılardan farklılık gösterirler.

  • Model A: Raspberry Pi’nin en temel sürümüdür. Üzerinde sadece 1 adet USB portu, 3.5 mm stereo ses çıkışı, kompozit video ve HDMI portu bulunur. Ethernet girişi bulunmaz. ARM v6 mimarisine sahip tek çekirdek işlemciye sahiptir. 256MB RAM belleği vardır. 26-pinli GPIO konektörü bulunur. Az güç tüketmesi sayesinde gömülü sistem projelerinde kullanılması için tasarlanmıştır.
  • Model A+: Model A’nın güncellenmiş sürümüdür. Bu sürümde 26-pinli GPIO konektörü 40-pine çıkartılmış, kompozit video çıkışı kaldırılmış ve normal SD kart yerine mikro SD kart slotu kullanılmıştır. Kart boyutları ufaltılarak yer sıkıntısı çekilebilecek projelerde kullanılması hedeflenmiştir. En küçük boyutlu Raspberry Pi’dir.
  • Model B: Raspberry Pi’nin en çok bilinen ve kullanılan modelidir. 2 adet USB portu, Ethernet girişi, 3.5 mm stereo HDMI ve kompozit video çıkışları bulunur. ARMv6 mimarisine sahip tek çekirdek işlemciye sahiptir. 512MB RAM belleği vardır. 26-pinli GPIO konektörü bulunur. En popüler Raspberry Pi modelidir.
  • Model B+: Raspberry Pi Model B’nin geliştirilmiş ve kart tasarımı değiştirilmiş sürümüdür. Model B’den farklı olarak 4 adet USB portu, normal SD kart yerine mikro SD kart slotu ve 26-pin yerine 40-pinli GPIO konektörü bulunur. HDMI ve Ethernet bağlantıları yine bu kartta yer almaktadır. Kompozit video çıkışı bu kartta ayrı bir konektör olarak yer almamaktadır, 3.5 mm ses çıkış portundan 3’lü RCA tipi kabloyla bağlanır.
  • Raspberry Pi 2: Raspberry Pi’nin şimdiye kadarki en güçlü modelidir. Model B+ ile aynı kart dizilimine sahip olmasına karşın, bu kartta ARMv7 mimarisine sahip 4 çekirdekli işlemci ve 1GB RAM bellek bulunmaktadır. Model B+ ile aralarında çok fazla fiyat farklı bulunmadığından, satın almanızı tavsiye edeceğimiz model budur. Bu seride yapacağımız uygulamaların tamamında Raspberry Pi 2 kullanılacaktır. Diğer kartlar da aynı işletim sistemlerini çalıştırabildiğinden, sizler isterseniz diğer modelleri kullanabilirsiniz.
  • Raspberry Pi 3: Raspberry Pi 2’nin devamı olan bu modelin en büyük farkı dahili Wi-Fi ve Bluetooth bağlantıya sahip olmasıdır. Ayrıca ARMv8 64-bit mimarisine sahip 4 çekirdekli işlemcisi, 1.2GHz frekansında çalışmaktadır ve 1GB RAM belleğe sahiptir. Raspberry Pi Dersleri serimizdeki tüm yazılarda Pi 3 modeli kullanılacaktır.
  • Raspberry Pi Zero: Bütün dünyayı ayağa kaldıran Raspberry Pi modelidir :). Bunun en büyük sebebi, $5’lık fiyat etiketiyle satışa sunulması olmuştur. En küçük boyutlu Raspberry Pi modelidir. Donanımı (işlemci ve belleği) Raspberry Pi Model B ile tamamen aynıdır. Boyutundan dolayı tam boy USB yerine mikro USB-OTG portuna sahiptir. Detaylı bilgi için buradaki yazıyı inceleyebilirsiniz.
  • Raspberry Pi 3 B+: Raspberry Pi’nin 2018 Pi Günü (14 Mart) çıkmış olan en güncel sürümüdür. Fiziksel olarak kartın boyutu ve yerleşimi B+/2/3 sırasını takip edecek şekilde değişmeden aynı formunu korumuş, buna karşılık işlemcisi ve kablolu/kablosuz ağ bağlantı hızı güncellenmiştir. Pi 3B+ üzerinde yer alan gigabit Ethernet kontrolcü sayesinde eskisine göre 3 kat daha hızlı ve PoE (Power-over-Ethernet) destekli kablolu; çift band 802.11ac kablosuz bağlantı sayesinde ise kablosuz bağlantıda 2 kat hızlı bağlantı desteği sunulmaktadır. Ayrıca Bluetooth desteği de Pi 3’te sağlanan Bluetooth BLE 4.1’den BLE 4.2’ye terfi etmiştir. Detaylı bilgi edinmek isterseniz blogumuzda yer alan Raspberry Pi 3 Model B+ İncelemesi yazımızı da okumanızı tavsiye ederiz.

Raspberry Pi’yi tam fonksiyonlu bir bilgisayar olarak kullanabilmeniz için HDMI bağlantıya sahip bir ekran veya televizyon ve ayrıca bir klavye-fare setine ihtiyaç duyacaksınız. Tavsiyem, tek alıcıya sahip kablosuz bir klavye-fare seti edinmenizdir. Bu sayede kısıtlı sayıdaki USB portlarını tasarruflu kullanmış olursunuz. Tüm Raspberry Pi modelleri, mikro USB tipinde bir güç beslemesi girişine sahiptir. Resmi Raspberry Pi Adaptörü kullanırsanız muhtemelen herhangi bir sorun ile karşılaşmazsınız. Bunun yanı sıra tabi ki, 2A gibi yüksek akım sağlayan cep telefonu şarj adaptörlerinizi de kullanabilirsiniz.

Raspbian Kurulumu

Not: Yazının altında Windows üzerinden Raspbian kurulumunu videolu şekilde anlattık. Oradan kolayca izleyerek kurulumunuzu yapabilirsiniz.

Raspberry Pi, GNU/Linux işletim sistemleriyle çalışması için tasarlanmıştır. Kullanabilmeniz için, en az 4 GB kapasiteli bir SD karta ihtiyacınız olacaktır. Raspberry Pi için özel olarak hazırlanmış bir Debian sürümü olan Raspbian, en popüler işletim sistemi tercihidir. Farklı işletim sistemlerine https://www.raspberrypi.org/downloads/ adresinden göz atabilirsiniz. Bu serimizdeki tüm uygulamaları Raspbian kullanarak yapacağız. Tavsiyem, yeni başlıyorsanız bu işletim sistemini kullanmanızdır.

Raspbian kurulumu için https://www.raspberrypi.org/downloads/raspbian/ adresini ziyaret ediyoruz. Raspbian işletim sisteminin PIXEL masaüstü ortamına sahip tam sürümü ve masaüstü ortamı barındırmayan Lite sürümleri mevcuttur. Bu seride PIXEL masaüstü ortamına sahip sürümü kullanacağız. İşletim sistemlerini doğrudan .zip dosyası olarak indirmek için “Download ZIP” seçeneğini veya torrent istemcisi kullanarak indirmek isterseniz “Download Torrent” seçeneğini tıklayabilirsiniz. Bu yazıyı hazırladığım vakit, en güncel Raspbian sürümü Mayıs 2015’te çıkan 2015-05-05 sürümü idi. Bu yazıyı güncellediğim 9 Nisan 2018 tarihinde en güncel Raspbian sürümü Mart 2018’de çıkan 2018-03-13 sürümü idi.

Raspbian’ı indirdikten sonra SD karta yazmamız için gerekli olan Win32 Disk Imager programını indiriyoruz. http://sourceforge.net/projects/win32diskimager/files/Archive/ adresinden Win32DiskImager-0.9.5-binary.zip dosyasını seçerek indiriyoruz.

Her iki dosya da indikten sonra ZIP dosyalarını açıyoruz. SD kartımızı bilgisayarımıza takıyor ve Win32DiskImager.exe programını çift tıklayarak açıyoruz. Daha sonra ZIP’ten çıkarttığımız Raspbian imaj dosyasını seçiyoruz. Dikkat! “Write” butonuna tıklamadan önce “Device” kısmından bilgisayarımızdaki SD kart okuyucunun seçili olduğundan emin olun! Seçtiğimiz dosyadan ve yazmak istediğimiz sürücü harfinden emin olduktan sonra “Write” a tıklayarak işlemi başlatıyoruz.

Yazma işlemi, kartımızın hızına ve imaj dosyasının büyüklüğüne göre biraz uzun sürebilir. İşlemin sonunda program “Write Succesful” şeklinde bize işlemin tamamlandığına dair bir mesaj verecek. Bu aşamada SD kartımızı bilgisayarımızdan çıkartıp Raspberry Pi’mize takabiliriz.

SD kartı Raspberry Pi’mize taktıktan sonra ilk çalıştırma için, Raspberry Pi’mize klavye-faremizi USB üzerinden bağlayıp HDMI ile bir ekrana veya televizyona bağlantı yapıyoruz. Mikro USB güç konektöründen adaptörümüzü bağladığımızda Raspberry Pi’miz açılıyor ve karşımıza yapılandırma programı çıkıyor. Bu program ile ilgili detaylı bilgiyi serimizin ikinci yazısında bulabilirsiniz. Raspbian’ın PIXEL sürümü doğrudan masaüstüne açılmaktadır. Serimizin bir sonraki yazısında gerekli ayarları yapmayı öğreneceğiz.

Okumadan izleyerek de kurulumu yapabilirsiniz. Sizler için video hazırladık.



Raspberry Pi 3 İle MPU6050 İvmeölçer/Jiroskop Kullanımı #17


You can easily have all of the materials we will use in our Raspberry Pi Lessons series with the sets we have prepared for you. Remote Connection Methods to Raspberry Pi (VNC, SSH, TTL) # 4 for materials up to our class Combo Kit, Alarm Circuit Making with Raspberry Pi 3 Relay Card # 11 for materials up to our class Super Starter Kitfor materials in all courses Project Set You can choose.

Hello friends. In this lesson, we will connect an accelerometer / gyroscope board (MPU6050) to our Raspberry Pi.

Necessary materials:

What is MPU6050 6-axis Gyroscope / Accelerometer Board?

The MPU6050 is an IMU (inertial measurement unit) sensor with a 3-axis gyroscope and a 3-axis accelerometer. It is used to measure the motion and acceleration of objects. The most basic sensor of unmanned aerial vehicles is this and similar IMUs. They are also used in devices such as balance robots, camera stabilization devices.

mpu6050-breakout
MPU6050 breakout card

Difference of gyroscope and accelerometer:

Difference between gyroscope and accelerometer; the movement of the gyroscope and the accelerometer measures the acceleration. As we know, the only acceleration that affects an inert object is gravity. In this way, we can obtain the orientation in three-dimensional space by measuring the gravitational acceleration acting on the object with the accelerometer. Information from the accelerometer, m / s2nd or multiples of g with a force of gravity. The gyroscope is used to measure the movement of the object on any axis. In a stationary object, the gyroscope measures zero or very close. As long as the object moves, the gyroscope sensor will give us the speed of this movement in a speed unit such as degrees / seconds.

Important Note: The sensor used in this course uses I2C connection. The I2C interface of our Raspberry Pi must be open for the circuit to work. If you did not follow the series in sequence Raspberry Pi Lessons 1: Initial Setup with raspi-config You can activate the interface by using our lesson.

The MPU6050 has an I2C communication interface. The I2C communication interface is a serial communication interface developed by the Philips semiconductor unit (now NXP). It is often referred to as abbreviations such as I2C (inter-integrated circuit), IIC and TWI (two-wire interface). The SMBus (System Management Bus) protocol, developed by Intel in 1996, is also based on I2C, which is why it is called by Linux. Since it uses 2 communication lines (SCL: serial clock and SDA: serial data), it has a very practical use.

Raspberry Pi – MPU6050 circuit diagram:

rPI-mpu6050
Raspberry Pi – MPU6050 connection diagram

After connecting our circuit, we run our Raspberry Pi. On a terminal screen when the operating system starts up

i2cdetect -y 1

command to list all I2C devices connected to the system. If our connection is correct as follows 68 Our sensor should appear at:

Note: If you are using the Model B version of Raspberry Pi with 256MB RAM, i2cdetect -y 0 We need to change to.

If our sensor was detected by the system without problems, we are ready to run our Python code:

import smbus
import math
import time

# Power management registers
power_mgmt_1 = 0x6b
power_mgmt_2 = 0x6c

def read_byte (adr):
 return bus.read_byte_data (address, adr)

def read_word (adr):
 high = bus.read_byte_data (address, adr)
 low = bus.read_byte_data (address, adr + 1)
 val = (high << 8) + low
 return val

def read_word_2c(adr):
 val = read_word(adr)
 if (val >= 0x8000):
 return - ((65535-val) + 1)
 else:
 return val

def dist (a, b):
 return math.sqrt ((a * a) + (b * b))

def get_y_rotation (x, y, z):
 radians = math.atan2 (x, dist (y, z))
 return -math.degrees (radians)

def get_x_rotation (x, y, z):
 radians = math.atan2 (y, dist (x, z))
 return math.degrees (radians)


bus = smbus.SMBus (1)
address = 0x68 # MPU6050 I2C address

# Since MPU6050 is in sleep mode when it first starts, we run the following command to run it:
bus.write_byte_data (address, power_mgmt_1, 0)

while True:
 time.sleep (0.1)
 #Read gyroscope registers
 gyro_xout = read_word_2c (0x43)
 gyro_yout = read_word_2c (0x45)
 gyro_zout = read_word_2c (0x47)

 print "Gyroscope X:", gyro_xout, "scale:", (gyro_xout / 131)
 print "Gyroscope Y:", gyro_yout, "scale:", (gyro_yout / 131)
 print "Gyroscope Z:", gyro_zout, "scale:", (gyro_zout / 131)
 
 #Ivmeolcer read registers
 accel_xout = read_word_2c (0x3b)
 accel_yout = read_word_2c (0x3d)
 accel_zout = read_word_2c (0x3f)

 accel_xout_scaled = accel_xout of 16384.0
 accel_yout_scaled = accel_yout of 16384.0
 accel_zout_scaled = accel_zout of 16384.0

 print "Ivmeolcer X:", accel_xout, "scale:", accel_xout_scaled
 print "Ivmeolcer Y:", accel_yout, "scale:", accel_yout_scaled
 print "Ivmeolcer Z:", accel_zout, "scale:", accel_zout_scaled

 print "Freeze X:", get_x_rotation (accel_xout_scaled, accel_yout_scaled, accel_zout_scaled)
 print "Freeze Y:", get_y_rotation (accel_xout_scaled, accel_yout_scaled, accel_zout_scaled)

 time.sleep (0.5)

While our code is running, it should give us the information as follows:


Raspberry Pi 3 İle Sese Duyarlı Alarm Devresi #16


Raspberry Pi Dersleri serimizde kullanacağımız malzemelerin tamamına sizler için hazırladığımız setler ile kolayca sahip olabilirsiniz. Raspberry Pi’ye Uzaktan Bağlantı Yöntemleri (VNC,SSH,TTL) #4 dersimize kadar olan malzemeler için Kombo Kit, Raspberry Pi 3 Röle Kartı İle Alarm Devresi Yapımı #11 dersimize kadar olan malzemeler için Süper Başlangıç Seti, tüm derslerdeki malzemeler için Proje Seti tercih edebilirsiniz.

Merhaba arkadaşlar. Bu dersimizde Raspberry Pi’mizi kullanarak sese duyarlı alarm devresi yapacağız.

Gerekli malzemeler:

Bildiğimiz üzere Raspberry Pi’miz, 3.5mm jak çıkışı ve HDMI üzerinden ses çıkışı sunabilmektedir. Buna karşılık Pi üzerinde herhangi bir ses girişi mevcut değildir. Ses kaydı amaçlı mikrofon bağlamak için özel shield kartları veya USB ses kartları kullanmamız gerekir. Bu derste ise çok daha basit yapıya sahip bir mikrofon sensörü ile ses şiddeti algılayıp, bu şiddetin seviyesine göre sesli bir alam tetiklemeyi öğreneceğiz.

Ses Sensörü Nedir?

Kullanacağımız ses sensörü, bir mikrofon ve basit bir amfi devresinden oluşmaktadır. Mikrofonun çıkışındaki çok düşük seviyedeki (milivoltlar mertebesinde) sinyali, amfi devresi güçlendirerek analog veya dijital olarak çıkış almamızı sağlar. Analog sinyal, bize sesin şiddetini ölçmemizi sağlarken kart üzerinde bulunan vidalı trimpot ile dijital çıkışın hangi seviyede aktif olacağını çok hassas bir şekilde ayarlayabilmemiz mümkündür.

Kartın üzerinde yer alan LED’lerden trimpotun yakınında yer alanı, dijital çıkışın hangi seviyede tetikleneceğini gösterir.

Raspberry Pi – ses sensörü devre şeması:

Not: Kullandığım çizim programında (Fritzing) ses sensörünün birebir aynısını bulamadığım için temsili olarak bir mikrofon kartı kullandım. Sizler bağlantı yaparken sensörün + pinin 3.3V’a, G pinini GND’ye, DO pinini de GPIO18’e bağlayın.

Ses sensörü Python kodu (alternatif link):

import time 
import RPi.GPIO as GPIO 
GPIO.setmode(GPIO.BCM)

buzzer_pin = 17
sensor_pin = 18 

GPIO.setup(sensor_pin, GPIO.IN)
GPIO.setup(buzzer_pin, GPIO.IN)
GPIO.setup(buzzer_pin, GPIO.OUT) 

notes = {
 'B0' : 31,
 'C1' : 33, 'CS1' : 35,
 'D1' : 37, 'DS1' : 39,
 'EB1' : 39,
 'E1' : 41,
 'F1' : 44, 'FS1' : 46,
 'G1' : 49, 'GS1' : 52,
 'A1' : 55, 'AS1' : 58,
 'BB1' : 58,
 'B1' : 62,
 'C2' : 65, 'CS2' : 69,
 'D2' : 73, 'DS2' : 78,
 'EB2' : 78,
 'E2' : 82,
 'F2' : 87, 'FS2' : 93,
 'G2' : 98, 'GS2' : 104,
 'A2' : 110, 'AS2' : 117,
 'BB2' : 123,
 'B2' : 123,
 'C3' : 131, 'CS3' : 139,
 'D3' : 147, 'DS3' : 156,
 'EB3' : 156,
 'E3' : 165,
 'F3' : 175, 'FS3' : 185,
 'G3' : 196, 'GS3' : 208,
 'A3' : 220, 'AS3' : 233,
 'BB3' : 233,
 'B3' : 247,
 'C4' : 262, 'CS4' : 277,
 'D4' : 294, 'DS4' : 311,
 'EB4' : 311,
 'E4' : 330,
 'F4' : 349, 'FS4' : 370,
 'G4' : 392, 'GS4' : 415,
 'A4' : 440, 'AS4' : 466,
 'BB4' : 466,
 'B4' : 494,
 'C5' : 523, 'CS5' : 554,
 'D5' : 587, 'DS5' : 622,
 'EB5' : 622,
 'E5' : 659,
 'F5' : 698, 'FS5' : 740,
 'G5' : 784, 'GS5' : 831,
 'A5' : 880, 'AS5' : 932,
 'BB5' : 932,
 'B5' : 988,
 'C6' : 1047, 'CS6' : 1109,
 'D6' : 1175, 'DS6' : 1245,
 'EB6' : 1245,
 'E6' : 1319,
 'F6' : 1397, 'FS6' : 1480,
 'G6' : 1568, 'GS6' : 1661,
 'A6' : 1760, 'AS6' : 1865,
 'BB6' : 1865,
 'B6' : 1976,
 'C7' : 2093, 'CS7' : 2217,
 'D7' : 2349, 'DS7' : 2489,
 'EB7' : 2489,
 'E7' : 2637,
 'F7' : 2794, 'FS7' : 2960,
 'G7' : 3136, 'GS7' : 3322,
 'A7' : 3520, 'AS7' : 3729,
 'BB7' : 3729,
 'B7' : 3951,
 'C8' : 4186, 'CS8' : 4435,
 'D8' : 4699, 'DS8' : 4978
}

def buzz(frequency, length):

 if(frequency==0):
 time.sleep(length)
 return
 period = 1.0 / frequency
 delayValue = period / 2
 numCycles = int(length * frequency)
 
 for i in range(numCycles):
 GPIO.output(buzzer_pin, True)
 time.sleep(delayValue)
 GPIO.output(buzzer_pin, False)
 time.sleep(delayValue)

def play():
 buzz(notes('A3'), 0.5)
 buzz(notes('A3'), 0.5)
 buzz(notes('A3'), 0.5)
 buzz(notes('F3'), 0.35)
 buzz(notes('C4'), 0.15)
 buzz(notes('A3'), 0.5)
 buzz(notes('F3'), 0.35)
 buzz(notes('C4'), 0.15)
 buzz(notes('A3'), 1.0)

while True:
 if GPIO.input(sensor_pin):
 print("Ses Alarmi!")
 play()
 time.sleep(0.5)

Alarmın melodisi eminim çoğunuza tanıdık gelecektir 😀


Raspberry Pi 3 İle RC522 RFID Modülü Kullanımı #15


Ahududu Pi Dersleri serimizde kullanacağımız tüm malzemeyi sizler için hazırladığımız setlerle kolayca elde edebilirsiniz. Ahududu Pi'ye Uzaktan Bağlantı Yöntemleri (VNC, SSH, TTL) # 4 sınıfımıza kadar olan malzemeler için Combo Kit, Ahududu Pi 3 Röle Kartı ile Alarm Devresi Yapma # 11 sınıfımıza kadar olan malzemeler için Süper Başlangıç ​​Setitüm kurslardaki materyaller için Proje seti Seçebilirsiniz.

Merhaba. Bu derste Raspberry Pi'de RFID kart okuma işlemini sizinle yapacağız.

Gerekli malzemeler:

RFID, radyo dalgaları kullanarak nesnelerin tanımlanması için geliştirilmiş bir teknolojidir. Toplu taşımada biletler, gişelerde kullanılan HGS / OGS gibi ödeme sistemleri okullarımızda / iş yerlerimizdeki turnikelerde sıkça karşılaşılmaktadır. Bu derste, Raspberry Pi kullanarak RFID okuma örneği yapacağız.

RFID okuyucu kartlarından en popüler olanı, muhtemelen fiyatı nedeniyle entegre olan MFRC522'dir.

Sette NXP şirketi entegre MFRC522 üretti (veri Sayfasıbir adet RFID kartı ve anahtarlık ile birlikte gelir. MFRC522 bir SPI arayüzüne sahip olduğundan, Arduino gibi mikrodenetleyicilerle veya Raspberry Pi gibi tek kartlı bilgisayarlarla kolayca kullanılabilir. Paketin içindeki başlığı lehimledikten sonra, kartımızı Raspberry Pi'mize aşağıdaki şemaya göre bağlarız:

RC522 – Ahududu Pi bağlantı şeması

Devre bağlantımızı tamamladıktan sonra Python kodumuzun çalışması için gerekli kütüphaneyi yüklememiz gerekir:

sudo pip yükleme pi-rc522

Aşağıdaki Python kodu rfid-read.py Dosyayı kaydediyoruz. Alternatif olarak kod buradan Ayrıca kopyalayabilirsiniz.

pirc522'den ithal RFID
ithalat sinyali
ithalat zamanı

rdr = RFID ()
util = rdr.util ()
util.debug = Doğru
Yazdır ("Kart bekliyorum ...")
rdr.wait_for_tag ()
(hata, veri) = rdr.request ()

hata değilse:
Yazdır ("Kart Algılandı!")
(error, uid) = rdr.anticoll ()
hata değilse:
kart_uid = str (uid (0)) + "" + str (uid (1)) + "" + str (uid (2)) + "" + str (uid (3)) + "" + str (uid ( +) "4))
Yazdır (kart_uid)

Kodu kaydettikten sonra

python rfid-read.py

komuta ve kartımızı çalıştırın. Böylece okuduğumuz kartın kullanıcı kimliğini öğreniyoruz:

Burada kartımızın kullanıcı kimliğini görüyoruz. Tek yapmamız gereken buraya UID'yi yazmak. Ve bir sonraki programımız rc522.py dosya (alternatif olarak buradan Ayrıca erişebilirsiniz):

pirc522'den ithal RFID
ithalat sinyali
ithalat zamanı
RPI.GPIO'yu GPIO olarak içe aktarma

ledpin = 7
Gpıo.setmo'da (GPIO.BOARD)
GPIO.setup (ledpin, GPIO.OUT)
rdr = RFID ()
util = rdr.util ()
util.debug = Doğru

Doğru iken:
rdr.wait_for_tag ()
(hata, veri) = rdr.request ()
hata değilse:
Yazdır (" nCard Algılandı!")
(error, uid) = rdr.anticoll ()
hata değilse:
# UID Yazdır
kart_uid = str (uid (0)) + "" + str (uid (1)) + "" + str (uid (2)) + "" + str (uid (3)) + "" + str (uid ( +) "4))
Yazdır (kart_uid)
eğer card_uid == "xxxxxxxxxxxxxxxxxx":
baskı ("LED Yandı!")
GPIO.output (ledpin, Doğru)
Başka:
baskı ("LED Son!")
GPIO.output (ledpin, Yanlış)

Kopyaladığımız UID'yi kopyalayabilirsiniz.

    eğer card_uid == "xxxxxxxxxxxxxxxxxx":

değeri ile satır. Böylece, program okuduğumuz RFID kartını tespit ettiğinde, bağladığımız LED'i aydınlatır. Farklı bir kart okuduğumuzda, LED sönecektir:

Yanıp sönen LED örnek bir uygulamadır. Örneğin, LED yerine bir röle kartı bağlayabilir ve istenen UID'ye sahip bir kart okunduğunda 0.5 saniye çıkış vererek bir RFID kilit açma uygulaması gerçekleştirebilirsiniz.


Raspberry Pi 3 İle Step Motor Kontrolü Nasıl Yapılır? #14


Bu içerik 13 Ocak 2017 tarihinde güncellenmiştir. Raspberry Pi 3 Uyumlu Farklı renklerde yazdık (lacivert), böylece güncellenmiş parçaları daha kolay görebilirsiniz. Eski parçaları yeniledik. Zevkle okuyun, bolca üretin!

Ahududu Pi Dersleri serimizde kullanacağımız tüm malzemeyi sizler için hazırladığımız setlerle kolayca elde edebilirsiniz. Ahududu Pi'ye Uzaktan Bağlantı Yöntemleri (VNC, SSH, TTL) # 4 sınıfımıza kadar olan malzemeler için Combo Kit, Ahududu Pi 3 Röle Kartı ile Alarm Devresi Yapma # 11 sınıfımıza kadar olan malzemeler için Süper Başlangıç ​​Setitüm kurslardaki materyaller için Proje seti Seçebilirsiniz.

Merhaba arkadaşlar. Bu yazımızda Ahududu Pi kullanarak step motor kontrolü Uygulama yapacak.

Gerekli malzemeler:

Bu Küme Projede Malzemeler. Şimdi Görüntüle>

Kademeli motorlar hassas hareket gerektiren uygulamalarda kullanılır. Bir fonksiyon olarak, hem DC motorların hem de servo motorların karakterini gösterir: ya belirli bir konuma basılabilir ya da istenen yönde sürekli döndürülebilir. Normal yazıcıların ve 3B yazıcıların vazgeçilmez bir parçasıdır.

Bu uygulamada kullanacağımız step motor genellikle sürücü kartı ile birlikte satılmaktadır. Bu şekilde breadboard'a ihtiyaç duymadan kolayca bağlantı kurabiliriz.

Bağlantıları yaptıktan sonra, Raspberry Pi'imizi çalıştırıp stepper.py adlı bir dosya oluşturup aşağıdaki kodu yazıyoruz:

GPIO.setup (enable_pin, GPIO.OUT) GPIO.setup (coil_A_1_pin, GPIO.OUTup (coil_A_1_pin, GPIO.OUTup) coil_A_2_pin, GPIO.OUT GPIO.setup (coil_B_1_pin, GPIO.OUT) ) GPIO.output (enable_pin, 1) def ileri (gecikme, adımlar): i aralığında (0, adımlar): setStep (1, 0, 1, 0) time.sleep (gecikme) setStep (0, 1, 1 , 0) time.sleep (gecikme) setStep (0, 1, 0, 1) time.sleep (gecikme) setStep (1, 0, 0, 1) time.sleep (gecikme) def geriye doğru (gecikme, adımlar): – i (0, adımlar) aralığında: setStep (1, 0, 0, 1) time.sleep (gecikme) setStep (0, 1, 0, 1) time.sleep (gecikme) setStep (0, 1, 1, 0 ) time.sleep (gecikme) setStep (1, 0, 1, 0) time.sleep (gecikme) def setStep (w1, w2, w3, w4): GPIO.output (coil_A_1_pin, w1) GPIO.output (coil_A_2_pin, w2) ) GPIO.output (coil_B_1_pin, w3) GPIO.output (coil_B_2_pin, w4) True iken: delay = raw_input (“Adımı ve bekleme süresini ara (milisaniye)? Adımlar) adımları = raw_input (“ Kaç adım? İleriye doğru) ileri (( int (gecikme) / 1000.0, int (adımlar)) adımlar = raw_ giriş (“Kaç adım? Geri) geri (int (gecikme) / 1000.0, int (adımlar))

Bu kodu kaydettikten sonra

sudo python stepper.py

programın çalışmasını vererek komutunu verin. Raspbian'ın şimdiki sürümünde, Python komutlarından önce sudo yazmamıza gerek yok. Program ilk önce adımlar arasında beklememizi istiyor. Bunu hız olarak düşünebiliriz, değer ne kadar düşükse, step motor o kadar hızlı dönecektir. Bir sonraki adımda kaç adım attığını soruyor. Değer girildikten sonra motor dönmeye başlar ve motor durduktan sonra kaç adım geriye gideceğini sorar. Motor ters yönde çalıştıktan sonra bile, program başlangıcına döner.


Raspberry Pi İle DC Motor Kontrolü Nasıl Yapılır? #13


Bu içerik 13 Ocak 2017 tarihinde güncellenmiştir. Raspberry Pi 3 Uyumlu Farklı renklerde yazdık (lacivert), böylece güncellenmiş parçaları daha kolay görebilirsiniz. Eski parçaları yeniledik. Zevkle okuyun, bolca üretin!

Ahududu Pi Dersleri serimizde kullanacağımız tüm malzemeyi sizler için hazırladığımız setlerle kolayca elde edebilirsiniz. Ahududu Pi'ye Uzaktan Bağlantı Yöntemleri (VNC, SSH, TTL) # 4 sınıfımıza kadar olan malzemeler için Combo Kit, Ahududu Pi 3 Röle Kartı ile Alarm Devresi Yapma # 11 sınıfımıza kadar olan malzemeler için Süper Başlangıç ​​Setitüm kurslardaki materyaller için Proje seti Seçebilirsiniz.

Merhaba arkadaşlar. Bu yazıda, Ahududu Pi ve L293D motor sürücüsü entegre DC motor kullanmayı öğrenir. Gerekli malzemeler:

Bu Küme Projede Malzemeler. Şimdi Görüntüle>

L293D, iki DC motoru sürmek için çok popüler bir entegre sürücüdür.

L293D Pin bağlantıları aşağıdaki gibidir:

l293d Pins

Bu entegrein Giriş 1 ve giriş 2 girişleri, motorun dönme yönü; Enable pin hangi çıkışların aktif olduğunu kontrol eder. Bu örnekte sadece 1 motor kullanacağımızdan, 1 no'lu pimi “Enable 1,2 ..” bağlamamız gerekir.

Devremizi aşağıdaki gibi inşa ediyoruz:

Python kodumuz aşağıdakileri alarak motor.py dosya:

GPIO.setup (Motor1B, GPIO.OUT) GPIO.setup (Motor1B, GPIO.OUT) GPIO.setup (Motor1E, GP1) GPIO.OUTput yazdırma hareketi İleriye doğru hareket ”GPIO.output (Motor1A, GPIO.HIGH) GPIO.output (Motor Motor1B, GPIO.LOW) GPIO.output (Motor1E, GPIO.HIGH) uyku (2) “Geri hareket” GPIO'yu yazdırır. çıkışı (Motor1A, GPIO.LOW) GPIO.output (Motor1B, GPIO.HIGH) GPIO.output (Motor1E, GPIO.HIGH) uyku (2) “Motor durdu” yazdır GPIO.output (Motor1E, GPIO.LOW) GPIO.cleanup ()

Kodu kaydettikten sonra yazdık

sudo python motor.py

çalıştırarak komut verin. Raspbian'ın şimdiki sürümünde, Python komutlarından önce sudo yazmamıza gerek yok. Motorumuzu çalıştıracağız ve her bir terminal adımında aşağıdaki bilgileri göreceğiz:


Raspberry Pi 3 İle Servo Motor Kontrolü Nasıl Yapılır? #12


Bu içerik 13 Ocak 2017 Tarihinde Raspberry Pi 3 Uyumlu Olacak Şekilde Güncellenmiştir. Güncellenen kısımları daha kolay şekilde görebilmeniz için farklı renkte (lacivert) yazdık. Güncelliğini yitiren kısımların ise üzerini çizdik. Keyifle oku, bol bol üret!

Raspberry Pi Dersleri serimizde kullanacağımız malzemelerin tamamına sizler için hazırladığımız setler ile kolayca sahip olabilirsiniz. Raspberry Pi’ye Uzaktan Bağlantı Yöntemleri (VNC,SSH,TTL) #4 dersimize kadar olan malzemeler için Kombo Kit, Raspberry Pi 3 Röle Kartı İle Alarm Devresi Yapımı #11 dersimize kadar olan malzemeler için Süper Başlangıç Seti, tüm derslerdeki malzemeler için Proje Seti tercih edebilirsiniz.

Merhaba arkadaşlar. Bu yazıda Raspberry Pi kullanarak servo motor sürmeyi anlatacağım.

Gerekli malzemeler:

Projedeki Malzemeler Bu Sette. Şimdi İncele >

Servo motorlar, bildiğimiz üzere PWM ile çalışırlar. Çoğunlukla 0-180 derece arası açılarda çalışırlar. RC arabamızın direksiyonunda, helikopterlerin pervanelerine açı vermede ve uçakların kontrol yüzeylerini hareket ettirmede kullanılırlar.

Servo motorlar hakkında daha detaylı bilgi edinmek isterseniz RC Servo Motor Nedir? isimli videomuzu izleyebilirsiniz.

Devre şemamız bu şekilde (fazla akım çekmemesi için küçük boy plastik dişlili bir servo motor kullanmanızı tavsiye ederim):

Devremiz ile birlikte kullanacağımız Pyhton kodu ise burada:

from Tkinter import *import RPi.GPIO as GPIOimport timeGPIO.setmode(GPIO.BCM)GPIO.setup(18, GPIO.OUT)pwm = GPIO.PWM(18, 100)pwm.start(5)GPIO.setwarnings(False)class App: def __init__(self, master): frame = Frame(master) frame.pack() scale = Scale(frame, from_=0, to=180, orient=HORIZONTAL, command=self.update) scale.grid(row=0) def update(self, angle): duty = float(angle) / 10.0 + 2.5 pwm.ChangeDutyCycle(duty)root = Tk()root.wm_title(‘Servo Control’)app = App(root)root.geometry(“200×50+0+0”)root.mainloop()

Python kodunu servo.py isimli bir dosyaya kaydedin ve

sudo python servo.py

komutu ile çalıştırın.

Raspbian’ın güncel sürümünde Python komutlarından önce sudo yazmamıza gerek yoktur.

Ekranda çıkan “Servo Control” isimli penceredeki slider’ı kullanarak servo motorun açısını ayarlayabilirsiniz.

Programın detaylı bir şekilde anlatımı için aşağıdaki videoyu izleyebilirsiniz:


Raspberry Pi 3 Röle Kartı İle Alarm Devresi Yapımı #11


Bu içerik 16 Ocak 2017 Tarihinde Raspberry Pi 3 Uyumlu Olacak Şekilde Güncellenmiştir. Güncellenen kısımları daha kolay şekilde görebilmeniz için farklı renkte (lacivert) yazdık. Güncelliğini yitiren kısımların ise üzerini çizdik. Keyifle oku, bol bol üret!

Raspberry Pi Dersleri serimizde kullanacağımız malzemelerin tamamına sizler için hazırladığımız setler ile kolayca sahip olabilirsiniz. Raspberry Pi’ye Uzaktan Bağlantı Yöntemleri (VNC,SSH,TTL) #4 dersimize kadar olan malzemeler için Kombo Kit, Raspberry Pi 3 Röle Kartı İle Alarm Devresi Yapımı #11 dersimize kadar olan malzemeler için Süper Başlangıç Seti, tüm derslerdeki malzemeler için Proje Seti tercih edebilirsiniz.

Merhaba arkadaşlar. Bir önceki dersimizde Raspberry Pi’mizle hareket algılama uygulaması yapmıştık. Şimdi ise aynı hareket sensörünü ve bir röle kartı kullanarak Raspberry Pi’mizle hareket tetiklemeli alarm devresi yapacağız.

Gerekli malzemeler:

Projedeki Malzemeler Bu Sette. Şimdi İncele >

Röle kartı nasıl çalışır?

Röle kartımız çok basit şekilde “IN” pininden 0V yani lojik 0 sinyali aldığında NO ve COM çıkışlarını kısa devre yapar. Ters çalışmasını istiyorsak NO (normally open) yerine NC (normally closed) çıkışını kullanmamız yeterlidir. Röleler 220V AC şebeke geriliminde kullanılabilir, fakat tecrübeli değilseniz dikkatli davranmanızda yarar vardır.

Raspberry Pi harekete duyarlı röle kartı devre şeması:

ders12_relay_bb

Raspberry Pi ile harekete duyarlı röle kartı Python kodu:

import time import RPi.GPIO as io io.setmode(io.BCM) pir_pin = 24 power_pin = 23 io.setup(pir_pin, io.IN) io.setup(power_pin, io.OUT)io.output(power_pin, True) while True: if io.input(pir_pin): print(“POWER ON”) io.output(power_pin, False) time.sleep(20); print(“POWER OFF”) io.output(power_pin, True) time.sleep(5) time.sleep(1)

Bu kod sayesinde, PIR sensör hareket algıladığında röleyi tetikliyor ve röle 20 saniye boyunca açık kalıyor. Daha sonra röle kapanıyor ve 5 sn sonra PIR sensör tekrar hareket algılamaya devam ederek yine bu döngüye devam ediyor. Rölenin çıkışını bir alarma, video kaydediciye vb. cihazlara bağlayarak bu devreyi basit bir harekete duyarlı güvenlik sistemi olarak kullanabilirsiniz.

Programın detaylı anlatımı için aşağıdaki videoyu izleyebilirsiniz:


Raspberry Pi 3 İle Uzaklık Ölçümü – HC-SR04 Ultrasonik Mesafe Sensörü #10


Ahududu Pi Dersleri serimizde kullanacağımız malzemelerin bulunduğu sizler için hazırladığımız setler ile orada olması olabilirsiniz. Ahududu Pi’ye Uzaktan Bağlantı Yöntemleri (VNC, SSH, TTL) # 4 dersimize kadar olan malzemeler için Kombo Kiti, Ahududu Pi 3 Röle Kartı İle Alarm Devresi Yapımı # 11 dersimize kadar olan malzemeler için Süper Başlangıç ​​Seti, tüm derslerde pişirme için Proje Seti tercih edilebilir.

Merhabalar. Bu dersimizde sizlerle Ahududu Pi’mize HC-SR04 ultrasonik mesafeyi bağlayarak yapacağınızızız.

Gerekli malzemimiz:

HC-SR04 ultrasonik mesafe odaklı nedir?

HC-SR04 ultrasonik mesafe işlevi, tüm robotik projelerde yer alan çok popüler bir sensördür. Kullanım kolaylığı ve ucuzluğu tercih sıkça tercih edilir.

Ultrasonik sensörlerin çalışma prensibi:

Sensörün çalışma prensibi basittir: TRIG pininden sinyal verilebilir durumda 40kHz frekansında bir ses dalgası sistemi kullanılarak üretilir ve bu ses dalgası bir cisme çarpıp geri döndüğü ECHO pini aktif hale gelir. Sesin havada yayılma hızını bildiğimiz için (deniz manzaralı ve 21 ° C sıcaklıkta 343.2 m / s), TRIG pinine verilen sinyalden sonra ECHO pininin aktif durumda zamana kadarki süreyi ölçerek aradaki mesafeyi okuyabilir.

Ahududu Pi – HC-SR04 ultrasonik mesafe mesafesi devresi:

Ahududu Pi ultrasonik mesafe ölçüm Python kodu:

Kodu kopyaladığını sorun yaşıyorsanız buradan deneyebilirsiniz.

RPI.GPIO'yu GPIO olarak içe aktarma
ithalat zamanı
GPIO.setmode (GPIO.BCM)
GPIO.setwarnings (Yanlış)

TRIG = 23
ECHO = 24

"HC-SR04 mesafe sensoru" yazdır

GPIO.setup (TETİK, GPIO.OUT)
GPIO.setup (EKO, GPIO.IN)

Doğru iken:

 GPIO.output (TRIG, Yanlış)
 "Olculuyor ..." yazdır
 time.sleep (2)

 GPIO.output (TRIG, Doğru)
 time.sleep (0,00001)
 GPIO.output (TRIG, Yanlış)

 GPIO.input (ECHO) == 0 iken
 pulse_start = time.time ()

 GPIO.input (ECHO) == 1 iken
 pulse_end = time.time ()

 pulse_duration = pulse_end - pulse_start

 mesafe = darbe_ süresi * 17150
 mesafe = yuvarlak (mesafe, 2)

 mesafe> 2 ve mesafe <400 ise:
 "nokta:", uzaklık - 0,5, "cm" yazdır
 Başka:
 "Menzil asildi" yazdır

  • Copyright © 1996-2010 Bilgisayar Mühendisinin Notları. All rights reserved.
    iDream theme by Templates Next | Powered by WordPress