sensörler ile arduino - cdn.shopify.com · wirelles interface for sensor and actuators (wisa) 25...

18
Volkan Kanat Sensörler ile Arduıno

Upload: truongnhan

Post on 26-Apr-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

Volkan Kanat

Sensörler ile Arduıno

İçindekilerBölüm 1: Sensörler 1

Giriş 2

Sensör ve Transdüser Kavramı 2

Sensör Çeşitleri 3

Termik Sensör ve Transdüserler 4

Termistör 5

LM35 7

DHT22 Isı ve Nem Sensörü 7

Termokupl 8

Manyetik Sensör ve Transdüserler 9

REED - Temassız Algılayıcılar 10

İndüktif - Manyetik Temassız Algılayıcılar 10

Hall Temassız Algılayıcılar 11

Basınç Sensörleri 11

Kapasitif Basınç Sensörleri 11

Load Cell Sensörleri 12

Strain Gauge Sensörleri 12

Piezoelektrik Basınç Sensörleri 13

Optik Sensörler 13

Foto Direnç (LDR) 14

Led Diyot 15

Foto Pil (Işık Pili, Güneş Pili) 15

Optokuplar 16

Fototransistörler 17

Pir Sensörler 17

xii Sensörler ile Arduıno - İçindekiler

Ses Sensörleri (Ultrasonik) 18

Encoderler 18

Mikrofon 19

Dinamik (Bobinli - Manyetik) Mikrofonlar 20

Kapasitif (Kondansör) Mikrofonlar 20

Şeritli (Bantlı) Mikrofonlar 21

Kristal Mikrofonlar 21

Karbon Tozlu Mikrofonlar 22

Hoparlör 22

Dinamik (Hareketli Bobinli) Hoparlörler 23

Piezoelektrik (Kristal) Hoparlörler 23

Kablosuz Sensör Ağı Teknolojisi 24

Wirelles Interface For Sensor And Actuators (Wisa) 25

Wirelless Hart 25

ISA100 26

ZigBee 26

Sensör Karakteristikleri 27

Ölçüm Aralığı 27

Çözünürlük 27

Hassasiyet 28

Hata 28

Gürültü 29

Kuantalama 29

Neler Öğrendik? 29

xiii Sensörler ile Arduıno - İçindekiler

Bölüm 2: Sıcaklık ve Nem Sensörleri 31

Giriş 32

Arduino ve Sıcaklık ve Nem Sensörleri 33

LM35 İle Sıcaklık Ölçme Uygulaması 33

DHT11 ile Sıcaklık ve Nem Ölçme Uygulaması 41

DHT22 ile Sıcaklık ve Nem Ölçme Uygulaması 44

DS18B20 ile Sıcaklık Ölçme Uygulaması 48

SHT15 ile Sıcaklık ve Nem Ölçme Uygulaması 51

Neler Öğrendik? 55

Bölüm 3: Mesafe Sensörleri 57

Giriş 58

Arduino ve Mesafe Sensörleri 59

HC-SR04 ile Mesafe Ölçme Uygulaması 59

Parallax Ping ile Mesafe Ölçme Uygulaması 71

Sharp GP2Y0A02YK0F ile Mesafe Ölçme Uygulaması 74

VCNL4000 ile Mesafe Ölçme Uygulaması 78

Neler Öğrendik? 81

Bölüm 4: Duman ve Gaz Sensörleri 83

Giriş 84

Arduino ve Duman & Gaz Sensörleri 85

MQ-4 ile Metan ve CNG Gazı Ölçme Uygulaması 85

MQ-6 ile LPG/İzobütan/Propan Gazı Ölçme Uygulaması 88

Oksijen Gazı Ölçme Uygulaması 92

MQ-3 ile Alkol Gazı Ölçme Uygulaması 95

MQ-7 ile Karbonmonoksit Gazı Ölçme Uygulaması 99

Neler Öğrendik? 102

xiv Sensörler ile Arduıno - İçindekiler

Bölüm 5: Işık ve Renk Sensörleri 103

Giriş 104

