Robotik Kodlama

Robotik Kodlama
Ana Sayfa

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

24 Nisan 2021 Cumartesi

2 Eksenli Joystick Nasıl Çalışır ve Arduino + İşleme

 

2 Eksenli Joystick Nasıl Çalışır ve Arduino + İşleme

Donanıma Genel Bakış

Bu, PS2 (PlayStation 2) denetleyicilerindeki 'analog' oyun çubuklarına çok benzeyen bir kumanda koludur. Bu, kendi kendine merkezlenen yaylı bir joysticktir, yani joystick'i bıraktığınızda kendisini ortalayacaktır. Aynı zamanda baş parmak hissi veren rahat bir fincan tipi düğme / başlık içerir.


Joystick'in amacı, hareketi 2 boyutlu (2 eksenli) bir Arduino ile iletmektir. Bu, iki bağımsız 10K potansiyometre (eksen başına bir) barındırarak elde edilir. Bu potansiyometreler, kontrol çubuğu biçiminde 2 Eksenli analog giriş sağlayan çift ayarlanabilir voltaj bölücüler olarak kullanılır.

Potansiyometreler, joystick'in yanlarındaki iki mavi kutudur. Her bir potansiyometrenin merkez şaftını izlerken kumanda kolunu hareket ettirirseniz, potansiyometrelerin her birinin yalnızca bir yönde hareket algıladığını görürsünüz. Aslında nasıl çalıştıklarını biraz sonra tartışacağız.


Bu kumanda kolu ayrıca, kapağı aşağı doğru bastırdığınızda etkinleşen bir anahtar içerir. Anahtar, kumanda çubuğunun arkasındaki küçük siyah kutudur. Başlığı aşağı bastırırsanız, anahtarın başını aşağı doğru iten bir kol görebilirsiniz. Kol, kumanda kolu hangi konumda olursa olsun çalışır.

PS2 2 eksenli başparmak kumanda kolu modülü nasıl çalışır?

Bir joystick'in temel fikri, çubuğun konumunu iki eksende - X ekseni (soldan sağa) ve Y ekseni (yukarı ve aşağı) bir Arduino'nun işleyebileceği elektronik bilgilere çevirmektir. Bu biraz zor olabilir, ancak iki potansiyometre ve bir Gimbal Mekanizmasından oluşan kumanda kolunun tasarımı sayesinde .

Gimbal Mekanizması

2 Eksenli Joystick Çalışan Gimbal Mekanizması










Kumanda kolunu döndürdüğünüzde, başparmak kolu iki dönebilir yarıklı şafta (Gimbal) oturan dar bir çubuğu hareket ettirir. Millerden biri X ekseninde (sol ve sağ) harekete izin verirken, diğeri Y ekseninde (yukarı ve aşağı) harekete izin verir. Çubuğu ileri ve geri eğmek, Y ekseni milini bir yandan diğer yana döndürür. Soldan sağa eğildiğinde, X ekseni şaftını döndürür. Çubuğu çapraz olarak hareket ettirdiğinizde, her iki şaftı da döndürür.

Joystick Modülünde Çalışan Potansiyometre









Her bir kumanda kolu miline, çubuğun konumunu analog okumalar olarak yorumlayan bir potansiyometre bağlanır. Yarıklı millerin hareket ettirilmesi, potansiyometrenin kontak kolunu döndürür. Başka bir deyişle, çubuğu sonuna kadar iterseniz, potansiyometre temas kolunu rayın bir ucuna çevirir ve kendinize doğru geri çekerseniz, temas kolunu diğer yöne çevirir.

Joystick'ten analog değerleri okuma

Joystick'in fiziksel konumunu okumak için, bir potansiyometrenin direncindeki değişikliği ölçmemiz gerekir. Bu değişiklik, ADC kullanılarak bir Arduino analog pini ile okunabilir.

Arduino kartının 10 bitlik ADC çözünürlüğü olduğundan, her analog kanaldaki (eksen) değerler 0 ila 1023 arasında değişebilir. Dolayısıyla, çubuk X ekseni üzerinde bir uçtan diğerine hareket ettirilirse, X değerleri değişecektir. 0'dan 1023'e kadar ve benzer bir şey Y ekseni boyunca hareket ettirildiğinde gerçekleşir. Joystick merkez konumunda kaldığında değer 512 civarındadır.Aşağıdaki grafik, X ve Y yönlerini gösterir ve ayrıca joystick çeşitli yönlere itildiğinde çıkışların nasıl tepki vereceğini gösterir.



