Robotik Kodlama

Robotik Kodlama
Ana Sayfa

İLGİNİZİ ÇEKEBİLECEK LİNKLER :

sensör etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
sensör etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

4 Mayıs 2021 Salı

MQ-3 Alkol Sensörü Nasıl Çalışır? & Arduino

 

MQ-3 Alkol Sensörü Nasıl Çalışır? & Arduino

MQ3 alkol sensörü modülüyle bir sonraki Arduino projenize alkol için bir burun verin. Bu sensör, havada bulunan alkolün varlığını ve konsantrasyonunu algılar. Bu nedenle, insan vücudundaki alkol miktarını ölçmek için kendi alkol ölçerinizi yapmayı planlıyorsanız, MQ3 alkol sensörü modülü harika bir seçenektir.


MQ3 Alkol Sensörü

MQ3, MQ sensör serisinde en sık kullanılan sensörlerden biridir. Metal Oksit Yarı İletken (MOS) tipi bir sensördür. Metal oksit sensörleri aynı zamanda Chemiresistörler olarak da bilinir , çünkü algılama, alkole maruz kaldığında algılama malzemesinin direncinin değişmesine dayanır. Böylece basit bir voltaj bölücü ağa yerleştirilerek alkol konsantrasyonları tespit edilebilir.

mq3 alkol sensörü

MQ3 alkol sensörü 5V DC ile çalışır ve yaklaşık 800mW çeker. Alkol konsantrasyonlarını 25 ila 500 ppm arasında tespit edebilir.

1 ppm neye eşittir?

Gazları ölçerken, konsantrasyon terimi havadaki hacme göre gaz miktarını tanımlamak için kullanılır. En yaygın iki ölçü birimi milyonda parça ve yüzde konsantrasyondur.

Milyonda parça (kısaltılmış ppm), bir gazın diğerine oranıdır. Örneğin, 500 ppm alkol, bir milyon gaz molekülünü sayabilirseniz, bunların 500'ünün alkol ve 999500 molekülünün başka gazlar olacağı anlamına gelir.



İşte tam teknik özellikler:MQ3 Alkol Sensörünün iç yapısı                              MQ3, ısıtıcı ile çalışan bir sensördür. Bu nedenle, patlama önleyici ağ adı verilen iki katmanlı ince paslanmaz çelik ağ ile çevrelenmiştir Yanıcı gaz (alkol) algıladığımız için sensör içindeki ısıtıcı elemanın patlamaya neden olmamasını sağlar.
mq3 alkol sensörü parçaları donanıma genel bakış

Ayrıca sensör için koruma sağlar ve asılı parçacıkları filtreler, böylece yalnızca gazlı elemanlar bölmenin içinden geçebilir.

mq3 alkol sensörü iç yapısı

Dış ağ çıkarıldığında sensör böyle görünüyor. Yıldız şeklindeki yapı, algılama elemanı ve Bakalit tabanın ötesine uzanan altı bağlantı ayağı tarafından oluşturulur. Altıdan iki uç ( H ), algılama elemanının ısıtılmasından sorumludur ve bir Nikel-Krom bobin (iyi bilinen bir iletken alaşım) ile bağlanır .

Çıkış sinyallerinden sorumlu kalan dört kablo ( A ve B ) Platin Teller kullanılarak bağlanır Bu teller, algılama elemanının gövdesine bağlanır ve algılama elemanından geçen akımdaki küçük değişiklikleri iletir.

kalay dioksit kaplamalı mq3 algılama elemanı alüminyum oksit seramik

Boru şeklindeki algılama elemanı, Alüminyum Oksit (AL2O3) bazlı seramikten yapılmıştır ve bir Kalay Dioksit (SnO2) kaplamasına sahiptir Kalay Dioksit, alkole duyarlı olan en önemli maddedir. Bununla birlikte, seramik alt tabaka sadece ısıtma verimliliğini arttırır ve sensör alanının sürekli olarak çalışma sıcaklığına ısıtılmasını sağlar.

mq3 alkol sensörü dahili algılama elemanı yapısı

Özetlemek gerekirse Nikel-Krom bobin ve Alüminyum Oksit esaslı seramik bir Isıtma Sistemi oluşturur ; Platin teller ve Kalay Dioksit kaplaması ise bir Algılama Sistemi oluşturur .