Foto Direnç (LDR) 104

Foto Diyot 105

Led Diyot 105

Foto Pil (Işık Pili, Güneş Pili) 106

Optokuplör 106

Fototransistörler 107

PIR Sensörler 107

Arduino ile Işık ve Renk Sensörleri 108

DR ile Işık Ölçme Uygulaması 109

Temt6000 ile Işık Ölçme Uygulaması 112

Ml8511 ile Işık Ölçme Uygulaması 115

Tsl2561 ile Işık Ölçme Uygulaması 118

Adjd-S311 ile Renk Ölçme Uygulaması 124

Arduino Lılypad Işık Sensörü Uygulaması 131

Neler Öğrendik? 133

Bölüm 6: Elektrik ve Manyetizma Sensörleri 135

Giriş 136

Reed/Temassız Algılayıcılar 136

İndüktif/Manyetik Temassız Algılayıcılar 137

Hall Temassız Algılayıcılar 137

Arduino ile Elektrik ve Manyetizma Sensörleri 138

ACS715 ile Akım Ölçme Uygulaması 138

INA169 ile Akım Ölçme Uygulaması 142

MAG3130 ile 3 Eksen Magnetometre Uygulaması 147

Neler Öğrendik? 152

xv Sensörler ile Arduıno - İçindekiler

Bölüm 7: İvmeölçerler 153

Giriş 154

Arduino ve İvmeölçerler 157

ADXL337 ile İvme Ölçme Uygulaması 157

MMA8452Q ile İvme Ölçme Uygulaması 162

MEMSIC 2125 ile İvme Ölçme Uygulaması 166

ADXL345 İle İvme Ölçme Uygulaması 171

Neler Öğrendik? 186

Ek1: Standart ASCII Tablosu 187

Kaynaklar 192

Kısaltmalar 192

Ek2: Kitapta Kullanılan Komponentlerin Listesi ve Indeks 193

Bölüm 1 | Sensörler 194

Bölüm 2 | Sıcaklık ve Nem Sensörleri 194

Bölüm 3 | Mesafe Sensörleri 194

Bölüm 4 | Duman ve Gaz Sensörleri 194

Bölüm 5 | Işık ve Renk Sensörleri 195

Bölüm 6 | Elektrik ve Manyetizma Sensörleri 195

Bölüm 7 | İvmeölçerler 196

Indeks 197

Bu Bölümde

Sensörler

1

Sensörler, kontrol sistemlerinin sıcaklık, nem, basınç gibi değerleri algılamasını sağlayan elemanıdır. İnsanların çevrelerinde olup bitenleri duyu organlarıyla algılamasına benzer biçimde çalışan sensörler hemen hemen her projede yer almakta. Arduino ile sensörleri kullanarak kolayca dış dünyadaki fiziksel değerleri algılayabilirsiniz.

Bu bölümde, sensör kavramına, sensör çeşitlerinin sınıflandırılmasına ve sensör seçiminde dikkat edilmesi gereken özelliklere değineceğiz.

Giriş 2Sensör ve Transdüser Kavramı 2Sensör Çeşitleri 3Termik Sensör ve Transdüserler 4Manyetik Sensör ve Transdüserler 9Basınç Sensörleri 11Optik Sensörler 13Ses Sensörleri (Ultrasonik) 18Mikrofon 19Hoparlör 22Kablosuz Sensör Ağı Teknolojisi 24Sensör Karakteristikleri 27Neler Öğrendik? 29

2 Bölüm 1 Sensörler

GirişGünümüzde fabrikalarda üretim, otomatik çalışan makinelerle yapılıyor. Bu makinelerin kontrolü ise elektronik ve bilgisayarlı sistemler tarafından gerçekleştiriliyor. Makinelerde oluşan mekaniksel ve fiziksel değişimleri bilgisayar sistemine aktarıp bilgisayar sisteminde işlenerek tekrar aynı makinenin ya da başka makinelerin kontrolünü sağlamak mümkün. İşte sensörler bu noktada devreye giriyor. Ortamda bulunan fiziksel bir değişikliği elektrik sinyallerine çevirecek elektronik sistemlere aktarmak için sensörleri kullanıyoruz. Örneğin; ortamdaki sıcaklığın, nemin ya da ışığın belirli bir değer aralığında tutulmasında sensörleri kullanıyoruz.

