27 Mayıs 2019 Pazartesi

ARDUINO 27.05.2019

ARDUİNO DEDİĞİN NEDİR Kİ ?

Arduino projelerimizde kullanabileceğimiz açık kaynak kodlu bir bileşendir. Arduino dediğimiz zaman aklımıza ilk olarak bir beyin veya yönetici gelmeli çünkü arduino projelerimizde tam olarak bu işi yapacaktır.

Arduino ile yapacağımız şeylerin neredeyse sınırı yoktur. Örnek olarak çizgi izleyen robotlar, mesafe ölçen robotlar, çeşitli robotik kollar vb. Arduino hem eğlenceli bir uğraş hem de bir iş olarak görülebilir özellikle robotik  işlerle ilgilenip uğraşıp merakı olanlar için çok idealdir. Çünkü arduino parçalarını uygun fiyatlara bulabiliriz. Ayrıca kullanımı da kolaydır. Şu an dünya genelinde en çok kullanılan arduino modeli arduino Uno’dur. Çünkü hem boyut olarak hem de kullanma açısı bakımından diğer arduino modellerinden bir adım öndedir


.



       Arduinoyu kullanabilmemiz için azda olsa yeteri kadar yazılım bilgisine , el becerisine , merak ve en önemlisi hayal gücümüzün gelişmiş olması lazım. Yapacağımız projeyi kafamızda canlandırıp en ufakayrıntısına kadar düşünmemiz gerekir. Çünkü diğer bakımdan hep başkalarının arkasından gitmiş oluruz. Çünkü onlar yeni şeyler ortaya koymadığı sürece bizde yeni şeyler üretemez ve onların taklidini yapmaktan başka hiçbir şey yapamayız.Albert Einstein'nin bir sözü olmakla beraber oldukça yerinde söylenen bir sözdür. şu nedenle teknolojik bir çok gelişmenin altında hayal gücü yatar. hayal etmeselerdi bilgiye ulaşamazlardı. Albert Einstein boşa bu cümleyi kullanmamıştır “Hayal gücü bilgiden daha önemlidir diye”.


26 Mayıs 2019 Pazar

ROBOT KOL 26.05.2019



Projeye ait malzeme listesi :

  • 4 x Tower Pro SG90 RC Mini Servo Motor
  • Arduino Sensor Shield
  • Arduino Uno (Tercihe bağlı klon veya orijinal kullanabilirsiniz.)
  • 5V 3A Voltaj Regülatör Kartı
  • 12V Adaptör
  • HC-06 Bluetooth Modülü
  • Jumper Kablo





KODUMUZ :


#include <SoftwareSerial.h>
#include <Servo.h>   

Servo myservo1, myservo2, myservo3, myservo4; // servolarımızı tanımlıyoruz.

int bluetoothTx = 10;
int bluetoothRx = 11;  

SoftwareSerial bluetooth(bluetoothTx, bluetoothRx);

void setup()
{
myservo1.attach(5);   
myservo2.attach(6);
myservo3.attach(9);
myservo4.attach(3);
Serial.begin(9600); 
bluetooth.begin(9600); 
}

void loop()
{
if (bluetooth.available() >= 2 ) 
{
unsigned int servopos = bluetooth.read();
unsigned int servopos1 = bluetooth.read();
unsigned int realservo = (servopos1 * 256) + servopos; 

// Alınan sinyaller kaydediliyor.
// AppInventor'da her servo için ayrı sinyal göndermiştik.
//Şimdi de her servo için tanımlanan sinyalin alınıp alınmadığını kontrol ediyoruz.
//realservo , Uygulamamızdan gelen sinyal değerleri.
// Bu değerler her servo için ayrı ayrı tekrar tanımlanıyor.
// "map" komutu ile bu sinyalleri, motora vereceğimiz açı değerlerine çeviriyoruz.
// örnek: map(servo,alınan min.sinyal,alınan max.sinyal,min.Açı,max.Açı);

if (realservo >= 1000 && realservo <= 1135) // tut bırak
{
int servo1 = realservo;
servo1 = map(servo1, 1000, 1135, 0, 135);
myservo1.write(servo1);
delay(10);
}

if (realservo >= 2000 && realservo <= 2090) { // sağ sol

int servo2 = realservo;
servo2 = map(servo2, 2000, 2090, 0, 90);
myservo2.write(servo2);
delay(10);
}

if (realservo >= 3000 && realservo <= 3180) { // yukarı aşağı
int servo3 = realservo;
servo3 = map(servo3, 3000, 3180, 0, 180);
myservo3.write(servo3);
delay(10);

}

if (realservo >= 4000 && realservo <= 4120) { // ileri geri

int servo4 = realservo;
servo4 = map(servo4, 4000, 4120, 0, 120);
myservo4.write(servo4);
delay(10);

}
}
}