Bu başparmak kumanda kolunu kullanmak için, hangi yönün X ve hangi yönün Y olduğunu anlamak isteyeceksiniz. Ayrıca, X veya Y yönünde itildiği yönü de çözmeniz gerekecek.

Başparmak Joystick Modülü PinoutPinout PS2 Joystick Modülü

GND Arduino üzerindeki GND pinini bağladığımız Ground Pin'tir.

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

VRx joystick'in yatay yönde (X koordinatı), yani joystick'in sola ve sağa ne kadar itildiğini gösterir.

VRy joystick'in dikey yönde (Y koordinatı), yani joystick'in ne kadar yukarı ve aşağı itildiğini gösterir.

SWbutonun çıktısıdır. Normalde açıktır, yani SW pininden gelen dijital okuma YÜKSEK olacaktır. Düğmeye basıldığında, GND'ye bağlanarak DÜŞÜK çıkış verir.



Kablolama - Başparmak Joystick Modülünü Arduino UNO'ya Bağlama

Artık modül hakkında her şeyi bildiğimize göre, onları kullanmaya başlama zamanı!

Bildiğimiz gibi joystick'in X ve Y koordinatlarını belirlemek için her iki analog çıkışı da joystick'ten Arduino'daki analog pinlere bağlamamız gerekiyor. Arduino kartımız için, VRx'i Arduino'nun analog pin A0'a ve VRy'yi Arduino'nun analog pin A1'e bağlarız.

Joystick düğmesine basılıp basılmadığını okumak için, joystick'in SW pinini Arduino'nun dijital pin D8'ine bağlarız.Bunun dışında, joystick'in sadece güce ihtiyacı var. VCC pini Arduino'nun 5V terminaline ve GND pini Arduino'nun GND terminaline bağlanır.PS2 2 eksenli Joystick Modülü ile Arduino Kablolama Fritzing Bağlantıları
Arduino UNO ile PS2 2 eksenli Joystick Modülü Kablolama

Bu kadar. Artık Joystick manipülasyon becerilerinizi göstermeye hazırsınız.

Arduino Kodu

Program çok basit. Ölçümü iki analog girişten ve bir dijital girişten okuyacağız. Ardından sonucu seri monitörde göstereceğiz.

// Arduino pin numbers
const int SW_pin = 8; // digital pin connected to switch output
const int X_pin = 0; // analog pin connected to X output
const int Y_pin = 1; // analog pin connected to Y output

void setup() {
  pinMode(SW_pin, INPUT);
  digitalWrite(SW_pin, HIGH);
  Serial.begin(9600);
}

void loop() {
  Serial.print("Switch:  ");
  Serial.print(digitalRead(SW_pin));
  Serial.print(" | ");
  Serial.print("X-axis: ");
  Serial.print(analogRead(X_pin));
  Serial.print(" | ");
  Serial.print("Y-axis: ");
  Serial.print(analogRead(Y_pin));
  Serial.println(" | ");
  delay(200);
}

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

PS2 Joystick Modülü Seri pencerede Arduino Sketch Çıkışı
Seri Monitör Üzerindeki Kumanda Kolu Modülü Çıkışı
Kod Açıklaması :

Çizim, Joystick modülünün Arduino üzerindeki bağlantılarını başlatarak başlar. SW pini Arduino Pin # 8'e bağlıyken VRx ve VRy pinleri Analog pin # 0 ve # 1'e bağlanır.
// Arduino pin numbers
const int SW_pin = 8; // digital pin connected to switch output
const int X_pin = 0; // analog pin connected to X output
const int Y_pin = 1; // analog pin connected to Y output

In setup()fonksiyonu: Biz girdi olarak GB pimini başlatmak ve YÜKSEK saklayın. Bunun nedeni, SW pimi YÜKSEK olduğu sürece düğmeye basılmadığını biliyoruz. Ayrıca seri iletişimi de başlatıyoruz.

  pinMode(SW_pin, INPUT);
  digitalWrite(SW_pin, HIGH);
  Serial.begin(9600);

