Robotik Kodlama

Robotik Kodlama
Ana Sayfa

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

4 Ağustos 2021 Çarşamba

Nabız Sensörü ve Arduino Kalp Atış Hızı

 

Nabız Sensörü ve Arduino kullanarak Kalp Atış Hızını İzleyin

Nabız Sensörü, Arduino için iyi tasarlanmış, düşük güçlü bir tak ve çalıştır kalp atış hızı sensörüdür. Canlı kalp atış hızı verilerini projelerine dahil etmek isteyen öğrenciler, sanatçılar, sporcular, üreticiler ve oyun ve mobil geliştiriciler tarafından kullanılabilir.

Ve en iyi yanı, bu sensörün doğrudan Arduino'ya takılması ve bir parmak ucuna veya kulak memesine kolayca takılmasıdır. Ayrıca delikli (düğme şeklinde) süper küçüktür, bu nedenle kumaşa dikilebilir.

Bilgi :  Nabız Sensörü, orijinal olarak PulseSensor.com tarafından oluşturulan açık kaynaklı bir cihazdır 2011 yılında bir Kickstarter projesi olarak başladılar. 2013 itibariyle, 491 destekçi, bu projenin hayata geçirilmesine yardımcı olmak için 18.418 $ sözü verdi.

Donanıma Genel Bakış

Sensörün ön tarafı, kalp logolu taraftır. Parmağınızı yerleştirdiğiniz yer burasıdır. Ön tarafta Kingbright'ın ters monte edilmiş yeşil LED'inin parladığı küçük yuvarlak bir delik göreceksiniz.

darbe sensörü ön taraf donanımına genel bakış

LED'in hemen altında, farklı ışık koşullarında ekran parlaklığını ayarlamak için cep telefonlarında, tabletlerde ve dizüstü bilgisayarlarda kullanılana benzer , Avago'dan APDS-9008 küçük bir ortam ışığı fotoğraf sensörü bulunur .

Modülün arkasında, bir mikroçipin MCP6001 Op-Amp'i ve R/C filtre ağını oluşturan bir grup direnç ve kapasitör dahil olmak üzere geri kalan bileşenleri bulacaksınız. Güç kablolarının yanlışlıkla ters çevrilmesi durumunda hasarı önlemek için bir ters koruma diyotu da vardır.

darbe sensörü arka taraf donanımına genel bakış

Modül, < 4mA çalışma akımıyla 3,3 ila 5V DC Gerilim kaynağından çalışır.

İşte teknik özellikler:

En yüksek reytingVCC3.0 – 5.5V
IMax (Maksimum Akım Çekme)< 4mA
VOut (Çıkış Voltaj Aralığı)0,3V - Vcc
dalga boyuLED Çıkışı565nm
Sensör Girişi525nm
BoyutlarU x G (PCB)15,8 mm (0,625")
Kablo uzunluğu20cm (7.8")

Nabız Sensörü Nasıl Çalışır?

Optik kalp atış hızı sensörlerini teoride anlamak çok kolaydır. Parmak uçlarınıza bir el feneri tuttuysanız ve kalp atışınızın nabzını gördüyseniz, optik kalp atış hızı nabız sensörleri teorisini iyi bilirsiniz.

ışık sensörü led darbe algılama fotopletismogram

Bu konuda bir nabız sensörü veya herhangi bir optik kalp atış hızı sensörü, parmağa yeşil bir ışık (~ 550nm) yakarak ve bir fotosensör kullanarak yansıyan ışığın miktarını ölçerek çalışır.

Işık yoluyla bu darbe algılama yöntemine Fotopletismogram denir .

nabız algılama kalp atış hızı sensörü çalışma fotopletismogramı

Arter kanındaki oksijenli hemoglobin, yeşil ışığı absorbe etme özelliğine sahiptir. Kan ne kadar kırmızıysa (hemoglobin ne kadar yüksekse), o kadar fazla yeşil ışık emilir. Her kalp atışında kan parmaktan pompalanırken, yansıyan ışığın miktarı değişir ve fotosensörün çıkışında değişen bir dalga biçimi oluşturur.

Işığı yakmaya ve fotosensör okumaları almaya devam ettikçe, hızlı bir şekilde kalp atışı nabız okuması almaya başlarsınız.

Fotosensörden gelen bu sinyal genellikle küçük ve gürültülüdür, bu nedenle sinyal bir R/C filtre ağından geçirilir ve daha sonra çok daha büyük, daha temiz ve algılanması daha kolay bir sinyal oluşturmak için bir Op Amp kullanılarak yükseltilir.

Darbe Sensörü Pin Çıkışı

Sensör, 3 erkek başlık konektörlü 24” düz şerit kablo ile birlikte gelir. Aşağıdaki şema pin çıkışını göstermektedir.

darbe sensörü pin çıkışı

S (Sinyal)sinyal çıkışıdır. Arduino'nun analog girişine bağlanır.

+ (VCC)VCC pinidir. 3.3 veya 5V'a bağlanır.

- (GND) Topraklama pimidir.

Uyarı:

Çoğu zaman kablo renk kodlu değildir, bu nedenle üç kablonun doğru tanımlanmasına sahip olduğunuzdan emin olmak için modülün arkasındaki işaretlere baktığınızdan emin olun.

Arduino ile Nabız Sensörü Kablolama

Nabız Sensörünü Arduino'ya bağlamak çok basittir. Yalnızca üç kablo bağlamanız gerekir: ikisi güç için, biri sensör değerini okumak için.

Modül 3.3 veya 5V'dan güç alabilir. Pozitif voltaj '+' ve toprak '-' ile bağlanır. 3. 'S' kablosu, sensörden gelen analog sinyal çıkışıdır ve bu, bir Arduino'nun A0 analog girişine bağlanacaktır.

Darbe Sensörü ile yapılan deneyler için bağlantı aşağıdadır:

arduino ile darbe sensörünü bağlayan kablolama

Kütüphane Kurulumu

Sonraki çizimleri çalıştırmak için 'PulseSensor Playground' adlı bir kitaplık kurmanız gerekecek.

Kitaplığı kurmak için, Çizim > Kitaplığı Dahil Et > Kitaplıkları Yönet'e gidin ... Kitaplık Yöneticisi'nin kitaplıklar dizinini indirmesini ve kurulu kitaplıkların listesini güncellemesini bekleyin.

kitaplıkları yönet

'Pulsesensor' yazarak aramanızı filtreleyin Sadece bir giriş olmalıdır. Buna tıklayın ve ardından Yükle'yi seçin.

nabız sensörü kitaplığı kurulumu

PulseSensor Örnek Çizimleri

PulseSensor kitaplığında bir dizi örnek çizim vardır. Biz burada birkaç tanesinin üzerinden geçeceğiz ama diğerlerini de deneyebilirsiniz. Bu örnek eskizleri kendi kodunuzu geliştirmek için temel olarak kullanabilirsiniz.

Örnek çizimlere erişmek için Dosya > Örnekler > PulseSensor Oyun Alanı'na gidin. Bir dizi örnek çizim göreceksiniz. Çizimi IDE'nize yüklemek için bunlardan herhangi birini seçin. BaşlarkenProjesi ile başlayalım .

nabız sensörü örnek çizimleri

Örnek çizimlerden BaşlarkenProje çizimini Arduino IDE'nize yükleyin Bu temel bir Arduino taslağıdır. Devam edin ve Arduino'nuza yükleyin ve Nabız Sensörünü parmak ucunuza yerleştirin. Arduino'nun yerleşik LED'inin kalp atışlarınızla yanıp söndüğünü görmelisiniz!

int const PULSE_SENSOR_PIN = 0;   // 'S' Signal pin connected to A0

int Signal;                // Store incoming ADC data. Value can range from 0-1024
int Threshold = 550;       // Determine which Signal to "count as a beat" and which to ignore.

void setup() {
	pinMode(LED_BUILTIN,OUTPUT);  // Built-in LED will blink to your heartbeat
	Serial.begin(9600);           // Set comm speed for serial plotter window
}

void loop() {

	Signal = analogRead(PULSE_SENSOR_PIN); // Read the sensor value

	Serial.println(Signal);                // Send the signal value to serial plotter

	if(Signal > Threshold){                // If the signal is above threshold, turn on the LED
		digitalWrite(LED_BUILTIN,HIGH);
	} else {
		digitalWrite(LED_BUILTIN,LOW);     // Else turn off the LED
	}
	delay(10);
}

Kod Açıklama

Kroki süper basit. Nabız Sensörünü bağlamak için kullanılan pinlerin tanımlanmasıyla başlar. İki değişken de tanımlanmıştır; SignalGelen ADC verileri ve tutan Thresholdbelirleyip sinyali yok saymak için olan ve “ritmi olarak sayısı”.

int const PULSE_SENSOR_PIN = 0;

int Signal;
int Threshold = 550;

Kurulumda Yerleşik LED pinini (pin 13) çıkış olarak tanımlıyoruz ve seri monitörü kuruyoruz.

void setup() {
	pinMode(LED_BUILTIN,OUTPUT);
	Serial.begin(9600);
}

Döngüde, Nabız Sensöründen gelen analog sinyali okuyoruz ve sinyal bir eşik değerini aştığında Dahili LED'i açıyoruz.

void loop() {
	Signal = analogRead(PULSE_SENSOR_PIN); // Read the sensor value

	if(Signal > Threshold){                // If the signal is above threshold, turn on the LED
		digitalWrite(LED_BUILTIN,HIGH);
	} else {
		digitalWrite(LED_BUILTIN,LOW);     // Else turn off the LED
	}
	delay(10);
}

Kalp Atışını Görmede Sorun mu Yaşıyorsunuz?

Kalp atışını görmede sorun yaşıyorsanız, yapmanız gerekenler burada.

  1. Sensörü çok sert tutarsanız parmaklarınızdaki tüm kanı sıkarsınız ve hiçbir işaret olmaz! Çok hafif tutarsanız, hareketten ve ortam ışığından gelen gürültüyü davet edeceksiniz. Nabız sensöründeki ter lekesi basıncı (çok sert değil, çok yumuşak değil) iyi bir temiz sinyali verecektir.
  2. Değişen bir basınç, kanın parmağınızda farklı şekilde akmasına ve sensör okumalarının bozuk olmasına neden olabilir. Sensörü bir lastik bant veya başka bir sıkma cihazı kullanarak parmağınıza takarak sabit basınç uygulamaya çalışın.
  3. Sensörü vücudunuzun kılcal dokuya sahip farklı bölgelerinde (kulak memesi veya alt dudak gibi) deneyin.
  4. Eşik değerini ayarlamaya çalışın. Eşik değeri, Arduino'ya ne zaman geçerli bir darbe bulacağını söyler. Eşik, 0 ile 1023 arasında herhangi bir sayı olabilir, ancak 5 veya 10 adımda ayarlamaya çalışın. Eşiği düşürmek duyarlılığı artırır ve bunun tersi de geçerlidir. Parmağınız için varsayılan değerden daha iyi bir aralık bulabilecek misiniz bir bakın.

Arduino Kodu – Kalp Atışı Çizimi

Önceki BaşlarkenProje çizimi, analog sinyalleri gerçek zamanlı olarak görselleştirmek için Arduino IDE ile birlikte gelen harika bir araç olan Arduino Seri Plotter ile çalışmak üzere tasarlanmıştır. Çizim çalışırken ve Arduino kartınız bilgisayarınızın USB'sine bağlıyken, tıklayın: Araçlar > Seri Çizici

Sinyalin oturması biraz zaman alabilir, ancak bunun gibi bir şey görmelisiniz.

arduino seri monitörde nabız sensörü kalp hızı çizimi

Bileğinizdeki nabzı hissedin ve darbeleri taklit etmesini izleyin.

Arduino Kodu – Nabız Ölçümü (BPM)

İkinci örneğimiz için kalp atış hızını (Dakikada Atım veya BPM) ölçmeye çalışacağız. Alma_BPM_to_Monitor için PulseSensor Oyun Alanı örnekleri menüsüne bakın ve Arduino IDE'nize yükleyin.

nabız sensörü bpm kalp hızıölçüm çizimi

Bu çizim, kalp atış hızını elde etmek için darbeler arasındaki süreyi hesaplar ve bunu Seri Monitörde görüntüler.

Uyarı:

Bu çizim, kalp atış hızını optik olarak algılar. Bu yöntem yanıltıcıdır ve yanlış okumalar vermeye eğilimlidir. Bu yüzden lütfen gerçek tıbbi teşhis için KULLANMAYIN.

#define USE_ARDUINO_INTERRUPTS true    // Set-up low-level interrupts for most acurate BPM math
#include <PulseSensorPlayground.h>     // Includes the PulseSensorPlayground Library

const int PulseWire = 0;       // 'S' Signal pin connected to A0
const int LED13 = 13;          // The on-board Arduino LED
int Threshold = 550;           // Determine which Signal to "count as a beat" and which to ignore
                               
PulseSensorPlayground pulseSensor;  // Creates an object

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

	// Configure the PulseSensor object, by assigning our variables to it
	pulseSensor.analogInput(PulseWire);   
	pulseSensor.blinkOnPulse(LED13);       // Blink on-board LED with heartbeat
	pulseSensor.setThreshold(Threshold);   

	// Double-check the "pulseSensor" object was created and began seeing a signal
	if (pulseSensor.begin()) {
		Serial.println("PulseSensor object created!");
	}
}

void loop() {
	int myBPM = pulseSensor.getBeatsPerMinute();      // Calculates BPM

	if (pulseSensor.sawStartOfBeat()) {               // Constantly test to see if a beat happened
		Serial.println("♥  A HeartBeat Happened ! "); // If true, print a message
		Serial.print("BPM: ");
		Serial.println(myBPM);                        // Print the BPM value
		}

	delay(20);
}

Krokiyi yükledikten sonra parmağınızı olabildiğince sabit tutun ve okumaların anlamlı olması için birkaç saniye bekleyin. Bunun gibi bir sonuç göreceksiniz.



nabız sensörü kalp atış hızı bpm ölçümü çizim çıktısıİşleme Görüntüleyici

Nabız Sensörü üreticileri, bilgisayarınızdaki Nabız Sensörü verilerini görselleştirmek için bir parça yazılım oluşturdular. Processing'de yazıyor Bu yazılım Arduino'nun Nabız Sensöründen aldığı tüm verileri görüntüler. Kullanıcının nabzını gerçek zamanlı olarak grafikler. Ayrıca zaman içinde BPM (Dakikada Vuruş) ve IBI (İnterbe Aralığı) grafiğini de gösterir.

Bu İşleme çizimi herhangi bir hesaplama yapmıyor! Hepsi Arduino kartında yapılır, bu nedenle görselleştiriciyi kullanmak için PulseSensor_BPM taslağını çalıştıran bir Arduino'ya ihtiyacınız vardır Bu yazılım sadece Seri Bağlantı Noktasını okur ve aldığı verileri görselleştirir.

darbe sensörü işleme görselleştirici çıkışı

Çizim Yükle

PulseSensor_BPM için Dosya > Örnekler > PulseSensor Oyun Alanı örnekleri menüsüne bakın ve Arduino IDE'nize yükleyin.

darbe sensörü işleme görselleştirici arduino kroki

PulseSensor_BPM taslağını çalıştırmadan önce Arduino kartınızın görselleştiriciyle konuşması için outputTypeArduino kodunda adı verilen bir değişkeni değiştirmeniz gerekecektir Varsayılan olarak olarak ayarlanmıştır SERIAL_PLOTTERolarak değiştirmeniz gerekir PROCESSING_VISUALIZER.

görselleştirici arduino taslağının işlenmesindeki değişiklikler

Ardından, Arduino Sketch'i yükleyin ve panonuz, Processing Visualizer'ın almayı sevdiği şekilde veri göndermeye hazır!

Kurulum

İşlem kodunu github'dan indirin İndirilen dosyayı açın ve PulseSensorAmpd_Processing_Visualizer adlı klasörü alın ve Documents/Processing klasörünüze yerleştirin.

Ardından, Sketch klasörünüz aracılığıyla koda erişmek için İşleme'yi açın. Seç Dosya> Sketchbook ... basıp PulseSensorAmped_Processing_Visualizer

darbe sensörü işleme görselleştirici kroki

Kurmak

Sketch başlatılacak ve Arduino kartınızla ilişkili USB bağlantı noktasını seçmeniz istenecektir. Kullanım Yenile Seri Portlar size Arduino görmüyorsanız portlar listesini güncellemek için düğmeye.

darbe sensörü işleme görselleştirici bağlantı noktası seçimi

Doğru bağlantı noktasını seçtiğinizde, kalp atışı verilerini görmeye başlayacaksınız!

Fonksiyonlar

Eskiz çalışırken yapabileceğiniz birkaç harika şey var:

  1. Program penceresinin ekran görüntüsünü almak için 's' tuşuna basın. Resim, eskiz klasörüne .jpg olarak kaydedilecektir.
  2. Veri pencerelerini sıfırlamak için 'r' tuşuna basın.
Bahadir Özgen
Electronic Robotic Coding Research and Development 1975 - ∞
Learn Forever
If you want, let's learn together...

#Arduino
#Robotikkodlama
#programlama
#mblock
#elektronik
#blokprogramlama
#algoritma
#scratch
#arduinoeğitim
#mitappinventor
#appinventor
#arduinoblocks
#ogretmen
#öğretmen
#eğitim
#egitim
#roboticcode
#roboticcode2020
#robotik




29 Temmuz 2021 Perşembe

Robotik kodlama

Robotik Kodlama


Nedir şu Robotik kodlama ?  Çocukların ve konu dışı herkesin anlayabileceği sade bir dille...



Robotik Kodlama




Tech. Elct. Bahadır ÖZGEN
Electronic Robotic Coding Research and Development 1975 - ∞
Learn Forever
If you want, let's learn together...

#Arduino
#Robotikkodlama
#programlama
#mblock
#elektronik
#blokprogramlama
#algoritma
#scratch
#arduinoeğitim
#mitappinventor
#appinventor
#arduinoblocks
#ogretmen
#öğretmen
#eğitim
#egitim
#roboticcode
#roboticcode2020
#robotik

6 Temmuz 2021 Salı

Arduino ile IR kod bulma

 Arduino ile IR kod bulma 

Merhaba konunun tam anlaşılabilmesi için biraz fen bilgisi konularına girmemiz eksik bilgilerimizi tamamlamamız ve bilmediklerimizi öğrenmemiz açısından oldukça verimli olacaktır.Bu nedenle önce Işık ve gözümüzün ışık konusunda özelliklerini gözden geçirerek kumanda kodlarını çözelim ve arduino programlayalım.

Radyo, VHF, UHF, Radar, Kızılötesi, Ultraviyole, X-ışınları, Gama ve Kozmik dalga boyları…

Yukarıda gördüğünüz gibi, Kızılötesi ve Ultraviyole dalga boyları arasındaki ek, küçük görünür ışık spektrumunda bulunur. (Kabaca 380 nm ile 780 nm arasında). Görünür spektrumun tamamına bakıldığında beyaz olarak algılanır.

Işık bir DALGADIR!

Işık bir PARÇACIKTIR!



Büyük ışık tartışması, ışığın dalga boyu mu yoksa parçacık mı olduğu üzerine odaklanmıştır. Işık bir dalga boyudur çünkü testler dalga boyu olarak tepki verdiğini göstermiştir. Veya diğer testlerde ışık, bir parçacık gibi davrandığı için ışık bir parçacıktır.

Sonuçta İKİ tarafın da haklı olduğu belirlendi. Işık hem dalga boyu hem de parçacık gibi davrandı. Gerçekleştirmeyle kendinden geçmiş olan fenomen, yüksek, telaffuz edilmesi zor bir terimle adlandırıldı: Wavicle!

Işık dalgalarına fotonlar denir. Yanınızdaki kişiye bir parti flama atın. (Söz konusu atılan flama için tutuklanırsa, NextDayFlyers söz konusu atılan flamanın herhangi bir katılımını reddeder). Flama, atılan yöne doğru çıkıntı yapar ve hedeflenen kurban… hata… test deneğinden seker. Açılırken, rulodaki bellek akışın dalgalı olmasına neden olur. Bu bir WAVICLE!

Flama daha güçlü bir şekilde fırlatırsanız kurban… özne morarabilir. (nasıl bildiğimi sormayın, sadece teorik). Fotondaki enerjiyi arttırmak aynı etkiye neden olabilir. Alımını bastırır ve hasara neden olabilir.

Güneş, görünmeyen spektrumun her iki tarafındaki diğer tüm dalga boyları arasında tüm görünür spektrumu yayar. Gökyüzümüzdeki güneş sarıdır. Güneşe bakarsak, güneşe bakmazsak, gözlemciye ulaşan fotonlar onları boğar ve beyaz olmasına neden olur. Güneşe bakmak da kalıcı hasara neden olur.

“Güneşten yayılan güneş ışığı tüm görünür spektrumu içeriyorsa ve tüm spektrum beyaz olarak algılanıyorsa, güneş neden gökyüzümüzde sarı?”

Gökyüzü mavi olduğu için güneş sarıdır.







Güneş uzayda beyazdır. NASA, uzayda çalışan astronotların üzerine düşen güneş ışığı görüntülerini gösterdiğinde, beyaz ışıkta aydınlanırlar. Arka plan alanı siyah kalır. Bunun nedeni, nesne üzerinde parlayan tüm görünür spektrum ve nesneye ulaşmadan önce spektrumun hiçbir parçasının dağılmaması veya yansıtılmamasıdır.

Güneş ışığı dünyanın atmosferine girdiğinde, atmosferin gazlı yapısı tayfın mavi kısmını yayar ve onu çeşitli yönlere gönderir. Güneş ışığının kalan kısmı eksi mavi spektrum, daha küçük dalga boyundaki fotonlar, sarı olarak algılanır. Mavi spektrum, gaz halindeki atmosferimizi mavi renge aydınlatan çeşitli yönlerde birçok kez bölünür. Dev bir floresan ampulün içinde yaşıyoruz.

Kalan güneş ışığı gözlemciye yaklaştıkça, dağılacak daha az mavi kalır. Ufka baktığımızda, zemin seviyesinde daha az mavi spektrum nedeniyle mavi daha açık ve solgun hale gelir. Spektrumun geri kalanı gözlemciye sarı görünür.

Güneş batarken, güneş ışığı, ışığın dünyaya girdiği açı nedeniyle gözlemciye ulaşmak için atmosferin daha fazla içinden geçer. İster doğal olarak meydana gelen ister insan kaynaklı kirlilik olsun, havadaki parçacıklarla birleştiğinde, güneş ışığı mavi ve yeşil dalga boylarından daha kısa dalga boylu fotonları yayar. Parçacıklar diğer dalga boylarını emer ve kırmızı spektrumu yansıtır, böylece güneş etrafındaki gökyüzünü kırmızı aydınlatır.

Işık kaynağını ve içerdiği renk dalga boylarını bilmek, tasarımcının bir tasarımdan algılanan rengi, başka bir deyişle nasıl görüneceğini tahmin etmesine olanak tanır.

IR dalga boyu ve göz sağlığımız 

Ultraviyole, Kızılötesi ve Görünür Radyasyon Tehlikeleri - Işık, elektromanyetik radyasyon olarak tanımlanır - bir radyan enerji biçimi. Ultraviyole ışınları, kızılötesi ışınlar, radyo dalgaları ve X ışınları dahil olmak üzere birçok enerji türü vardır. Radyan enerji tayfının sadece çok küçük bir kısmını görüyoruz - bu kısma görünür ışık denir.

Her radyasyon türünün kendine özgü dalga boyu vardır. UV, görünür ışık ve IR dalga boyları çok küçüktür ve nanometre (nm), yani bir metrenin milyarda biri olarak ölçülür. Yukarıdaki şekil, görünür ışık bölgesini ve ultraviyole, mavi ışık ve kızılötesi enerjisinin insan gözüne zarar verebileceği üç bölgeyi göstermektedir. Radyasyon insan gözünü nasıl etkiler?

Kornea, ultraviyole radyasyondan (öncelikle uzak UV) ve ayrıca orta kızılötesi radyasyondan etkilenir. Yakın UV ve esas olarak orta IR olan kızılötesi radyasyonun etkileri yoluyla lenste hasar meydana gelebilir. Diğer tehlikeli radyasyon türleri kornea veya lens tarafından emilmez, ancak doğrudan retinaya odaklanır Bu, mavi ışığın tehlikeli kısmı (fotokimyasal hasar) ve yakın kızılötesi için geçerli olabilir. Retinanın iyileşme kapasitesi çok sınırlıdır; düşük enerji seviyelerinin bile retina hasarına neden olduğu gösterilmiştir.

Açık havada çalışma durumunda ek faktörler dikkate alınmalıdır. Parlak güneş ışığında, parlama zayıflaması önemli bir gereklilik olabilir. Gözü parlamanın etkilerinden kurtaran bir filtre, güneş ışığının önemli ölçüde kızılötesine yakın bileşeninin yanı sıra UV ve mavi ışığa karşı da koruma sağlamalıdır (güneş enerjisinin yaklaşık %46'sı dünya yüzeyine ulaşır).

IR'ye maruz kalmaktan başka komplikasyonlar ortaya çıkabilir. Aslında. kızılötesi radyasyon, foto-kimyasal hasar eşiklerini düşürmek için mavi ışıkla birlikte hareket edebilir. Benzer şekilde, kornea ve lens kendi kan kaynakları tarafından soğutulmadığından, IR bu organların UV hasar eşiklerini düşürebilir. IR'ye karşı koruma, radyasyonun retina üzerindeki ısı yükünü azaltarak göz yorgunluğunu da azaltabilir. Aşağıdaki şekil radyasyonun gözü nasıl etkilediğini göstermektedir.









TV'den, Uydu alıcısından, DVD oynatıcılardan, Ses sistemlerine vb. kadar cihazların çoğu, IR uzaktan kumandalar kullanılarak kablosuz olarak kontrol edilir.

Eğer piyasadan satın aldığınız herhangi bir kumanda ile herhangi bir cihazı kontrol etmek isterseniz ve IR tabanlı bir proje yapmak istiyorsanız; daha sonra, uzaktan kumanda tarafından cihaz veya cihazdaki IR alıcısına gönderilen kodları çözmüş ve biliyor olmalısınız

Çeşitli platformlarda çeşitli projeler yapıyoruz ve sadece Arduino kullanarak her zaman herhangi bir cihazın, konsolun vb. kodlarına ihtiyacımız var.

IR uzaktan kumandada bir düğme ve IR LED takılı bir mikro denetleyici bulunur. Bir düğmeye basıldığında, bir mikro denetleyici düğmeyi tanımlar ve ilgili modüle edilmiş sinyalleri (kodları) IR LED'e gönderir. Ardından IR LED, cihazdaki IR alıcısına gönderir.

Cihazdaki sistem sinyalleri (kodları) demodüle eder ve buna karşılık gelen işlevi kontrol eder ve yürütür. Her fonksiyonun farklı bir kodu vardır.

IR ile çalışan her cihazın farklı işlevler için farklı kodları vardır.

Kızılötesi (IR) ışığı göremeyiz çünkü dalga boyları bizim spektrumumuzda değildir.


#include <IRremote.h>       //including infrared remote header file<br>
int RECV_PIN = 11;          // the pin where you connect the output pin of IR sensor 
IRrecv irrecv(RECV_PIN);
decode_results results;
 
void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn();
}
 
void loop() 
{
  if (irrecv.decode(&results)) 
  	{
    int value = results.value;
    Serial.println(" ");
    Serial.print("Code: ");
    Serial.println(results.value);                //prints the value a a button press
    Serial.println(" ");
    irrecv.resume();       				// Receive the next value
    Serial.println("*****************");
  		}
}

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.



30 Haziran 2021 Çarşamba

Arduino Akıllı telefon bluetooth ile sıcaklık ve nem

 


İşte evinizin sıcaklığını ölçmekten ve akıllı telefonunuzdaki verileri toplamaktan oluşan küçük bir ev projesi. Bluetooth modülü, çoklu veri ile başa çıkma yolu ile seri iletişim ve App Inventor 2 ile yapılmış bir akıllı telefon Android uygulaması kullandığımız basit bir projedir.

Not: Fritzing'de görüntülenen modül bir HC-05'tir ancak HC-06 ile aynı pin çıkışına sahiptir.

Malzeme

  • akıllı telefon
  • Arduino UNO'su
  • 5V Pil
  • Sıcaklık sensörü LM35
  • Bluetooth modülü HC-06

kod

Sıcaklık aralığını ve voltaj ile sıcaklık arasındaki dönüştürme kuralını bulmak için LM35 sensörünün veri sayfasını araştırıyoruz Ölçülen voltajı fiziksel bir değere çevirebilme. Sıcaklık ölçüldüğünde, Bluetooth modülü aracılığıyla akıllı telefona gönderilir. Çoklu verilerle başa çıkmak için veriler, deşifre etmeyi kolaylaştıran bir ayırıcı ile bir String'de birleştirilir.

.

#include <SoftwareSerial.h>                          
SoftwareSerial HC06(2,3); 

// Constants
#define DELAY 1000 // Delay between two measurements in ms

// Parameters
const int sensorPin = A0; // Pin connected to sensor

// Variables
float voltage, temperature;

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

void loop(void) {
  voltage= analogRead(sensorPin) * (5.0 / 1023.0); // Convert digital value to voltage
  temperature=100*voltage; // conversion from V to °C
  
  Serial.print("Sensor reading = ");
  Serial.println(temperature); // the temperature reading

  // Send voltage and temperature value to app
  HC06.print(voltage);
  HC06.print("x");
  HC06.print(temperature);
  
  delay(DELAY);  
}


Ev Ölçüm Uygulaması

App mucit 2 kullanarak basit bir uygulama oluşturduk.Arduino'dan gelen veriler Android uygulamasına metin olarak gönderiliyor. Sensörden değerleri elde etmek için metnin “x” ayırıcısına göre bölünmesi gerekir. Ortaya çıkan liste öğeleri daha sonra ilgili etiketlerde görüntülenir.

ev ölçümü için android uygulama mucidi 2uygulama mucidi 2 ev ölçüm çizik

Bluetooth modülü, telefonunuzdaki Bluetooth cihazları listesinde saklanmalıdır. Bluetooth modülü HC-05 veya HC-06, uygulamayı kullanmadan önce bir kez eşleştirilmelidir. 

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.