MQ3 Alkol Sensörü Nasıl Çalışır?

SnO2 yarı iletken tabakası yüksek sıcaklıkta ısıtıldığında yüzeyde oksijen adsorbe olur. Temiz havada, kalay dioksit içindeki iletim bandından elektronlar oksijen moleküllerine çekilir. Bu, SnO2 parçacıklarının yüzeyinin hemen altında bir elektron tükenme tabakası oluşturur ve potansiyel bir bariyer oluşturur. Sonuç olarak, SnO2 filmi oldukça dirençli hale gelir ve elektrik akımı akışını engeller.

Ancak alkol varlığında adsorbe edilmiş oksijenin yüzey yoğunluğu alkollerle reaksiyona girdikçe azalır; potansiyel engeli düşürür. Elektronlar daha sonra kalay dioksite salınır ve akımın sensörden serbestçe akmasına izin verir.

mq3 alkol sensörü çalışıyor

MQ3 Alkol Sensörü Modülü Donanımına Genel Bakış

MQ3 alkol sensörü devre tahtası ile uyumlu olmadığından, bu kullanışlı küçük koparma kartını öneriyoruz. Kullanımı çok kolaydır ve iki farklı çıktıyla birlikte gelir. Alkol varlığının ikili bir göstergesini sağlamakla kalmaz, aynı zamanda havadaki konsantrasyonunun analog bir temsilini de sağlar.

mq3 alkol sensörü modülü

Sensör (AO pininde) tarafından sağlanan analog çıkış voltajı, alkol konsantrasyonuyla orantılı olarak değişir. Havadaki alkol konsantrasyonu ne kadar yüksekse, çıkış voltajı o kadar yüksek olur; Düşük konsantrasyon ise daha düşük çıkış voltajı verir. Aşağıdaki animasyon, alkol konsantrasyonu ile çıkış voltajı arasındaki ilişkiyi göstermektedir.

mq3 alkol sensörü modülü çalışma animasyonu

Aynı analog sinyal, sayısallaştırmak için bir LM393 Yüksek Hassasiyet Karşılaştırıcısına beslenir ve Dijital Çıkış (DO) pininde bulunur.

hassasiyet ayar potlu mq3 sensör lm393 karşılaştırıcı

Modül, dijital çıkışın (DO) hassasiyetini ayarlamak için dahili bir potansiyometreye sahiptir. Bunu bir eşik belirlemek için kullanabilirsiniz; böylece alkol konsantrasyonu eşik değerini aştığında, modül DÜŞÜK aksi takdirde YÜKSEK çıkacaktır.

Bu kurulum, belirli bir eşiğe ulaşıldığında bir eylemi tetiklemek istediğinizde çok kullanışlıdır. Örneğin nefesteki alkol konsantrasyonu bir eşiği aştığında, birinin sarhoş olup olmadığını anlayabilirsiniz. 

Hassasiyeti artırmak için düğmeyi saat yönünde, azaltmak için saat yönünün tersine çevirin.

mq3 sensör gücü ve durum ledleri

Bunun dışında modülün iki LED'i vardır. Modüle güç verildiğinde Güç LED'i yanacaktır. Dijital çıkış DÜŞÜK olduğunda Durum LED'i yanacaktır.

MQ3 Alkol Sensörü Modülü Bağlantı Parçası

Şimdi pinout'a bir göz atalım.

mq3 alkol sensörü pin çıkışı

VCCmodül için güç sağlar. Arduino'nuzdan 5V çıkışa bağlayabilirsiniz.

GND Ground Pin'dir ve Arduino'daki GND pinine bağlanması gerekir.

D0 alkol varlığının dijital bir temsilini sağlar.

A0 alkol konsantrasyonu ile orantılı olarak analog çıkış voltajı sağlar.

Analog Çıkışı kullanarak alkol konsantrasyonunun ölçülmesi

Modülün hem analog hem de dijital çıkış sağladığını bildiğiniz için, ilk deneyimiz için alkol konsantrasyonunu analog çıkışı okuyarak ölçeceğiz.

MQ3 alkol sensörünü Arduino ya bağlayalım.