In loop()fonksiyonu: Biz sadece kullanılarak GB pin değerini okumak digitalRead()fonksiyonu, VRX & VRY kullanarak pimi analogRead()seri monitörde ve ekranı.

  Serial.print("Switch:  ");
  Serial.print(digitalRead(SW_pin));
  Serial.print(" | ");
  Serial.print("X-axis: ");
  Serial.print(analogRead(X_pin));
  Serial.print(" | ");
  Serial.print("Y-axis: ");
  Serial.print(analogRead(Y_pin));
  Serial.println(" | ");
  delay(200);

Arduino Projesi

IDE İşlemede Joystick Hareketlerini Canlandırma

İşleme IDE'de animasyonları kontrol etmek için basit bir 2 Eksenli Joystick modülünün nasıl kullanılabileceğini göstermek için hızlı bir Arduino projesi oluşturalım. Öncelikle Arduino'muzu x ekseni, y ekseni ve düğme durumu değerlerini seri port üzerinde yayınlayacak şekilde programlayacağız. IDE İşleminde seri porttan gelen bu değerleri alacağız. Bu değerler daha sonra oyun çubuğu konumunu canlandırmak için kullanılabilir. Harika! Sağ?

Çıktı böyle görünüyor.

Arduino Projesi - IDE'yi Önceden Hazırlarken Animasyon Joystick'i
Precessing IDE'de joystick hareket animasyonu
Elbette bu proje karakterleri canlandırmak, gözetleme projeleri yapmak veya insansız araçları kontrol etmek için genişletilebilir.

Arduino Kodu

Başlangıç ​​olarak, Arduino'muzu seri port üzerinde x ekseni, y ekseni ve düğme durumu değerlerini kullanacak şekilde programlamamız gerekir. Program, seri monitörde yazdırdığımız değerler virgülle ayrılmış olması dışında yukarıdakiyle tamamen aynıdır Neden virgülle ayrılmış? Çünkü bu, bir uygulamadan diğerine veri aktarımı için popüler bir formattır. IDE işlenirken, gelen değerleri 'virgül' karakterine bölebilir ve verilerimizi geri alabiliriz.

Aşağıdaki çizimi Arduino'nuza yükleyin.

int xValue = 0 ; // read value of the X axis	
int yValue = 0 ; // read value of the Y axis	
int bValue = 0 ; // value of the button reading	

void setup()	
{	
	Serial.begin(9600) ; // Open the serial port
	pinMode(8,INPUT) ; // Configure Pin 2 as input
	digitalWrite(8,HIGH);	
}	

void loop()	
{	
	// Read analog port values A0 and A1	
	xValue = analogRead(A0);	
	yValue = analogRead(A1);	

	// Read the logic value on pin 2	
	bValue = digitalRead(8);	

	// We display our data separated by a comma	
	Serial.print(xValue,DEC);
	Serial.print(",");
	Serial.print(yValue,DEC);
	Serial.print(",");
	Serial.print(!bValue);

	// We end with a newline character to facilitate subsequent analysis	
	Serial.print("\n");

	// Small delay before the next measurement	
	delay(10);	
}

Kodu

Program Arduino'ya yüklendikten sonra, İşleme IDE'de Joystick konumunu canlandırmaya başlayabiliriz. Arduino'nuzu takılı tutun ve İşleme kodunu takip ederek çalıştırın.

import processing.serial.*; //import the Serial library
Serial myPort;

int x; // variable holding the value from A0
int y; // variable holding the value from A1
int b; // variable holding the value from digital pin 2
PFont f; // define the font variable
String portName;
String val;

void setup()
{
  size ( 512 , 512 ) ; // window size
  
  // we are opening the port
   myPort = new Serial(this, Serial.list()[0], 9600);
  myPort.bufferUntil('\n'); 
  
  // choose the font and size
  f = createFont("Arial", 16, true); // Arial, 16px, anti-aliasing
  textFont ( f, 16 ) ; // size 16px
}