ÇİZGİ İZLEYEN ROBOT 26.05.2019


Çizgi İzleyen Robot Nedir?


Çizgi izleyen robot, gideceği yolu otonom olarak takip eden robot tipidir. Takip edeceği yol, siyah düzlemin üstünde beyaz çizgi veya beyaz düzlemin üstünde siyah çizgi olacak şekilde hazırlanabilir. Robot bu takip etme işlemini sensörleri vasıtasıyla renk farkını algılayarak yapmaktadır.Renk farklarını ise bu şekilde algılar .


Gerekli Malzemeler

  • Arduino Uno
  • Çok Amaçlı Robot Platformu (Biz Platforma kitini kullandık. Dilerseniz bu kiti de kullanabilirsiniz.)
  • L298N Voltaj Regulatörlü Çift Motor Sürücü Kartı
  • 4’lü Çizgi İzleyen Sensör Seti
  • Pil ( Alkalin piller robotu yaklaşık 15 dk. verimli şekilde çalıştıracaktır. Li-Po pil kullanmanız robotu daha uzun süre ve daha verimli çalıştıracaktır.)
  • 6’lı AA Pil Yuvası
  • Jumper

Çizgi İzleyen Robot Devresi



Arduino Programı



Arduino programını yazmadan önce çizgi izleyen sensörün çalışma mantığından bahsetmek istiyorum. Kullanacağımız sensörler dijital çıkış verdiklerinden dolayı siyah ve beyaz gördüklerinde çıkış sinyalleri 0 veya 1 olacaktır. Sensör siyah gördüğünde hangi değeri verdiğini bu yazılım ile test edebilirsiniz:


#define SensorSol 10

#define SensorOrta 11   // Sensör pinlerini tanımlıyoruz.
#define SensorSag 12

void setup() {

  pinMode(SensorSol, INPUT);
  pinMode(SensorOrta, INPUT); //Sensörlerimizi giriş olarak tanımlıyoruz.
  pinMode(SensorSag, INPUT);
  Serial.begin(9600);  //Seri haberleşmeyi başlatıyoruz.
  Serial.println("Cizgi Sensoru Testi");
  delay(2000);
}

void loop() {
  Serial.print(digitalRead(SensorSol));
  Serial.print(",");
  Serial.print(digitalRead(SensorOrta));
  Serial.print(",");
  Serial.println(digitalRead(SensorOrta));
  delay(100);
}

ARDUİNO İLE RENK ALGILAMA UYGULAMASI 26.05.2019


Gerekli Malzemeler


  • Arduino Uno
  • TCS3200 Renk Sensörü
  • 2×16 LCD Display
  • 10 kΩ potansiyometre
  • Jumper Kablolar

Devre Şeması




Proje Kodu


#define s0 8 //Bağladığımız pinlere göre tanımlamalarımızı yapıyoruz

#define s1 9
#define s2 10
#define s3 11
#define sensorOut 12


int K, Y, M = 0; //3 ana renk için değişken tanımlıyoruz

void setup() {
  pinMode(s0, OUTPUT);//S0, S1, S2 ve S3 pinlerini OUTPUT olarak tanımlıyoruz
  pinMode(s1, OUTPUT);
  pinMode(s2, OUTPUT);
  pinMode(s3, OUTPUT);
  pinMode(sensorOut, INPUT);//OUT pinini INPUT olarak tanımlıyoruz

  digitalWrite(s1,LOW);  //Frekans ölçeğimizi %20 olarak tanımlıyoruz
  digitalWrite(s0,HIGH); 
  Serial.begin(9600);

}