Sensörler sadece endüstriyel firmalarda kullanılan cihazlar değildir. Günlük yaşantımızda da bizi farklı ortamlarda gözetleyen gözler gibidir. Bizim programladığımız gibi işlerini aksatmadan yapan işçilerdir. Örneğin; ayarladığımız sıcaklığı algılayarak çalışan oda ısıtıcıları, televizyon kumandasından sürekli emir bekleyen televizyonun kumanda algılayıcısı, bizi gördüğünde otomatik açılan kapılar sensörlere en güzel örnektir.

Sensör ve Transduser Kavramıİnsanlar çevrelerindeki değişiklikleri duyu organları ile algılar ve buna bağlı olarak da hareket eder. Buna örnek verecek olursak üşüdüğümüzde ısıtıcıyı açarız veya ortam karanlık olduğunda ışığı açarız. Bu işleri bizim yerimize yapacak cihazlar olsa ne güzel olurdu diye hepimiz düşünmüşüzdür. Günlük hayatımızda ısı, ışık, basınç, ses gibi büyüklükler var olup bunların etkilerini duyu organlarımızla algılar, varlıklarından haberdar oluruz. Bu fiziksel büyüklükleri insanlar gibi algılayan ve bu algılama sonucunda gerekli ekipmanları devreye sokan ve çıkartan elemanlar sensörler ile transdüserlerdir. Fiziksel ortam

3Sensör Çeşitleri

değişikliklerini (ısı, ışık, basınç, ses vb.) algılayan elemanlara sensör, algıladığı bilgiyi elektrik enerjisine çeviren elemanlara ise transdüser denir.

Sensörlerden alınan veriler elektrik sinyaline dönüştürüldükten sonra elektronik devreler tarafından yorumlanarak mekanik aletlere kumanda edilebilir. Bu sayede hem günlük hayatımızı hem de endüstriyel üretim süreçlerini çok daha kolaylaştırmış oluruz.

Piyasadaki sensörler tek bir yapı şeklinde bulunmuyor. İhtiyaca, kullanım alanına ve hassasiyete göre sensörlerin boyutları ve şekilleri değişebiliyor. Bundan dolayı ihtiyacımız olan sensörü firmaların kataloglarını detaylı bir şekilde inceleyerek seçiyoruz. Sensörlerin diğer elektronik malzemeler gibi standart bir yapıları ve şekilleri bulunmuyor.

Sensör ÇeşitleriFiziksel ortamlardaki değişikliklerden dolayı mekanik bir makineyi veya elektronik bir devreyi çalıştırmamız gerektiğinde sensörler ve transdüserleri kullanıyoruz. Amacımıza uygun sensör ve transdüseri seçmek sonuca daha erken ulaşmamızı sağlayacaktır. Sensörleri genel olarak şu şekilde çeşitlendirebiliriz;

» Mekanik Sensörler: Uzunluk, alan, kütlesel akış, kuvvet, moment, basınç, hız, ivme, pozisyon, ses dalga boyu ve yoğunluğu gibi mekaniksel değişiklikleri al-gılayan sensör sınıfıdır.

» Termal Sensörler: Sıcaklık, ısı akışı gibi termal değişiklikleri algılayan sensör sınıfıdır.

» Elektriksel Sensörler: Voltaj, akım, direnç, endüktans, kapasitans, dielektrik katsayı-sı, polarizasyon, elektrik alanı gibi elektriksel değişiklikleri algılayan sensör sınıfıdır.

» Manyetik Sensörler: Alan yoğunluğu, akım yoğunluğu, manyetik moment gibi manyetik değişiklikleri algılayan sensör sınıfıdır.

» Işıma Sensörleri: Yoğunluk, dalga boyu, polarizasyon, faz, yansıtma ve gönderme gibi değişiklikleri algılayan sensör sınıfıdır.