// drawing loop
void draw()
{
  fill(0) ; // set the fill color to black
  clear() ; // clean the screen
  
  fill(255) ; // set the fill color to white
  
  if (b == 1) // check if the button is pressed
  {
    // draw a larger circle with specified coordinates
    ellipse(x/2,y/2, 50, 50);
  } 
  else
  {
    // we draw a circle with a certain coordinates
    ellipse(x/2,y/2, 25, 25);
  }
  
  // we display data
  text("AnalogX="+(1023-x)+" AnalogY="+(1023-y),10,20);
}


// data support from the serial port
void serialEvent( Serial myPort) 
{
  // read the data until the newline n appears
  val = myPort.readStringUntil('\n');
  
  if (val != null)
  {
        val = trim(val);
        
    // break up the decimal and new line reading
    int[] vals = int(splitTokens(val, ","));
    
    // we assign to variables
    x = vals[0];
    y = vals[1] ;
    b = vals[2];

  }
}

Kod Açıklaması:

Hızlı bir arıza yapalım. Öncelikle seri porttan gelen değerleri okumak için seri kütüphaneyi içe aktarmamız gerekiyor.

import processing.serial.*; //import the Serial library
Serial myPort;

Daha sonra, x ekseni, y ekseni ve düğme durumu değerlerini tutan değişkenler bildirilir.

int x; // variable holding the value from A0
int y; // variable holding the value from A1
int b; // variable holding the value from digital pin 2
PFont f; // define the font variable
String portName;
String val;

Kurulum işlevinde, animasyonumuzu göstermek için 512 × 512 boyutunda bir pencere oluşturmamız gerekir. Daha sonra, parametreyi geçerek kullanılabilir bir seri port açıyoruz Serial.list()[0]Bu sizin için işe yaramazsa, Arduino'nun bağlı olduğu bağlantı noktasına değiştirin. Değerlerimizi pencerede animasyonla birlikte göstermek için bir yazı tipi oluşturmamız gerekiyor.

  size ( 512 , 512 ) ; // window size
  
  // we are opening the port
   myPort = new Serial(this, Serial.list()[0], 9600);
  myPort.bufferUntil('\n'); 
  
  // choose the font and size
  f = createFont("Arial", 16, true); // Arial, 16px, anti-aliasing
  textFont ( f, 16 ) ; // size 16px

Çizim fonksiyonunda önce pencerenin arka planı siyah renkle doldurulur. Ardından, joystick'in konumunu temsil eden küçük bir daire çizmek için beyaz bir renk seçiyoruz. Şimdi, düğme durumuna bağlı olarak if ifadesini kullanarak küçük veya büyük bir daire çizeriz.

fill(0) ; // set the fill color to black
  clear() ; // clean the screen
  
  fill(255) ; // set the fill color to white
  
  if (b == 1) // check if the button is pressed
  {
    // draw a larger circle with specified coordinates
    ellipse(x/2,y/2, 50, 50);
  } 
  else
  {
    // we draw a circle with a certain coordinates
    ellipse(x/2,y/2, 25, 25);
  }

Ardından, pencerenin sol üst köşesine x ekseni ve y ekseni değerlerini yazdırıyoruz.

  // we display data
  text("AnalogX="+(1023-x)+" AnalogY="+(1023-y),10,20);

Yeni serialEvent(Serial myPort)satır karakteri görünene kadar diziyi seri bağlantı noktasında okuyan özel bir işlevdir. Dize daha sonra 'virgül' karakteriyle bölünür ve ilgili değişkenlere atanır.

void serialEvent( Serial myPort) 
{
  // read the data until the newline n appears
  val = myPort.readStringUntil('\n');
  
  if (val != null)
  {
        val = trim(val);
        
    // break up the decimal and new line reading
    int[] vals = int(splitTokens(val, ","));
    
    // we assign to variables
    x = vals[0];
    y = vals[1] ;
    b = vals[2];

  }
}

Analog Oyun Çubukları ile ilgili sorun

Analog joystick sistemiyle ilgili birkaç küçük ama önemli sorun var.

  • Her şeyden önce, sistem gerçek bir analogdan dijitale dönüştürücüye sahip olmadığından, kaba analogdan dijitale dönüştürme süreci çok doğru değildir. Bu, joystick'in hassasiyetini bir şekilde tehlikeye atar.
  • İkincisi, mikro denetleyici, çubuğun konumunu belirlemek için joystick sistemini düzenli olarak "sorgulamak" için çok fazla işlem gücü ayırmalıdır. Bu, diğer işlemlerden çok fazla güç alır.

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.