VCC pinini Arduino'daki 5V pinine bağlayarak başlayın ve GND pinini Arduino'daki Ground pinine bağlayın. Son olarak, modül üzerindeki AO çıkış pinini Arduino'daki Analog pin # 0'a bağlayın.

Aşağıdaki çizim kablolamayı göstermektedir.

analog çıkışı okumak için arduino kablolama mq3 alkol sensörü

Kalibrasyon

Alkol sensörünüzden doğru okumalar almak için önce kalibre etmeniz önerilir. Bir alkol ölçer söz konusu olduğunda, hangi değerlerin belirli yüzdelere ve hatta kandaki alkol konsantrasyonuna eşit olduğunu bulmanız gerekir.

Alkol tükettikten sonra -vs- alkol tüketmeden sensöre nefes verdiğinizde sensörünüzün hangi değerleri çıkardığını not etmek için aşağıdaki çizimi kullanın.

Alkollü içecek tüketmenize yasal olarak izniniz yoksa, testiniz için izopropil alkol şişesi veya herhangi bir el dezenfektanı şişesi kullanın. Sensörü alkolle ISLATMAYIN! Alkol buharlarını sensöre solumak için sıkmanız ve ölçümlerinizi almanız yeterlidir.

#define MQ3pin 0

float sensorValue;  //variable to store sensor value

void setup() {
	Serial.begin(9600); // sets the serial port to 9600
	Serial.println("MQ3 warming up!");
	delay(20000); // allow the MQ3 to warm up
}

void loop() {
	sensorValue = analogRead(MQ3pin); // read analog input pin 0

	Serial.print("Sensor Value: ");
	Serial.println(sensorValue);
	
	delay(2000); // wait 2s for next reading
}

MQ3'ün ısıtıcı ile çalışan bir sensör olduğunu unutmayın. Doğru ölçüm için sensörün tamamen ısıtılması gerekir. Yukarıdaki örnek kodda 20 saniyelik bir ısınma vardır, ancak maksimum doğruluk için ısınma süresini 24-48 saate çıkarın.

Çizimi çalıştırdığınızda, seri monitörde aşağıdaki okumalara yakın bir değer göreceksiniz:

  • Nefeste alkol olmadığında (~ 120)
  • Nefeste alkol olduğunda (~ 500)

Bu test biraz deneme yanılma alabilir. Bu okumaları iyi bir şekilde ele aldığınızda, bir eylemi tetiklemeyi düşünüyorsanız, bunları eşik olarak kullanabilirsiniz.

Kalibrasyon değerlerine bağlı olarak, aşağıdaki program alkol konsantrasyonunu belirlemek için aşağıdaki aralıkları tanımlar:

  • <120 ayık
  • 120-400 içiyor - ancak yasal sınırlar dahilinde
  • > 400 sarhoş
/* Change these values based on your calibration values */
#define Sober 120   // Define max value that we consider sober
#define Drunk 400   // Define min value that we consider drunk

#define MQ3pin 0

float sensorValue;  //variable to store sensor value

void setup() {
	Serial.begin(9600); // sets the serial port to 9600
	Serial.println("MQ3 warming up!");
	delay(20000); // allow the MQ3 to warm up
}

void loop() {
	sensorValue = analogRead(MQ3pin); // read analog input pin 0

	Serial.print("Sensor Value: ");
	Serial.print(sensorValue);
	
	// Determine the status
	if (sensorValue < Sober) {
		Serial.println("  |  Status: Stone Cold Sober");
	} else if (sensorValue >= Sober && sensorValue < Drunk) {
		Serial.println("  |  Status: Drinking but within legal limits");
	} else {
		Serial.println("  |  Status: DRUNK");
	}
	
	delay(2000); // wait 2s for next reading
}

Her şey yolundaysa, aşağıdaki çıktıyı seri monitörde görmelisiniz.

analog çıkış kullanan basit alkol ölçer

Dijital çıkış kullanarak alkolün varlığını tespit edin

İkinci deneyimiz için dijital çıktı kullanarak alkolün varlığını tespit edeceğiz.Devreyi önceki örnekten kullanacağız. Bu sefer sadece ADC pinine olan bağlantıyı kaldırmamız ve modül üzerindeki DO pinini Arduino'daki dijital pin # 8'e bağlamamız gerekiyor.

Devrenizi aşağıda gösterildiği gibi bağlayın:

dijital çıkışı okumak için arduino wiring mq3 alkol sensörü

Kalibrasyon

Modül, dijital çıkışı (DO) kalibre etmek için dahili bir potansiyometreye sahiptir.

Potansiyometrenin düğmesini çevirerek bir eşik ayarlayabilirsiniz. Böylece, alkol konsantrasyonu eşik değerini aştığında, Durum LED'i yanacak ve modül YÜKSEK çıkacaktır.

mq3 alkol sensörünün dijital çıkışı

Şimdi sensörü kalibre etmek için, sensöre alkollü nefesinizi üfleyin veya izopropil alkol şişesini sıkarak alkolün buharlarını sensöre soluyun ve tencereyi saat yönünde ayarlayın, böylece Durum LED'i AÇIK olacak ve ardından tencereyi saat yönünün tersine ayarlayın. LED söner.

İşte bu, sensörünüz artık kalibre edilmiş ve kullanıma hazırdır.

Arduino Kodu

Devre kurulduktan sonra, aşağıdaki çizimi Arduino'nuza yükleyin.

#define MQ3pin 8

int sensorValue;  //variable to store sensor value

void setup() {
	Serial.begin(9600); // sets the serial port to 9600
	Serial.println("MQ3 warming up!");
	delay(20000); // allow the MQ3 to warm up
}

void loop() {
	sensorValue = digitalRead(MQ3pin); // read digital output pin
	Serial.print("Digital Output: ");
	Serial.print(sensorValue);
	
	// Determine the status
	if (sensorValue) {
		Serial.println("  |  Alcohol: -");
	} else {
		Serial.println("  |  Alcohol: Detected!");
	}
	
	delay(2000); // wait 2s for next reading
}

Aşağıdaki çıktıyı seri monitörde görmelisiniz.

dijital çıkış kullanarak alkol algılama

ANA SAYFAYA DÖN

Bahadır ÖZGEN
Electronic Robotic Coding Research and Development 1975 - ∞
Learn Forever
If you want, let's learn together...
https://roboticcode2020.blogspot.com/
bahadirozgen1975@gmail.com
facebook    robotic.code
instagram    @roboticcode


Sayfalarımı ziyaret ettiğiniz için teşekkür ederim.Bu sitede mevcut olan içerikler kendi oluşturduğum projeler yazı,resim ve videolardan oluşmaktadır.İçerik oluşturmak çok uzun sürdüğü için bazı projelerde yurtdışı kaynaklardan faydalandım.Buradaki amacım ticari değildir.Kaynağı belli olan ve bizim kaynağına ulaşabildiğimiz materyal (yazı, fotoğraf, resim, video v.b.) için ilgili konularda fotoğraflarda logo varsa v.b. not olarak gösterilecektir.Sitemizde yayınlanan tüm içerik, bizim tarafımızdan ve internet üzerinden youtube, facebook ve blog gibi paylaşıma sunulmuş kaynak sitelerden alındığı için, sitemiz yasal yükümlülüğe tabi tutulamaz. Sitemizde telif haklarının size ait olduğu bir içerik varsa ve bunu kaldırmamızı isterseniz, iletişim sayfamızdan bizimle iletişime geçtiğiniz takdirde içerik yayından kaldırılacaktır.Bu konu ve modüller ile uğraşarak, ileride çok güzel makine ve elektronik aletler yapabilirsiniz.

2 Mayıs 2021 Pazar

Kuvvet Algılama Direnci (FSR) Arduino

 

Kuvvet Algılama Direnci (FSR) Arduino

Kuvvet Algılama Dirençleri, Kuvvet Duyarlı Dirençler veya Kuvvet Sensörleri veya yalnızca FSR'ler olarak da bilinir . FSR - Force Sensing Resistor Fiziksel basıncı, sıkışmayı ve ağırlığı algılamak için özel olarak tasarlanmış düşük maliyetli ve kullanımı kolay sensörlerdir.

Bunları elektronik davullarda, cep telefonlarında, avuç içi oyun cihazlarında ve daha birçok taşınabilir elektronik cihazlarda bulacaksınız.

Bu sensörler basıncı ölçmek için harika olsa da, üzerlerinde kaç kilo ağırlık olduğunu bulmakta harika değiller. Ancak, "sensörün sıkıştırılıp sıkıştırılmadığını ve ne kadar olduğunu" öğrenmek istiyorsanız, bir sonraki dokunma algılama projeniz için bunlar iyi bir seçenektir.