4 Bölüm 1 Sensörler

Bunun yanı sıra sensörleri çıkış büyüklüklerine göre sınıflandırabiliriz. Bazı sensörler çıkış olarak analog sinyal üretirken bazı sensörler de dijital sinyal üretir. Analog çıkış sinyali üreten sensörlere alternatif olan dijital sinyal çıkışlı sensörler, bilgisayarla doğrudan iletişim kurabilir. Bu iletişim sağlanırken bazı protokoller kullanılır. RS232C, RS485, RS422A kullanılan seri iletişim protokolleridir.

Sensörler aynı zamanda enerji ihtiyaçlarına göre de sınıflandırılabilir. Pasif sensörler, dışarıdan harici enerji almadan yani besleme gerilimine ihtiyaç duymadan fiziksel ya da kimyasal değerleri farklı bir büyüklüğe çeviriyor. Pasif algılayıcılara örnek olarak Termocouple (T/C) ya da anahtarı örnek gösterebiliriz.

Aktif sensörler ise çalışmaları için harici bir enerji beslenmesine ihtiyaç duyuyor. Genelde zayıf sinyalleri ölçmek için kullanılır. Aktif sensörlerde dikkat edilmesi gereken nokta giriş ve çıkışlardır. Bu sınıflandırmadaki sensörler dijital ya da analog elektriksel çıkış sinyali üretiyor. Analog çıkış sinyaline sahip olan sensörlerde çıkış büyüklüğü gerilim ya da akımdır. Gerilim çıkışı genellikle 0 - 5V aralığında bulunuyor. Bazı durumlarda 0 - 20 mA akım çevrimi kullanılabiliyor. Ancak endüstride çoğu zaman hatlarda meydana gelen bozulma, kopma gibi durumlarda sistemin bu durumu kolay algılaması ve veri iletişiminin sağlıklı yapılabilmesi için 4 - 20 mA daha yaygın kullanıyor. Çok eski aktif sensörler ise 10 - 50 mA akım çıkışlarına sahip. Endüstride en yaygın kullanılan 4 - 20 mA çevrim tipinin kullanımı bazı özel durumları gerektiriyor. Bunlar;

» Sensörlerin yerleştirildiği uzak noktalarda elektrik besleme gerilimi olmamalı.

» Sensörler, gerilim sinyalinin sınırlı olabileceği durumlarda tehlikeli uygulama-larda kullanılmalı.

» Sensörlere giden kablo sayısı iki ile sınırlandırılmalı.

» Sensörler, elektriksel gürültüden etkilenmemesi amacıyla ölçüm sisteminden elektriksel olarak izole edilmeli.

Termik Sensör ve TransduserlerOrtamdaki ısı değişimini algılamamıza yarayan cihazlara ısı veya sıcaklık sensörleri denir. Bu bölümde sıklıkla kullanılan termik sensörleri inceleyeceğiz.

NOT Sensörler ile bilgisayarlar arasında kurulan iletişimin anlaşılabilmesi için seri haberleşme protokolleri konusunda bilgi edinmeliyiz.

Bu Bölümde

İvmeölçerler

7

Günümüzde ivmeölçerler sanayide ve bilimsel çalışmalarda bir çok uygulamada kullanılıyor. Yüksek hassasiyete sahip ivmeölçerler füzelerde, uçaklarda, insansız hava araçlarında, gemilerde ve denizaltlarında navigasyon sistemlerinde kullanılan en önemli parçalardan biridir. Bunun yanı sıra, döner makinelerde titreşimi tespit edip, bu titreşimin hangi sınırlar içinde gerçekleştiğini gözler.

Bu bölümde, farklı özelliklere sahip ivmeölçerler ile Arduino uygulamaları gerçekleştirerek hangi ivmeölçerin uygulamamız için uygun olduğuna karar vereceğiz.

Giriş 154Arduino ve İvmeölçerler 157Neler Öğrendik? 186

154 Bölüm 7 İvmeölçerler