TSOP1738 IR Alıcı

 

TSOP1738 IR Alıcı


TSOP1738, bir devre içinde bir anahtar ve dönüştürücü görevi gören bir amplifikatöre sahip bir IR alıcısıdır. Yalnızca giriş IR sinyalinin temelinde hareket eden bir giriş ve çıkışa sahiptir. TSOP1738'in temel amacı, IR sinyalini elektrik sinyallerine dönüştürmektir. Her IR alıcısının çalışması için özel bir frekansı vardır. TSOP1738, 38KHz IR frekansı üzerinde çalışır. Daha yüksek veya daha düşük frekans olması durumunda, akım kaçağı veya diğer bazı hatalar nedeniyle hareket edebilir ancak tam olarak çalışmayacaktır. Mikro düzeyde çalışan, işlevlerine çok duyarlı ve verimli olan silikon bazlı teknolojiyi kullanır. Özetle, TSOP boyut olarak daha küçük olabilir ancak mikro denetleyici ve mikro işlemcilerle kullanılması onu akıllı ve güvenli kılar.
TSOP1738 Pinout şeması

TSOP1738, yalnızca anahtar görevi gören bir IR alıcısıdır. TSOP'yi diğer cihazlara bağlayan ve kablosuz iletişim için kullanışlı hale getiren sadece üç pini vardır.

TSOP1738 Pinout diyagramı Yapılandırması
TSOP1738 Pin Yapılandırması

Metalik bir kafa ile de bulabiliriz. Aşağıdaki şekilde gösterildiği gibi:

Metal başlı ve başsız IR alıcı

Pinout Açıklaması

GND: Topraklama pimi yalnızca diğer cihazlarla, özellikle mikrodenetleyiciler ve IC'ler ile ortak bir zemin oluşturmak içindir.

VSS: Dahili şifre çözücüyü ve IR alıcısını etkinleştirmek için bir güç giriş pinidir. Güç, özelliklerine göre olmalı ve yalnızca güç piminde olmalıdır. Herhangi bir pimde güç girişi olması durumunda, düşük olsa bile IC ısınmaya başlayacak ve dokunarak fark edilebilecek. Sonunda, ısıtma TSOP'ye zarar verecektir.

Çıktı: Veriler, çıkış pininden darbe şeklinde çıkacaktır. Çıkış pini, herhangi bir TTL / CMOS cihazıyla küçük bir dirençle arayüzlenebilir. Çıkış verileri TSOP'tan voltaj biçiminde olacaktır.

TSOP1738 IR Alıcı Özellikleri

  • IR alıcı ve amplifikatörü tek bir pakette verir.
  • Özel frekans seviyesi, belirli bir cihazla çalışmasını sağlar.
  • TSOP1738, özellikle güneş ışığı olmak üzere herhangi bir ortam ışığından kaçınmak için dahili bir bant geçiren filtreye sahiptir.
  • Dahili filtre, analog sinyaller için PCM frekansı verir
  • Her türlü TTL / CMOS mikrodenetleyici, IC veya mikroişlemci ile kullanılabilir.
  • Tek bir pakette birden fazla özellik olsa bile, IC hala düşük güç tüketimine sahiptir ve güç tüketimi yalnızca çalışırken gerçekleşir. Bekleme konumunda güç tüketimi düşer.
  • TSOP1738 1200 bit / s aktarabilir ve aynı hızda alabilir.
  • Aktif bir düşük çıkış cihazıdır.

Teknik Özellikler

  • TSOP için çalışma voltajı ve akımı -0,3 ila 6,0 V ve 5mA akımdır.
  • Çıkış voltajı ve akımı her zaman güç girişine göre olacaktır.
  • İç bağlantı sıcaklık aralığı 100 ⁰C'dir.
  • TSOP1738 -25 ila 85 ⁰C'de çalışabilir ancak bu ılıman sıcaklığı da depolayabilir.
  • 85 consumptionC maksimum sıcaklıkta güç tüketimi 50mW'dir.
  • Lehimleme sırasında IC, sıcaklığı her zaman pimlerinin yakınında 260 ⁰C'nin altında tutar, aksi takdirde lehimleme sırasında harici sıcaklıkla yanar.

