Archive for Mayıs, 2017

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

Raspberry Pi 3 PIR Sensör ile Hareket Algılama #9


Bu içerik 16 Aralık 2016 tarihinde Raspberry Pi 3 Uyumlu olarak güncellenmiştir. Güncellenmiş bölümleri görmeyi kolaylaştırmak için, güncellenmiş bölümleri ayrı ayrı bu kutuya yazdık. 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 makalede, PIR sensörümüzü ve reed röleyi Raspberry Pi'mizi kullanarak basit bir ev güvenlik sistemi kuracağız. Gerekli malzemeler:

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

PIR sensörü nedir?

Bildiğimiz gibi, PIR sensörü, hareket algılamada sıkça kullanılan pratik bir sensördür. Kamış rölesi normalde her iki ucunda da açıktır. Eğer reed rölesine manyetik bir cisim yaklaşırsa, bu etki cam tüp içindeki reed rölenin kontaklarının birbirine temas etmesine ve iki ucun kısa devre yapmasına neden olur.

Ahududu Pi – Reed röle ve PIR sensör devresi:

Python kodumuz devre ile çalışacaktır hareket.py Olarak kaydederiz:

ithalat zamanı ithalat RPi.GPIO io io.setmode (io.BCM) olarak pir_pin = 18 door_pin = 23 io.setup (pir_pin, io.IN) # io.setup girişini etkinleştir (door_pin, io.IN, pull_up_down = io.PUD_UP ) # True iken PullUp ile girişi etkinleştirin: eğer io.input (pir_pin): io.input (door_pin) ise yazdırın (“MOTION ALARM!”): print (“DOOR ALARM!”) time.sleep (0.5)

Programımızı çalıştırıyoruz (Raspbian'ın şimdiki sürümünde, Python komutlarından önce sudo yazmamıza gerek yok):

sudo python act.py

Python programının ayrıntılı bir açıklaması için aşağıdaki videoyu izleyebilirsiniz:


Programlamada Notasyon – Yazım Kültürü


Yazılımcıların program yazarken kullandıkları yazım tarzına, programlamada notasyon denir. (Notation) Yani program yazarken tanımlanan değişkenlerin nasıl yazılacağına karar verilen yazım kültürüdür.

Macar Notasyonu | Hungarian Notation 
Yazıların önüne tipi hakkında bilgi veren harf ön eki eklenir. Değişkenlerin ön ek alarak isimlendirildiği yazım biçimidir. Ön ekler değişkenin türü hakkında bilgi verir. Yani integer tipinde  sayi adında bir değişken tanımlamak istiyorsak isayi olarak tanımlarız.

Örnek
 string sadsoyad s = string
 int isayi i = int (tamsayı)
 short nsayi n = short int (kısa tamsayı) 
 long lsayi l = long int (uzun tamsayı)

Deve Notasyonu | Camel Notation
Değişken isimleri bir aşağı bir yukarı yazıldığından bu ismi almıştır. İlk harf küçük başlar, birden fazla kelime varsa diğer kelimelerin ilk harfi büyük yazılır.

Örnek
 string adiSoyadi
 int dersNotu

Paskal Notasyonu (Pascal Notation)
Paskal yazım şekli deve yazılım şekline benzer. Farklı olarak ilk karakter büyük harf ile başlar.

Örnek
 int ToplamRakam
 string AdSoyad

Altçizgili Notasyonu |Underscore Notation
Bu yazım şeklinde tüm harfler küçük yazılır. Eğer birden fazla kelime varsa kelimeler arasında “_” alt tire kullanılır.

Örnek
 string ad_soyad
 int ders_notu

Büyük Harf Notasyonu | Uppercase Notation
Adında belli olduğu gibi büyük harf ile yazım şeklidir

Örnek
 string ADSOYAD
 int DERSNOTU

 


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