void loop() {
 

  digitalWrite(s2, LOW); //Kırmızıyı filtrelemek için
  digitalWrite(s3, LOW);
  K = pulseIn(sensorOut, LOW);//OUT pini üzerindeki LOW süresini okur
  Serial.print("Kırmızı= ");
  Serial.print(K); //Kırmızı için aldığımız değeri serial monitöre yazdır
  Serial.print("  ");
  delay(50);//50 milisaniye bekle

  digitalWrite(s2, HIGH); //Yeşili filtrelemek için
  digitalWrite(s3, HIGH);
  Y = pulseIn(sensorOut, LOW); //OUT pini üzerindeki LOW süresini okur
  Serial.print("Yeşil= ");
  Serial.print(Y); //Yeşil için aldığımız değeri serial monitöre yazdır
  Serial.print("   ");
  delay(50);//50 milisaniye bekle

  digitalWrite(s2, LOW); //Maviyi filtrelemek için
  digitalWrite(s3, HIGH);
  M = pulseIn(sensorOut, LOW);//OUT pini üzerindeki LOW süresini okur
  Serial.print("Mavi= ");
  Serial.print(M);//Mavi için aldığımız değeri serial monitöre yazdır
  Serial.println();
  delay(50);//50 milisaniye bekle
}

ARDUİNO İLE BASİT PARK SENSÖRÜ YAPIMI 26.05.2019


Gerekli malzemeler:



  • Arduino UNO
  • Breadboard
  • 1 adet Buzzer
  • 1 adet 330Ω direnç
  • 1 adet HC-SR04 ultrasonik mesafe sensörü
  • İki ucu erkek jumper kablo



HC-SR04, robotik projelerde Arduino ile kullanılan en popüler sensörlerden birisidir. Kullanımı oldukça kolaydır ve program kısmı düzgün olduğu sürece 2cm – 400cm arası uzaklıkları düzgün bir şekilde ölçebilmektedir.Çalışma prensibi ise şu şekildedir: Sensörün Trig pininden uygulanan sinyal 40 kHz frekansında ultrasonik bir ses yayılmasını sağlar. Bu ses dalgası herhangi bir cisme çarpıp sensöre geri döndüğünde, Echo pini aktif hale gelir. Biz ise bu iki sinyal arasındaki süreyi ölçerek -yani sesin yankısını algılayarak- cismin sensörden uzaklığını tespit edebiliriz.Aşağıdaki kodu yazdığımızda da devremiz hazır hale gelir .

Devre şemamız bu şekilde:






Arduino Park Sensörü Kodları:


#define echoPin 6
#define echoPin 6
#define trigPin 7
#define buzzerPin 8

int maximumRange = 50;
int minimumRange = 0;



void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(buzzerPin, OUTPUT);

}

void loop() {

  int olcum = mesafe(maximumRange, minimumRange);
  melodi(olcum*10);

}