IR alıcısı nasıl çalışır?

Verilen görüntü, TSOP1738'in dahili bileşenlerinin genel bir blok diyagramıdır. Her bileşenin detayı aşağıda tartışılmaktadır:

TSOP1738 Blok Şeması
TSOP1738 Blok Şeması

AGC

Blok diyagramdan itibaren dahili bileşenler açıkça görülebilir ancak burada her bir bileşenin kullanımı bir nedendir. IR alıcısı doğrudan çalışabilir, ancak TSOP'ta diğer bileşenler onu akıllı ve güvenli kılar. IR önce AGC'ye (Otomatik Kazanç Kontrolü) bağlanır. AGC, IR alıcısından gelen farklı tipteki giriş sinyallerinin girişini güçlendirir. AGC daha sonra çıkışı Bandpass filtresine iletir.

Bant Geçiş Filtresi

Bant geçiren filtrenin TSOP'ta birden çok rolü vardır. Önce gelen analog sinyalleri daha sonra demodülatöre geçen dijital çıkış seviyelerine dönüştürür. AGC ve bant geçişinin kombinasyonu, aynı zamanda herhangi bir ortam ışığından, özellikle güneş ışığından kaçınmasını sağlar çünkü yaygındır ve her yerde kolayca bulunabilir. Cihazın dahili güneş ışığı koruması olabilir, ancak yine de şirket daha kısa bir mesafede kullanılmasını tavsiye ediyor. Hava koşullarındaki değişiklik bazen güneş ışığını etkileyebilir ve bu da TSOP ile iletimi etkileyebilir. Bant geçiş filtresi ayrıca IC'nin yalnızca 38KHz olan özel bir frekansta çalışmasını sağlar.

Demodülatör

Demodülatör, bir uçtan NPN transistörüne ve diğer uçtan Band Geçiş Filtresine bağlanır. Bant geçiren filtreden gelen çıkış verileri, düşük giriş sinyalleri kullanarak NPN transistörünü çalıştıracak olan demodülatöre girilecektir. NPN transistörü doğrudan kollektörden gelen güce ve çıkışa ve emitör tarafından toprağa bağlanır. Her düşük sinyal NPN transistörünü kapatacak ve güç çıkış pinine doğru geçecektir.

Kontrol devresi

Kontrol devresi, demodülatör ve bant filtresi için bir anahtar görevi görür. Bant geçiren filtre çıkışı oluşturduğunda çıkış sinyalini üretir, kontrol devresi, demodülatöre ve AGC'ye filtrelemenin tamamlandığını bildiren çıkış sinyalini üretir.

TSOP1738 IR Alıcı Uygulamaları

  • TSOP1738 daha küçük olabilir, ancak modern ürünlerin çoğu TSOP1738 ile dahili olarak bağlantılıdır. TV, AC, Kapılar vb.
  • Nesne algılama gibi güvenlik sistemleri bunu IR vericisi ile kullanır.
  • TSOP1738, amacına ulaşmak için hat takip eden robotları kullanır.
  • Hear Beat sensörü TSOP1738 kullanılarak oluşturulabilir.
  • IoT'deki modern güvenlik sistemlerinin çoğu, farklı uygulama türleriyle TSOP1738 ile birlikte gelir.
  • Küçük mesafeli iletişim için en iyi alıcılardan biridir ancak yalnızca tek yönlü iletişim içindir.

TSOP1738 Örnek Devreler

Bir sürü TSOP1738 uygulaması var ancak her uygulama aynı yöntemi ve devreyi kullanıyor. Özellikle ticari düzeyde, TSOP1738, başta güvenlik olmak üzere birçok sorundan dolayı insanlar ve makineler arasındaki her türlü etkileşimi önlemek için kablosuz iletişim yapmak için kullanır.

IR uzaktan kumanda ile LED'i kontrol etme

Bu örnekte, TSOP bir uzaktan test cihazı olarak kullanılacaktır. Yerel mağazaların çoğunda, gelen sinyali okumaya yardımcı olan, içinde TSOP1738 bulunan bir uzaktan test cihazı vardır.