GirişFizikte, hızın zamana göre değişme miktarı veya hızın zamana göre türevine eşit olan niceliğe ivme denir. İvme vektörel bir nicelik olarak, cismin hem yönünün hem de hızının zamana göre değişimini veriyor. İvmenin birimi SI cinsinden m / s2’dir.

SI Nedir?: 1960’taki Ağırlıklar ve Ölçümler genel konferansında tanımlanan ve resmi statü verilen Uluslar Arası Birim Sistemi’dir. Bu sistem, bilimde ve teknolojide kullanılmak üzere önerilmiştir. SI Birim Sistemi’nin genel kabulü, teknik iletişimi kolaylaştırmaya yöneliktir. SI Birim Sistemi, MKS Birim Sistemiyle doğrudan ilgili.

Aşağıdaki tabloda bazı SI türeme birimleri için özel isimler ve semboller gösterilmiştir.

İvme, fizik kuralı olarak bilinen a = F / m ifadesi ile bulunuyor. Buradaki F ifadesi, hareket yönünde uygulanan kuvveti, m ise cismin sahip olduğu kütleyi ifade ediyor. Burada F ifadesi vektörel bir nicelik olup, m gibi skaler bir niceliğe bölündüğünde vektörel bir nicelik olan a ifadesi meydana geliyor.

1 5 5Giriş

İvmeölçer veya akselerometre, bir kütleye uygulanan ivmeyi ölçen cihaz. Uygulanan ivmenin ölçümünde, koordinat ivmesi (referans ivme) bilinmesine gerek duyulmuyor. Bunun yerine ivmeölçer, içindeki test kütlesine referans eksenindeki, kütleden kaynaklı olan uygulanan kuvvetlere bakıyor. Örneğin; dünya üzerinde deniz seviyesine yakın bir bölgede düz bir yüzey üzerinde ivmeölçerin gösterdiği değer 9.81 m / s2 olurken, serbest düşen bir cisim üzerinde veya boş uzayda göstereceği değer 0 m / s2 oluyor.

İvmeölçer bir kütlenin sahip olduğu ivme değerini ölçerken, içerisinde bulunan konumlandırılmış kütlenin, değişken konumundan faydalanarak sonuç elde ediyor. Yani bu kütlelerin dik konumunu referans kabul ederek, oluşan değişiklikleri bu referans noktalarıyla kıyaslayarak bulabiliyor.

Görüldüğü gibi, kütle ivme kılavuzunun içerisinde yatay olarak konumlandırılmış. Başlangıç noktası 0 gram olarak belirlenmiş olup, kıyaslamaları 0 grama göre yapıyor. Bu kılavuz dikey olarak konumlandırıldığında ise, kütlenin konumu 1 grama geliyor. Çünkü içerisindeki kütle yatay olarak 9.81 m / s2 değerine eşit bir ivmeyle hareket ettirilseydi, 1 gram noktasına gelecek şekilde kütle konumlandırılmış olacaktı. Burada dikey olarak kütleye etki eden yer çekimi etkisiyle, yatayda görülen etki dikeyde de geçerli oluyor.

156 Bölüm 7 İvmeölçerler

Burada ele aldığımız ivmeölçerler, bu eksenlerin birleşmesiyle hareketi kontrol ediyor. Bilindiği gibi, bu sensörler tek yönlü ölçüm yapabiliyor. Bu nedenle, 3 adet sensör birleşerek 3 boyutta hareketi kontrol edebiliyor. Bu 3 eksen ise x, y ve z olarak isimlendirilirse, bu şekilde gösterimle koordinat sistemi oluşmuş oluyor. Böylece sistem oluşacak ivme değişikliklerini her yönde kontrol edebilecektir.

İvmeölçerler, sanayide ve bilimsel çalışmalarda bir çok uygulama alanında kullanılıyor. Yüksek hassasiyete sahip ivmeölçerler füzelerde, uçaklarda, insansız hava araçlarında, gemilerde ve denizaltılarda navigasyon sistemlerinde kullanılan en önemli parçalarda biri. Bunun yanı sıra, döner makinelerde titreşimi tespit edip, bu titreşimin hangi sınırlar içinde gerçekleştiğini gözlüyor. Günümüzde tablet bilgisayarlar ve dijital kameralarda titreşim engelleyici sistemlerin devreye girmesinde, görüntü netleştirmede ve kullanıcı duyarlı sistemlerin etkinleşmesinde kullanılıyor.