int mesafe(int maxrange, int minrange)
{
  long duration, distance;

  digitalWrite(trigPin,LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  duration = pulseIn(echoPin, HIGH);
  distance = duration / 58.2;
  delay(50);

  if(distance >= maxrange || distance <= minrange)
  return 0;
  return distance;
}

int melodi(int dly)
{
  tone(buzzerPin, 440);
  delay(dly);
  noTone(buzzerPin);
  delay(dly);
 
}

DOT MARTİX NEDİR? ARDUİNO İLE NASIL KULLANIMI 26.05.2019


Dot Matrix Nedir?

  • Led (dot) matrixler çok sayıda ledin matris düzeninde yan yana ve alt alta dizilerek konumlandığı ekranlardır.

Dot Matrix Nasıl Çalışır? Çoklama(multiplexing) nedir?


  • Dot matrix çalışma şekli çoğu yönden 7-segment displayler ile ortak özelliklere sahiptir. 7 segment displaylerde göstermek istediğimiz rakamı oluşturmak için display üzerindeki belli ledleri yakmamız gerekir. Dot matrix için de buna benzer bir durum var. Matrix üzerindeki ledleri belli bir düzende yakarak istediğimiz karakteri oluşturmuş oluyoruz.

Bağlantı Şeması


KODUMUZ :


#include <LedControl.h> /
#define CLK 5
#define CS 6
#define DIN 7
#define MaxSayisi 1  

const long delay_suresi = 750; 

LedControl led = LedControl(DIN, CLK, CS, MaxSayisi);

byte images[][8] =
 {{
     0,          
     B01100110,
     B11111111,
     B11111111,
     B01111110,
     B00111100,
     B00011000
   },
   {
     B00111100,  
     B01000010,
     B10100101,
     B10000001,
     B10011001,
     B10100101,
     B01000010,
     B00111100
   },
   {
     B00111100, 
     B01000010,
     B10100101,
     B10000001,
     B10111101,
     B10000001,
     B01000010,
     B00111100
   },
   {
     B00111100,  
     B01000010,
     B10100101,
     B10000001,
     B10100101,
     B10011001,
     B01000010,
     B00111100
   }
 };
 void MatrixeYazdir(byte* ch)
 {
   for (int i = 0; i < 8; i++)
   {
     led.setRow(0, i, ch[i]);
   }
 }
 void setup()
 {
   led.setIntensity(0, 10);  
   led.shutdown(0, false);   
   led.clearDisplay(0);
 }
 void loop()
 {
 for (int j = 0; j < 4; j++)  
   {
     MatrixeYazdir(images[j]);
     delay(delay_suresi);
   }
 for (int i = 0; i < 15; i++) 
   {
     led.setIntensity(0, i);
     delay(100);
   }
 }

JOYSTİCK UYGULAMASI 26.05.2019


JOYSTİCK UYGULAMASI VE KODU 

AÇIKLAMASI :

Analog okuyucumuzu kullanarak kontrol devrelerini de yapabiliriz . Eğer örnek vermem gerekirse en büyük örneğim oyun çubuğu olur . Mesela playstation ya da bilgisayar için üretilmiş oyun kodlarımızdaki analog yönlendiricileri analogda ki geriliminin fijitale çevrilmesinin kuralına göre çalışmaktadır . Oyun oynarken bu bastığımız çubuklar sağ , sol , yukarı , aşağı gibi yönlerini belirlemek için kullanılsa da aslında asıl amacı X ve Y koordinatlarındaki veriyi hesaplarlar . Yani bunun amacı sadece 4 yöne değilde programa göre daha fazla yön elde edebilmemiz için kullanılır . Şu an da arduinomuz için kullanılan joystick uygulamasının kodunu vereceğim .Buradaki açıkladığım joystick oyun kollarındaki kullanılan parçaların yakınen aynısı gibi görünse de ayakları Arduino kartlarına bağlanmaya uygun bir biçime getirilmiştir . Devremizde GND kartın GND kısmına , VCC kartın 5V kısmına , VRx A0 ayağına , VRy A1 ayağına denk gelmek zorundadır . Aşağıdaki kodu tamamen yaptıktan sonra öncelikle X eksenini okuyup ekrana yazdırıp daha sonra ise Y eksenini okuyup ekrana yazdıracaktık bu durumun en sonunda ise değerleri ayırabilmesi için uzunca bir çizgi çekip sürekli olarak bu durumdaki kodları çalıştıracağız .  


KODUMUZ :

int xPin = A0 ;
int yPin = A1 ;
int butonPin = 2 ;

int xPozisyonu = 0;
int yPozisyonu = 0;
int butonDurum = 0;

void setup() {
Serial.begin(9600);
pinMode(xPin, INPUT);
pinMode(yPin, INPUT);
pinMode(butonPin, INPUT_PULLUP);

 }

void loop() {
xPozisyonu = analogRead(xPin);
yPozisyonu = analogRead(yPin);
butonDurum = digitalRead(butonPin);

Serial.print("X Pozisyonu: ");
Serial.print(xPozisyonu);
Serial.print(" | Y Pozisyonu: ");
Serial.print(yPozisyonu);
Serial.print(" | Buton Durum: ");
Serial.println(butonDurum);

delay(100);
}

TV KUMANDASI İLE ROBOT KONTROLÜ 26.05.2019

TV KUMANDASI İLE YAPILAN ROBOT KONTROLLÜ PROJE



IR sensörünün GND ve VCC uçlarını arduinomuzda bulunan GND ve 5V devre hattına iletiyoruz . Sinyal bacağını da 11.pine bağlıcaz . L298N’den gelen bağlantıları ise sıra ile 2 , 3 , 4 , 5. bacaklara bağlıcaz .


GEREKLİ MALZEMELER :


  • 1 adet arduino uno
  • 1 adet l298n motor sürücüsü
  • 1 adet IR sensörü
  • 1 adet kumanda
  • 2 adet robot ve arduino için pil
  • 1 adet robot kiti veya oyuncak araba



KODUMUZ  :


int RECV_PIN = 11;
int sagileri = 2;
int saggeri = 3;
int solileri = 4;
int solgeri = 5;

int itsONled[] = {0,0,0,0,0};

#define code1 2131

#define code2 2132

#define code3 2134

#define code4 2133

#define code5 2165

&nbsp;

&nbsp;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{

Serial.begin(9600);
irrecv.enableIRIn();
pinMode(sagileri, OUTPUT);
pinMode(saggeri, OUTPUT);
pinMode(solileri, OUTPUT);
pinMode(solgeri, OUTPUT);

}

void loop() {

if (irrecv.decode(&results)) {

unsigned int value = results.value;
switch(value) {

case code1:
if(itsONled[1] == 1) {

digitalWrite(sagileri, LOW);
digitalWrite(solileri, LOW);
digitalWrite(saggeri, LOW);
digitalWrite(solgeri, LOW);
itsONled[1] = 0;
}
 else
{
digitalWrite(sagileri, HIGH);
digitalWrite(solileri, HIGH);
digitalWrite(saggeri, LOW);
digitalWrite(solgeri, LOW);
itsONled[1] = 1;
}
break;
case code2:
if(itsONled[2] == 1) {
digitalWrite(sagileri, LOW);
digitalWrite(solileri, LOW);
digitalWrite(saggeri, LOW);
digitalWrite(solgeri, LOW);
itsONled[2] = 0;
}
 else
{

digitalWrite(sagileri, LOW);
digitalWrite(solileri, LOW);
digitalWrite(saggeri, HIGH);
digitalWrite(solgeri, HIGH);
itsONled[2] = 1;

}

break;
case code3:
if(itsONled[3] == 1) {

digitalWrite(sagileri, LOW);
digitalWrite(solileri, LOW);
digitalWrite(saggeri, LOW);
digitalWrite(solgeri, LOW);
itsONled[3] = 0;
}
 else 
{
digitalWrite(sagileri, LOW);
digitalWrite(solileri, HIGH);
digitalWrite(saggeri, HIGH);
digitalWrite(solgeri, LOW);
itsONled[3] = 1;
}
break;
case code4:
if(itsONled[4] == 1) {

digitalWrite(sagileri, LOW);
digitalWrite(solileri, LOW);
digitalWrite(saggeri, LOW);
digitalWrite(solgeri, LOW);
itsONled[4] = 0;
else 
{
digitalWrite(sagileri,HIGH);
digitalWrite(solileri, LOW);
digitalWrite(saggeri, LOW);
digitalWrite(solgeri, HIGH);
itsONled[4] = 1;
}
break;
case code5:
if(itsONled[5] == 1) {
digitalWrite(sagileri, LOW);
digitalWrite(solileri, LOW);
digitalWrite(saggeri, LOW);
digitalWrite(solgeri, LOW);
itsONled[5] = 0;
}
 else 
{
digitalWrite(sagileri,HIGH);
digitalWrite(solileri, HIGH);
digitalWrite(saggeri, HIGH);
digitalWrite(solgeri, HIGH);
itsONled[4] = 1;
}
break;

}
Serial.println(value);
irrecv.resume();
}
}

LED YAKIP SÖNDÜRME 26.05.2019


LED UYGULAMASI 


MALZEMELER :

  • 8 adet kırmızı LED
  • 8 adet 150 Ohm direnç


DEVRE TANIMI :

8 adet LED’i yakıp geri kapatacağımız için , 8 adet dijital portu (2 numaradan 9 numaraya kadar olan portlar) kullanmaktayız. Her bir portun ucuna bir LED’in anot ucunu (uzun bacağını) bağlıyoruz. Tüm LED’lerin katot uçlarına (kısa bacaklarına) ise, akımın sınırlandırılabilmes, için birer adet 150Ω'luk direnci bağlıyoruz. Her bir ayrı LED için ayrı bir direnç kullanmamız lazım . Arduino’dan sinyal geldiğinde LED ve direnç çiftleri üstünden akımın geçebilmesi için, dirençlerin dışarda kalan bacaklarını Arduino’nun toprağına (GND) bağlamalıyız. Eğer, LED’e bağlı portlardan birinden 5V gelirse yaklaşık 2V’u LED, geri kalan 3V’u ise direnç üzerinde olacaktır. Böylece LED yanarken üzerinden 3V/150Ω=20mA’lik bir akım geçmiş olur ve bu akım, LED’in parlak yanabilmesi için yeterli olacaktır .


KODUMUZ  :



void setup() {

pinMode(2, OUTPUT);// 2. dijital portu çıkış yap
pinMode(3, OUTPUT);// 3. dijital portu çıkış yap
pinMode(4, OUTPUT);// 4. dijital portu çıkış yap
pinMode(5, OUTPUT);// 5. dijital portu çıkış yap
pinMode(6, OUTPUT);// 6. dijital portu çıkış yap
pinMode(7, OUTPUT);// 7. dijital portu çıkış yap
pinMode(8, OUTPUT);// 8. dijital portu çıkış yap
pinMode(9, OUTPUT);// 9. dijital portu çıkış yap

}

void loop() {

digitalWrite(2, HIGH); // 2. dijital portu 1 yap
digitalWrite(3, LOW); // 3. dijital portu 0 yap
digitalWrite(4, HIGH); // 4. dijital portu 1 yap
digitalWrite(5, LOW); // 5. dijital portu 0 yap
digitalWrite(6, HIGH); // 6. dijital portu 1 yap
digitalWrite(7, LOW); // 7. dijital portu 0 yap
digitalWrite(8, HIGH); // 8. dijital portu 1 yap
digitalWrite(9, LOW); // 9. dijital portu 0 yap

delay(500);

digitalWrite(2, LOW); // 2. dijital portu 0 yap
digitalWrite(3, HIGH); // 3. dijital portu 1 yap
digitalWrite(4, LOW); // 4. dijital portu 0 yap
digitalWrite(5, HIGH); // 5. dijital portu 1 yap
digitalWrite(6, LOW); // 6. dijital portu 0 yap
digitalWrite(7, HIGH); // 7. dijital portu 1 yap
digitalWrite(8, LOW); // 8. dijital portu 0 yap
digitalWrite(9, HIGH); // 9. dijital portu 1 yap

delay(500);

}

NOT : delay(500)'ün anlamı ise yarım saate bekle demektir . 

ARDUİNO İLE YANGIN ALARM UYGULAMASI 26.05.2019

ARDUİNO İLE YANGIN ALARMI

Bu devrede basit elektronik aletlerini kullanarak yangın alarmın uygulamasını işleyeceğiz . Devremizde gerekli olan malzemeleri ve kodu yazacağız . Bu uygulamamızda yangınsırasında olan ısıyı düşüneceğiz ve onu ölçen bir sensör kullanacağız. Ölçüm esnasında sensörümüze bir eşik değeri yani sıcaklığın nereye kadar ulaşabildiğinde çalışması gerektiğini kod yardımı ile çözeceğiz .  Isı bu eşik değerini geçtiğinde ise gerek LED’leri gerekse Buzzer’dan çıkan sesleri  ile bizi uyaracak . Bu sayede çıkan yangınları duyacağız ve tedbirini önlemini alacağız .

MALZEMELER :

  • 1 X Arduino UNO
  • 1 X LM35
  •  2 X Led ( Kırmızı, Yeşil )
  • 2 X 330 Ω Direnç
  • 1 X Buzzer

KODUMUZDAKİ DEVRE  : 



<span style="font-family: verdana, geneva, sans-serif; font-size: 12pt;">int lm35_pin=A1;

int yesil_led=11;

int kirmizi_led=5;

int buzzer_alarm=2;

void setup()

{
 pinMode(lm35_pin,INPUT);

pinMode(yesil_led,OUTPUT);

pinMode(kirmizi_led,OUTPUT);

pinMode(buzzer_alarm,OUTPUT);

digitalWrite(yesil_led,HIGH);

}
 void loop()


float lm35_okunan_deger=analogRead(lm35_pin);

float analog_sicaklik=(lm35_okunan_deger/1023)*5000;

float dijital_sicaklik=analog_sicaklik/10.0;

if(dijital_sicaklik>50)

{
 tone(buzzer_alarm,300);

digitalWrite(kirmizi_led,HIGH);

digitalWrite(yesil_led,LOW);


else

{

 noTone(buzzer_alarm);

digitalWrite(yesil_led,HIGH);

digitalWrite(kirmizi_led,LOW);

}
}
</span>
<span style="font-family: verdana, geneva, sans-serif; font-size: 12pt;">int lm35_pin=A1;

int yesil_led=11;

int kirmizi_led=5;

int buzzer_alarm=2;

void setup()

{
 pinMode(lm35_pin,INPUT);

pinMode(yesil_led,OUTPUT);

pinMode(kirmizi_led,OUTPUT);

pinMode(buzzer_alarm,OUTPUT);

digitalWrite(yesil_led,HIGH);

void loop()

float lm35_okunan_deger=analogRead(lm35_pin);

float analog_sicaklik=(lm35_okunan_deger/1023)*5000;

float dijital_sicaklik=analog_sicaklik/10.0;

if(dijital_sicaklik>50)

{
 tone(buzzer_alarm,300);

digitalWrite(kirmizi_led,HIGH);

digitalWrite(yesil_led,LOW);

}
 else

noTone(buzzer_alarm);

digitalWrite(yesil_led,HIGH);

digitalWrite(kirmizi_led,LOW);

}
</span>

ANALOG VE SAYISAL SİNYALLER 26.05.2019


Analog Sinyaller

Sinyal uzay,zaman veya başka bir değişkene göre değişiklik gösteren fiziksel bir niceliktir. Analog sinyallerı tekrarlı bir zaman da ilerleyen ve zamana göre de değişken bir değer alan sinyaldir. Analog bir sinyal zamana göre sonsuz değer almaktadır. Analog sistemler ise analog bir sinyal ile işlem yapan fiziksel yapıdır.
Günlük yaşamımızda aktif olan tüm fiziksel olaylar ise zamana göre sonsuz bir değer aldığı için analogdur. Mesela sıcaklık birden bire 30 dereceden 31 dereceye çıkmaz. Bir eğri biçiminde sürekli olarak artarak en son ki dereceye ulaşmaktadır .

Sayısal Sinyaller Nedir?

Sayısal sinyaller ise analog sinyalleri gibi devamlı değillerdir. Belli bir zaman ya da uzay değişkeninin belli bir değerine göre bir değer alırlar. Sayısal sinyaller ile fiziksel olarak işlem yapan ortamlar ise sayısal sistemlerdir.Şu an ki yaşantımızdaki elektronik teknolojisinde sinyallerin bir çoğu sayısal olarak işlem görmektedir. Sayısal sistemlerin analog sistemlere göre bazı avantajları vardır. Bunlar da;
  • Sayısal devrelerin tasarımı daha kolaydır.
  • Sayısal sistemlerde bilgi saklaması kolaydır
  • Sayısal sistemler, analog sistemlere göre daha fazla istenilen sonucu verir. Birden çok sayısal devreyi birbirine bağlamak kolaydır.
  • Sayısal sistemler gürültüden etkilenmezler.
  •  Sayısal sistemler donanımı değiştirilmeden tekrar tekrar programlanabilir.
  • Sayısal sistemlerde hata ayıklamak daha kolaydır.


Analog ve Sayısal Sistemler

İnsanların işleyebildiği tüm sinyaller koklamak, görmek, işitmek, dokunmak analog sinyalleridir. Ama şu zamanımızda elektronik teknolojisi analog sinyalleri ile değil de sayısal sinyallerle çalışmaktadır. Bu durumda ise analog ve sayısal sistemleri aynı bölgede kullanmamız gerekir. Böyle bir sistem için de öncelikli olarak sinyallerin birbiri formuna dönüştürülmesi gerekir. Uzun lafın kısası analogdan dijital sinyale dönüştürme işlemimiz için :

  • Bir analog sinyal öncelikle küçük örneklem aralıklarına bölünür.
  • Her bir örneklem için o örneklem değerine denk gelen sinyal değeri alınır.
  • Bu sinyal değeri sayısal olarak kodlanır.


ARDUINO 27.05.2019

ARDUİNO DEDİĞİN NEDİR Kİ ? Arduino projelerimizde kullanabileceğimiz açık kaynak kodlu bir bileşendir. Arduino dediğimiz zaman aklımıza...