TSOP1738 Kontrol LED'i, uzaktan Örnek

Bu cihazın temel amacı, uzaktan kumandadan gelen sinyali görmektir. Uzaktan kumandadan gelen sinyal çıplak gözle göremez. Aşağıdaki devre, satıcıların uzaktaki sinyalleri ışık şeklinde görüntülemesine yardımcı olur.

TSOP1738 Örneği

Bu devrede TSOP1738, transistörler ve bazı dirençler kullanarak bir LED çalıştırır. TSOP'nin çıkışı, NPN transistörünün tabanına bağlanır ve transistör LED'i kontrol eder. Uzaktan kumanda düğmesi TSOP1738'in önüne her basıldığında, LED yanıp sönmeye başlayacaktır. LED'in yanıp sönmesi gelen sinyale göre olacak ve insan gözü tarafından kolaylıkla görülebilecek.

Arduino ile LED'i kontrol etme

Bu örnekte Led'i  Arduino ile kontrol etmeyi öğreniyoruz Bu şema, Arduino ile arayüz oluşturan bir IR alıcısını göstermektedir.

Arduino ile arayüz oluşturan IR alıcısı

TSOP1738 ile güvenlik sorunları

TSOP'nin kod çözme hızı onu daha akıllı hale getirir. Cihazların çoğunda, TSOP1738 mikrodenetleyicilere bağlanır. Bir mikro denetleyicide, mikro denetleyicinin gelen sinyal üzerinde hareket edeceği bir dizi yöntem vardır. Alıcı, verileri 1200bit / sn'ye kadar aktarabilir. Kontrolörde, gelen veriler farklı olaylar için tanımlanabilir. Daha fazla veri sayısı kimsenin tahmin etmesi zordur ve TSOP'yi doğrudan atlamanın bir yolu yoktur.

Üretilebilir verilerin çoğu, cihazı güvenli hale getirmeye yardımcı olabilir, ancak bu sistemde de bir kusur vardır. Verici veriyi her gönderdiğinde, alıcı ucu için herhangi bir kısıtlamaya sahip değildir. TSOP1738'e sahip herhangi bir cihaz verileri alabilir. TSOP1738, gelen sinyali ihmal etmek için herhangi bir akıllı algılama yöntemine sahip değildir. TSOP'nin tek temel işlevi, elektrik sinyallerine gelen IR sinyalini üretmektir. Her uzaktan kumandanın TSOP1738 ile Mikroişlemci kullanılarak tersine mühendislik yapılmasının nedeni budur. Kızılötesi aktarım yalnızca kısa aktarım cihazlarında kullanıldığı için bu sorun pek bir şey etkilemez.


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.

Arduino Analog Girişler

 

Arduino Analog Girişler

Arduino Eğitim Serimizden üçüncü Arduino Eğitimine hoş geldiniz. Bu eğitimde, Arduino Analog Giriş pinlerinin nasıl çalıştığını öğreneceğiz ve bir potansiyometre ve bir fotosel kullanarak birkaç örnek yapacağız.

Bu, takip edilmesi kolay bir Adım Adım Video Eğitimidir. Ayrıca, videonun altında bu eğitim için hangi Parçalara ihtiyacımız olduğunu ve videodaki Örneklerin Kaynak Kodlarını bulabilirsiniz.

İlk örneğin devre şeması. Potansiyometre değerini analog giriş olarak kullanma


Analog Girişler Devre Şeması 01

İkinci örneğin devre şeması. Fotoselin gerilim bölücü olarak kullanılması ve değişken değerinin analog giriş olarak kullanılması


Analog Girişler Devre Şeması 02

Birinci ve ikinci örneğin Kaynak Kodu


void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(A0);
Serial.println(sensorValue);

Üçüncü örneğin devre şeması. LED parlaklığını PWM aracılığıyla kontrol etmek için potansiyometreyi kullanma


Analog Girişler Devre Şeması 03

Üçüncü örneğin Kaynak Kodu


int led = 7;
void setup() {
Serial.begin(9600);
pinMode(led, OUTPUT);
}
void loop() {
int sensorValue = analogRead(A0);
int newValeu = map(sensorValue, 0, 1023, 0, 255);
analogWrite(led, newValeu);
}

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.