İvmeölçerler farklı yöntemlerle çalışıyor. Bunların en yaygın olarak kullanılanları piezoelektrik ve kapasitif ivmeölçerlerdir. Piezoelektrik ivmeölçerler, içerisindeki mikroskobik kristaller maruz kaldıkları stres sonucunda orantılı olarak gerilim üretiyor. Üretilen bu gerilimin değeri, önceden tanımlanmış olan gerilim değeri ile kıyaslanıyor ve ivmenin etkisi bulunmuş oluyor.

Diğer bir çeşit ivmeölçer ise kapasitif ivmeölçerlerdir. Birbirine yakın iki paralel levha arasında kapasitif etki oluşuyor ve kapasitans değeri ortaya çıkıyor. Bu tip ivmeölçerlerde kapastif iletim prensibi kullanılıyor. Bir ivme uygulandığı takdirde sabit elektrot ve hareketli elektrot arasındaki mesafe değişiyor. Bu sayede kapasite değerinin de değişmesi gerçekleşiyor. Sonuç olarak ivme ile ilintili bir çıkış değeri elde ediliyor.

1 5 7Arduıno ve İvmeölçerler

İvme sensörleri analog ve sayısal çıkışlı olmak üzere ikiye ayrılıyor. Analog ivme sensörleri, ivmenin değişmesine göre sürekli gerilim değeri veriyor. Sayısal ivme sensörleri ise; uygulama alanına göre, modüle edilmiş çıkış değerleri veriyor. İvme sensörleri seçilirken göz önünde bulundurulması gereken özellikler şunlardır:

» Eksen Sayısı: Bilindiği gibi ivme sensörlerinin hareketi kontrol edebilmesi için birden fazla eksene sahip olması gerekiyor. Piyasada çok eksenli bir çok ivmeölçer mevcut. Ancak en yoğun olarak 2 ve 3 eksenli ivmeölçerler kullanılıyor.

» Hassasiyet: Ölçümün önemine göre hassasiyeti düşük veya yüksek ivme sensör-leri tercih edilebiliyor. Hassasiyeti yüksek olan ivme sensörleri ivmedeki küçük bir değişimde dahi çok büyük tepkiler verebiliyor.

» Bant Genişliği: Yavaş hareket eden bir sistemde ivme değişimlerini algılayabilmek için bant genişliğinin 50 Hz, yüksek hızda ise 100 Hz olması gerekiyor.

» Empedans: Uygulanan sistemin çıkış elemanının empedansının, uygulanan ivmeölçerle uygun olması gerekiyor.

Arduıno ve İvmeölçerlerBuraya kadar ivmeölçerler ile temel olarak tanışmış olduk. Artık Arduino ile beraber projeler yapmaya hazırız. İlk olarak kolay bir örnek üzerinden Arduino ile ivmeölçer kullanımını görelim. Bu örnekte ADXL337 ivmeölçeri ile ivme ölçümünü gözlemleyeceğiz. Tabi buradaki veri okuma mekanizması farklı ivmeölçerlerden veri almak için de rahatlıkla kullanılabilir.

ADXL337 ile İvme Ölçme UygulamasıADXL337, Sparkfun Electronics firmasının ürettiği 3 eksene sahip bir ivmeölçer. Bu analog ivmeölçerler uzun alanlarda rahatlıkla kullanılabiliyor. ADXL337 oldukça düşük gürültü ve güç tüketimine sahip(sadece 300 uA). Kartın üzerinde regülatör bulunmadığı için güç kaynağının değeri 1.8 ile 3.6 V DC arasında

158 Bölüm 7 İvmeölçerler