FSR'ye Genel Bakış

FSR'lerde kullanılan teknoloji, 1985'ten beri kullanımda olan Interlink Electronics tarafından patentlenmiştir . Kolayca bulabileceğiniz en yaygın FSR türleri Interlink FSR-402 ve FSR-406'dır.

FSR, algılama alanına basınç uygulandıkça direnç açısından değişen değişken bir dirençten başka bir şey değildir.

Birkaç ince esnek katmandan oluşur. Ne kadar çok bastırılırsa, dirençli karbon elementleri iletken izlere o kadar çok dokunur ve bu da direnci azaltır.

fsrs nasıl yaptı

Şekil ve boyut

Dışarıda çeşitli FSR seçenekleri ve onları ayıran boyut, şekil ve algılama aralığı gibi birkaç temel özellik var.

Çoğu FSR'nin dairesel veya dikdörtgen bir algılama alanı vardır. Kare FSR'ler geniş alan algılama için iyidir, küçük dairesel sensörler ise algılama alanına daha fazla doğruluk sağlayabilir.

fsr sensör türleri

Algılama Aralığı

FSR'nin bir diğer önemli özelliği, sensörün birbirinden ayırt edebileceği minimum ve maksimum basınçları tanımlayan nominal algılama aralığıdır.

Kuvvet oranı ne kadar düşükse, FSR o kadar hassastır. Sensörün maksimum aralığının dışındaki herhangi bir basınç ölçülemez (bu, sensöre de zarar verebilir). Örneğin, 1kg değerindeki daha küçük bir FSR, 0 ile 1kg arasında daha hassas okumalar sağlayabilir, ancak 2kg ile 5kg ağırlık arasındaki farkı söyleyemez.

FSR Nasıl Çalışır?

Söylediğimiz gibi, FSR temelde ne kadar basıldığına bağlı olarak direnç değerini değiştiren bir dirençtir.

fsr çalışma animasyonu

Basınç olmadığında, sensör sonsuz bir direnç (açık devre) gibi görünür. Sensörün başına ne kadar sert bastırırsanız, iki terminal arasındaki direnç o kadar düşük olacaktır, ancak basıncı kaldırdıkça orijinal değerine geri dönecektir.

Aşağıdaki grafik, FSR 402 sensörü için farklı kuvvet ölçümlerinde sensörün direncini yaklaşık olarak göstermektedir. Verilerin logaritmik ölçeklerde çizildiğine dikkat edin.

fsr 402 direnci vs kuvvet eğrisi

Grafiğin genellikle 50 g ve yukarısından doğrusal olduğuna, ancak 50 g'nin altında olmadığına dikkat edin. Bu, üzerine ne zaman baskı yapsak direncinin hızla sonsuzdan 100K'ya düşeceği ve sonra daha doğrusal hale geldiği anlamına gelir.

FSR okumak

FSR'yi okumanın en kolay yolu, bir voltaj bölücü oluşturmak için FSR'yi sabit değerli bir dirençle (genellikle 10kΩ) bağlamaktır. Bunu yapmak için FSR'nin bir ucunu Güce, diğer ucunu aşağı çekme direncine bağlarsınız. Ardından sabit değerli aşağı çekme direnci ile değişken FSR direnci arasındaki nokta bir Arduino'nun ADC girişine bağlanır.

Bu şekilde, bir mikrodenetleyicinin ADC girişi tarafından okunabilen değişken bir voltaj çıkışı oluşturabilirsiniz.

fsr voltaj bölücü

Ölçtüğünüz çıkış voltajının FSR boyunca değil, aşağı çekme direnci üzerindeki voltaj düşüşü olduğunu unutmayın.

Gerilim bölücü konfigürasyonunun çıktısı aşağıdaki denklemle açıklanmaktadır:

fsr1

Gösterilen konfigürasyonda, çıkış voltajı artan güçle artar.

Örneğin 5V besleme ve 10K aşağı çekme direnci ile basınç olmadığında FSR direnci çok yüksektir (yaklaşık 10MΩ). Bu, aşağıdaki çıkış voltajıyla sonuçlanır:

fsr2

FSR'ye gerçekten çok bastırırsanız, direnç yaklaşık 250 Ω'a düşecektir. Bu, aşağıdaki çıkış voltajıyla sonuçlanır:

fsr3

Gördüğünüz gibi, sensöre uygulanan kuvvet miktarına bağlı olarak çıkış voltajı 0 ile 5V arasında değişmektedir.

Aşağıdaki tablo, 5V besleme ve 10K çekme direnci ile sensör kuvvetine / direncine dayalı yaklaşık analog voltajı göstermektedir.

Kuvvet (lb)Kuvvet (N)FSR DirenciR boyunca gerilim
YokYokSonsuz0V
0,04 lb0.2N30KΩ1,3V
0,22 lb1N6KΩ3.1V
2,2 lb10N1KΩ4.5V
22 lb100N250Ω4,9V

Arduino UNO'ya FSR Bağlama

FSR'yi bir arduino'ya bağlamak oldukça kolaydır.

Bir voltaj bölücü devre oluşturmak için FSR ile seri olarak 10kΩ aşağı çekme direnci bağlamanız gerekir. Ardından aşağı çekme direnci ile FSR arasındaki nokta bir Arduino'nun A0 ADC girişine bağlanır.

fsr'yi arduino'ya kablolama

FSR'lerin temelde dirençler olduğunu unutmayın. Bu, onları her iki şekilde de bağlayabileceğiniz ve iyi çalışacakları anlamına gelir.

Arduino Kodu - Basit Analog FSR Ölçümleri

İlk deneyimiz için sensör verilerini Arduino'nun ADC pininden okuyacağız ve çıkışı seri monitörde göstereceğiz.

Kod oldukça basittir. Baskı miktarı olarak yorumladığı şeyi nitel bir şekilde basar. Çoğu proje için gerekli olan hemen hemen budur.

int fsrPin = 0;     // the FSR and 10K pulldown are connected to a0
int fsrReading;     // the analog reading from the FSR resistor divider
 
void setup(void) {
  Serial.begin(9600);   
}
 
void loop(void) {
  fsrReading = analogRead(fsrPin);  
 
  Serial.print("Analog reading = ");
  Serial.print(fsrReading);     // print the raw analog reading
 
  if (fsrReading < 10) {
    Serial.println(" - No pressure");
  } else if (fsrReading < 200) {
    Serial.println(" - Light touch");
  } else if (fsrReading < 500) {
    Serial.println(" - Light squeeze");
  } else if (fsrReading < 800) {
    Serial.println(" - Medium squeeze");
  } else {
    Serial.println(" - Big squeeze");
  }
  delay(1000);
}

Her şey yolundaysa, aşağıdaki çıktıyı seri monitörde görmelisiniz.

fsr analog çıkışı

Kod Açıklaması:

Çizim, FSR ve 10K pull-down'ın bağlı olduğu Arduino pininin beyanıyla başlar. Ayrıca FSR'den fsrReadingham analog okumayı tutan değişkeni de tanımlıyoruz .

int fsrPin = 0;
int fsrReading;

Kodun kurulum fonksiyonunda, PC ile seri iletişimi başlatıyoruz.

void setup(void) {
  Serial.begin(9600);   
}

Döngü fonksiyonunda, analog okumayı FSR direnç bölücüsünden alıp seri monitörde görüntülüyoruz.

Daha önce belirtildiği gibi, sensörün çıkış voltajı 0V (basınç uygulanmamış) ile yaklaşık 5V (uygulanan maksimum basınç) arasındadır. Arduino bu analog voltajı dijitale dönüştürdüğünde, aslında onu 10 bitlik bir sayı olan 0 ila 1023 aralığına dönüştürür. Dolayısıyla, sensörü ne kadar sıktığınıza bağlı olarak seri monitörde 0 ile 1023 arasında bir değer göreceksiniz.

fsrReading = analogRead(fsrPin);  
 
Serial.print("Analog reading = ");
Serial.print(fsrReading);

Finally, we print the amount of pressure measured qualitatively.

if (fsrReading < 10) {
	Serial.println(" - No pressure");
} else if (fsrReading < 200) {
	Serial.println(" - Light touch");
} else if (fsrReading < 500) {
	Serial.println(" - Light squeeze");
} else if (fsrReading < 800) {
	Serial.println(" - Medium squeeze");
} else {
	Serial.println(" - Big squeeze");
}