olmalı. ADXL337 ivmeölçerini satın aldığınızda komponentleri tam olarak monte edilmiş halde geliyor. Ayrıca harici bileşenlerle yüklü olarak test edilmiş bir şekilde geliyor. İçerisinde bulunan 0.1 uF kondansatörlerle bütün eksenleri 50 Hz bant aralığına ayarlanmıştır.

Özellikler:

» Çalışma Gerilimi: 1.8 V - 3.6 V DC,

» Tipik Akımı: 300 uA,

» Menzil: 3g + / - ,

» 3 eksenli algılama,

» Eksen başına tek bir kapasitör ile bant genişliğini ayarlama.

Sparkfun Electronics firması, ADXL337 ivmeölçerini tanıtan bir video hazırlamış, izlemenizi tavsiye ederim.

https://www.youtube.com/watch?v=rjWXtpbgLKg

ADXL337 sensörünün daha iyi anlaşılması için aşağıda blok diyagramı paylaşılmıştır.

1 5 9Arduıno ve İvmeölçerler

ADXL337 ile ilgili ayrıntılı bilgileri ve veri sayfalarını (datasheet) aşağıdaki adreste bulabilirsiniz:

https://cdn.sparkfun.com/datasheets/Sensors/Accelerometers/ADXL337.pdf

ADXL337 ivmeölçerinin pinlerinin açıklaması aşağıdaki tabloda gösterilmiştir.

ADXL337 ivmeölçeri ile uygulama gerçekleştirmeden önce şematik dosyasını incelemek de fayda var.

ADXL337 ivmeölçerinin Eagle dosyalarını aşağıdaki adreste bulabilirsiniz:

https://cdn.sparkfun.com/datasheets/Sensors/Accelerometers/ADXL337%20Breakout-v10.zip

Şimdi uygulamamızı gerçekleştiriyoruz. Bunun için kullanılan Arduino kodları aşağıda:

Arduino Kodu

/*

ADXL337 ile İvme Ölçme Uygulaması

ADXL337 3 Eksen İvmeölçer ile

İvme Ölçümü

İvmeölçerin her bir ekseni için okuma gerçekleştiriyoruz.

X ekseni için Analog 0 pininden,

Y ekseni için Analog 1 pininden,

Z ekseni için Analog 2 pininden okuma gerçekleştiriyoruz.

*/

160 Bölüm 7 İvmeölçerler

// Bu iki değişkenin doğruluğundan emin oluyoruz.

//ADXL337 için bu değer 3 (±3g) ‘dir.

int scale = 3;

// Arduino Uno gibi 5V çıkış veren bir mikrodenetleyici kullanacaksak bu kod satırını eklememiz gerekiyor.

boolean micro_is_5V = true;

void setup()

{

// Seri haberleşmeyi başlatıyoruz. Seri haberleşme hızımız 115200 bps’dir.

Serial.begin(115200);

}

// İvmeölçer verilerimizi her bir eksen için okuyoruz.

void loop()

{

// X, Y ve Z ekseninin bilgilerini A0, A1 ve A2 pininden okuyoruz.

int rawX = analogRead(A0);

int rawY = analogRead(A1);

int rawZ = analogRead(A2);

// Her eksen için ölçülen değerleri Analog Dijital Dönüştürme işleminden geçiriyoruz.

float scaledX, scaledY, scaledZ;

// 5V için...

if (micro_is_5V)

{

scaledX = mapf(rawX, 0, 675, -scale, scale); // 3.3/5 * 1023 =~ 675

scaledY = mapf(rawY, 0, 675, -scale, scale);

scaledZ = mapf(rawZ, 0, 675, -scale, scale);

}

// 3.3 V için...

else

{

scaledX = mapf(rawX, 0, 1023, -scale, scale);

scaledY = mapf(rawY, 0, 1023, -scale, scale);

scaledZ = mapf(rawZ, 0, 1023, -scale, scale);

}

// X,Y,Z ekseninden okuduğumuz bilgileri Arduino Serial Monitor ekranında gözlemleyebiliyoruz.

Serial.print(“X: “); Serial.println(rawX);

Serial.print(“Y: “); Serial.println(rawY);