Arduino Kodu - Gelişmiş Analog FSR Ölçümleri

Bir sonraki arduino taslağımız oldukça gelişmiş. FSR tarafından ölçülen yaklaşık Newton kuvvetini ölçer. Bu, FSR'nin yaşayacağını düşündüğünüz güçleri kalibre etmek için oldukça yararlı olabilir.

int fsrPin = 0;     // the FSR and 10K pulldown are connected to a0
int fsrReading;     // the analog reading from the FSR resistor divider
int fsrVoltage;     // the analog reading converted to voltage
unsigned long fsrResistance;  // The voltage converted to resistance
unsigned long fsrConductance; 
long fsrForce;       // Finally, the resistance converted to force
 
void setup(void) {
  Serial.begin(9600);   // We'll send debugging information via the Serial monitor
}
 
void loop(void) {
  fsrReading = analogRead(fsrPin);  
  Serial.print("Analog reading = ");
  Serial.println(fsrReading);
 
  // analog voltage reading ranges from about 0 to 1023 which maps to 0V to 5V (= 5000mV)
  fsrVoltage = map(fsrReading, 0, 1023, 0, 5000);
  Serial.print("Voltage reading in mV = ");
  Serial.println(fsrVoltage);  
 
  if (fsrVoltage == 0) {
    Serial.println("No pressure");  
  } else {
    // The voltage = Vcc * R / (R + FSR) where R = 10K and Vcc = 5V
    // so FSR = ((Vcc - V) * R) / V        yay math!
    fsrResistance = 5000 - fsrVoltage;     // fsrVoltage is in millivolts so 5V = 5000mV
    fsrResistance *= 10000;                // 10K resistor
    fsrResistance /= fsrVoltage;
    Serial.print("FSR resistance in ohms = ");
    Serial.println(fsrResistance);
 
    fsrConductance = 1000000;           // we measure in micromhos so 
    fsrConductance /= fsrResistance;
    Serial.print("Conductance in microMhos: ");
    Serial.println(fsrConductance);
 
    // Use the two FSR guide graphs to approximate the force
    if (fsrConductance <= 1000) {
      fsrForce = fsrConductance / 80;
      Serial.print("Force in Newtons: ");
      Serial.println(fsrForce);      
    } else {
      fsrForce = fsrConductance - 1000;
      fsrForce /= 30;
      Serial.print("Force in Newtons: ");
      Serial.println(fsrForce);            
    }
  }
  Serial.println("--------------------");
  delay(1000);
}

Seri monitörde çıkışın nasıl göründüğü aşağıda açıklanmıştır.

fsr analog çıkış2

ANA SAYFAYA DÖN

Bahadır ÖZGEN
Electronic Robotic Coding Research and Development 1975 - ∞
Learn Forever
If you want, let's learn together...
https://roboticcode2020.blogspot.com/
bahadirozgen1975@gmail.com
facebook    robotic.code
instagram    @roboticcode


Sayfalarımı ziyaret ettiğiniz için teşekkür ederim.Bu sitede mevcut olan içerikler kendi oluşturduğum projeler yazı,resim ve videolardan oluşmaktadır.İçerik oluşturmak çok uzun sürdüğü için bazı projelerde yurtdışı kaynaklardan faydalandım.Buradaki amacım ticari değildir.Kaynağı belli olan ve bizim kaynağına ulaşabildiğimiz materyal (yazı, fotoğraf, resim, video v.b.) için ilgili konularda fotoğraflarda logo varsa v.b. not olarak gösterilecektir.Sitemizde yayınlanan tüm içerik, bizim tarafımızdan ve internet üzerinden youtube, facebook ve blog gibi paylaşıma sunulmuş kaynak sitelerden alındığı için, sitemiz yasal yükümlülüğe tabi tutulamaz. Sitemizde telif haklarının size ait olduğu bir içerik varsa ve bunu kaldırmamızı isterseniz, iletişim sayfamızdan bizimle iletişime geçtiğiniz takdirde içerik yayından kaldırılacaktır.Bu konu ve modüller ile uğraşarak, ileride çok güzel makine ve elektronik aletler yapabilirsiniz.